VHDL 이 나의 생각엔 구조나 사용법이 개발에 사용하는데 크게 무리는 없어 보이는데,
꼭 하나 걸리는 것은 C언어등에서 쓰이고, 물론 verilog 에서는 당연히 지원하는 #ifdef 과 같은 conditional compiler을 하기 위한 문법을 지원하지 않는 것이 가장 불편한 듯 하다.
여기저기 조사해 본 바로, 직접 지원하는 것은 없는 것으로 보여..또 삽질로..ㅜㅜ
그래도 완전 삽질은 조금 그렇지 ^^
조금 불편해도 이렇게는 쓸수 있을 듯..
바로 GNU C compiler등에서 제공되는 Pre-compiler를 통해 가능할듯
아래 그림과 같이, 왼쪽의 vhdl src는 오른쪽의 소스에서 pre-compiler를 통해 만들어진 것이다.
보다시피..#define, #ifdef 등을 사용한 소스가 자동으로 왼쪽과 같이 깜쪽같이 바뀌네..
마법의 키는 C pre-compiler 이다. 실행파일의 이름은 cpp.exe
어떻게 구해서 쓰느냐인데, 여기저기 보기도 구찮고, 일단 가장 쉬운 MinGW + GNU toolkit을 설치해 버린다.
일단, 아래 실행파일은 걍 실행한다. (쉽지만, 설치법은 http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite 참고)
걍 무조건 "예" 하고, 설치후에 "/설치디렉토리/bin"을 Path에 추가하기만 하면 끝난다.
그럼 준비 끝..
그럼 이제 위 그림의 오른쪽 처럼 맘대로 #ifdef등을 사용하여 소스를 작성한다. 여기선 test.vpp로 저장했다고 보자.(확장자는 암꺼나 해도 무방)
작성후엔 요렇게만 해주면 끝..
cpp.exe -P test.vpp test.vhd
(주의 option -P는 꼭 Large P로 사용하도록, 꼭 ^^)무튼,이렇게나마 conditional compile 이 가능한 것처럼 사용할 수는 있게 되었당~~~~ㅎㅎ
Makefile을 이용하면 좀더 많은 파일을 쉽게 자동화 해서 바꿔서 활용할 수 있겠지..ㅋㅋ
그럼 요까이
..^O^..wiznXt..
'IT' 카테고리의 다른 글
[Bookmark] 아바타 만들어보기.. (0) | 2010.04.06 |
---|---|
[hdl] verilog 에서 explicit data type 으로 사용하기 (0) | 2010.03.08 |
[Computer 컴퓨터] 각종 단위 호칭, SI Prefixes, 이 클럭은 몇 나노일까? (0) | 2010.02.16 |
[Util] WinMerge 파일비교 툴 (1) | 2010.02.12 |
[util] 화면 캡쳐 프로그램 (0) | 2010.02.09 |