Blog | Tag | Local | Guest | Login | Write |  RSS
 HDL(Hardware Description Language)은 여러종류가 있다.
 Verilog HDL, VHDL, SFL 등등. 그 중 Verilog HDL을 많이 사용하고 있다.
 장점을 살펴보면 다음과 같다.
(1) C언어를 기초로 한 문법이며, 기술이 간단
(2) 문장과 연산자 등이 C언어와 거의 비슷하기 때문에, 배우기가 쉽다.
(3) 처음 시뮬레이션용 언어로 만들어졌기 때문에, 시뮬레이션 언어능력이 좋다.
(4) 언어체계가 단순하기 때문에 시뮬레이터가 고속이다.

 Verilog HDL를 사용하여 간단한 논리회로를 설계해 보면
 어떠한 기능을 가지는 하나의 로직을 모듈이라고 정의하고 "module"~"endmodule"안에 있어야 한다. 모든 문장은 세미콜론으로 끝내고, "end~"로 시작하는 예약어에는 세미콜론을 사용하지 않는다.

module 모듈이름 (포트목록);
    포트선언;
    레지스터 선언;
    와이어 선언;
    파라미터 선언;

    회로기능 표현;
        원시적인 연산자 또는
        assign문(조합회로표현)
        function문(조합회로표현)
        always문(순차회로표현)
        하위 모듈 호출 등.
endmodule (세미콜론 없음)

 모듈이름은 영문자와 언더바("_")로 시작 할 수 있으며 대문자와 소문자를 구별하므로 주의한다.

 위의 방법으로 간단한 모듈을 설계하는 2가지 예를 들어보면
1. 게이트 연산자를 이용한 경우
/* H_ADD */
module H_ADD (X, Y, C, S);
    input X, Y;
    output C,S;
        and U1 (C, X, Y);
        xor U2 (S, X, Y);
endmodule

2. 연속 할당 문을 이용한 경우
/* H_ADD */
module H_ADD (X, Y, C, S);
    input X, Y;
    output C,S;
        assign C=X&Y;
        assign S=X^Y;
endmodule