전체 글
-
Eclipse 실행 시, "JVM terminated. Exit code=13" 에러 해결하기Tech/Computer 2012. 5. 24. 03:09
Linux 머신에서 쓸 용도로 Eclipse를 설치하였더니, 아래와 같은 에러 메시지를 출력하면서 실행되지 않았다. 오라클 홈페이지에서 JAVA 가상머신을 깔았는데도 불구하고! 이 문제는 Eclipse가 요구하는 자바 버젼과, 현재 참고하고 있는 자바 가상 머신의 버젼이 다르기 때문이다. "오라클 홈페이지에서 최신 버젼 JAVA 를 다운로드받아 설치했는데? 뭐가 문제일까?"하고 생각하는 사람이 있다면, 바로 그 "최신버젼"이기 때문에 문제다. Linux Eclipse에서는 최신 버젼이 필요한게 아니라, 정확히 eclipse가 원하는 "바로 그 버젼"이 필요하다. eclipse가 원하는 자바 버젼은 eclipse 경로 내에 있는 eclipse.ini라는 파일을 열어보면 된다. (혹은 위 에러 메시지에서도 ..
-
Verilog : parameter가 선언된 module은 합성 할 때 template을 명시하자Tech/Verilog 2012. 5. 22. 01:38
Verilog를 배우기 시작하면, 처음 얼마간은 C/C++나 Java 등 프로그래밍 언어처럼 접근해서 사용하며 친숙해지겠지만, 본격적인 반도체 설계에 들어간다면 Synthesis 과정 등을 위해 고려해야할 점이 더 많아진다. 특히, Synopsys 사의 Design compiler에만 적용되는 몇가지 Verilog keyword 들이 있는데 (// 주석을 이용한 pragma 등) module의 선언에 흔히 사용되는 parameter도 특정 pragma가 필요하다. Tool에 의존적인 키워드이기 때문인지 Verilog 강의 등에 포함하여 설명하는 곳이 거의 드문데, 이 때문에 직접 합성을 하다 삽질하는 경우가 빈번하다.아무튼, Parameter를 이용하여 선언된 module이 전체 합성되는 Verilog ..
-
Verilog : case문 사용 시, parallel_case 선언 이해하기Tech/Verilog 2012. 5. 21. 17:31
case와 if는 연속된 조건문을 비교한다는 관점에서 보면 그 기능이 동일하다. 특히, Verilog에서는 C/C++의 switch-case문과 달리 break 등을 따로 기술하지 않으므로 기능이 완전히 동일하다고 볼 수 있다. 예를 들어보자. 아래의 두 module은 기능적으로 동일하다. module interrupt_decode4 (output reg somthing, input [3:0] irq ); always @* begin if (irq[0]) do interrupt 0 else if (irq[1]) do interrupt 1 else if (irq[2]) do interrupt 2 else if (irq[3]) do interrupt 3 end endmodule module interrupt..