본문/내용
부울대수의 간소화(2) : Verilog HDL code 이용
1.실험 목적
- 부울대수를 verilog HDL의 형태로 표현하는 방법을 이해한다.
- verilog HDL code로 Quartus2를 이용하여 합성하고 Programming 하는 방법을 이해한다.
2. 기본 이론
Verilog HDL은 전자 회로 및 시스템에 쓰이는 하드웨어 기술 언어이다. 회로 설계, 검증, 구현등 여러 용도로 사용할 수 있다.
C언어와 비슷한 문법을 가져서 사용자들이 쉽게 접근할 수 있도록 만들어졌다. `if`나 `while` 같은 제어 구조도 동일하며, 출력 루틴 및 연산자들도 거의 비슷하다. 다만 C언어와 달리, 블록의 시작과 끝을 중괄호 기호 대신 begin과 end를 사용하여 구분하고, HDL의 특징인 시간에 대한 개념이 포함되었다는 것 등 일반적인 프로그램과 다른 점도 많이 있다.
Verilog HDL의 특징
1. Verilog HDL은 배우기 쉽고 사용하기 쉬운 일반 목적 하드웨어 표현 언어이다. 그 문법은 C 프로그램 언어와 유사하기 때문에 C 프로그램에 경험이 있는 설계자라면Verilog HDL을 배우는데 별 어려움이 없을 것이다.
2. Verilog HDL은 하나의 동일한 회로 모델 안에서 서로 다른 추상화 수준을 섞어 사용 할 수 있게 허용한다. 그러므로 설계자는 스위치, 게이트, RTL 또는 행위 수준의 코드를 섞에서 하드웨어를 모델링 할 수 있다. 또한 설계자는 스티뮬러스와 계측적 설계를 위해 단 하나의 언어만을 배우면 된다.
3. 대부분의 대중적인 논리 합성 도구들이Verilog HDL을 지원한다. 이것은 곧 설계자들이Verilog HDL을 선택하게 만들었다.
4. 모든 제작업체들이 후반기 논리 합성 시뮬레이션을 위한 Verilog HDL 라이브러리를 제공한다. 그러므로 Verilog HDL로 칩을 설계하는 것은 충분히 넓은 범위에서 제작업체를 선택할 수 있게 한다.
5. Verilog HDL의 PLI(Programming Language Interface)는 Verilog 내부 데이터 구조와 상호 작용하는 사용자 C 코드를 쓸 수 있게 하는 막강한 특징이다. 설계자는 PLI를 이용해 그들의 필요에 맞도록 Verilog HDL 시뮬레이터를 조정할 수 있다.
…
1) 대문자와 소문자를 구분하며 예약어는 반드시 소문자를 사용한다.
2) 주석문(설명문)은 //로 시작되며 그 줄이 끝날 때 까지 주석문이 된다.
3) 문장의 마지막은 세미콜론(;)으로 끝난다.
4) Verilog HDL을 사용하는 변수, 모듈이름, 함수 이름, 인스턴스 이름들은 다음과 같은 규칙을 사용해야 한다.
달러($)등을 사용할 수 있다.
ex) ABC(O), _AB(O