HDL
IT 위키
- HDL; Hardware Description Language; 하드웨어 기술 언어
- 디지털 회로의 구조와 동작을 텍스트로 기술하는 언어
회로도를 그리는 대신 코드로 회로를 적고, 합성(Synthesis) 도구가 이를 실제 게이트 연결로 바꾼다. ASIC·FPGA 설계의 표준 수단이다.
- 동시성이 기본이다. 기술된 문장들이 순차적으로 실행되는 것이 아니라 회로로서 동시에 동작한다
- 시간 개념이 언어에 들어 있다. 클록, 지연, 이벤트를 직접 다룬다
- 합성 가능한(Synthesizable) 구문과 시뮬레이션 전용 구문이 구분된다
| 언어 | 표준 | 특징 |
|---|---|---|
| Verilog | IEEE 1364 | C 문법과 비슷해 배우기 쉽다. 산업계에서 널리 쓰인다 |
| VHDL | IEEE 1076 | Ada 계열. 타입이 엄격하고 서술이 장황하다. 국방·항공 분야에서 선호 |
| SystemVerilog | IEEE 1800 | Verilog 확장. 검증(Verification) 기능이 대폭 강화됐다 |
| SystemC | IEEE 1666 | C++ 라이브러리. 시스템 수준 모델링 |
- 동작 수준(Behavioral) : 알고리즘으로 기술. 합성이 안 될 수도 있다
- RTL(Register Transfer Level) : 레지스터 사이의 데이터 흐름으로 기술. 합성의 기준이 되는 수준
- 게이트 수준(Gate) : AND·OR 등 기본 게이트의 연결
- 스위치 수준(Switch) : 트랜지스터 단위
- HDL 로 설계 기술
- 시뮬레이션으로 기능 검증
- 합성(Synthesis) — 게이트 수준 넷리스트 생성
- 배치·배선(Place & Route)
- 타이밍 검증 후 ASIC 제작 또는 FPGA 다운로드
