본문 바로가기
개발 Tools/Verilog HDL

HDL의 특징 ( 병렬성, 종류, 컴파일, 장점, tri-state, pull-up, pull-down)

by 전컴반 2022. 2. 8.
반응형
HDL = Hardware Description Language 

 

HDL의 종류에는 verilog, VHDL 두 가지가 있다

 

프로그래밍 언어가 아니라는 것을 인지해야 한다.

HDL을 설계할 때는, 회로를 염두해 두고 작성해야 한다. 프로그래밍적 사고로 접근하면 어렵다.

프로그래밍과 가장 큰 차이는 순차적 실행이 아니라 병렬적 실행이라는 것이다.

 

z[3]<=a[3]+b[3];
z[2]<=a[2]+b[2];
z[1]<=a[1]+b[1];
z[0]<=a[0]+b[0];

저작권침해의사없음

 

위와 같은 코드가 만약 C언어 같은 프로그래밍 언어라면, 순차적으로 실행됐을 것이다. 

하지만 HDL은 동시에 수행하는 것을 알아야 한다. 그림을 보면 느낌이 올 것이다. 

 

Compile 

 

컴파일에 차이가 존재한다. 순서는 아래와 같다.

 

프로그래밍 언어의 컴파일은

source -> compile -> 실행파일

 

HDL의 컴파일은

source -> compile -> simulation -> 합성 (synthesis) -> Hardware

 

컴파일 과정중에 합성을 좀 더 보면 합성 ( synthesis )이란,

- RTL 수준의 HDL 코드를 게이트 수준으로 변환하는 과정이다. 이때 제한 조건 ( Constrain )과 Target library의 조건을 고려하여 합성한다

 

제한 조건

- 목표하는 스펙이다. 예를 들어, 동작 주파수, 면적, 클럭의 사양, 규칙 등등이 있다

 

Target library

- 어떤 게이트들의 구성으로 사용할 것인지 정하는 것이다. 특정 회사의 FPGA 디바이스 또는 셀 라이브러리를 정하는 것이다.

 

합성에 성공하면 나오는 결과를 Gate-level Netlist라고 한다. 거미줄처럼 회로가 얽혀있다고 하여 이렇게 부른다

 

HDL의 장점

 

설계 시간의 단축
- 설계 오류 수정이 용이
- 합성에 의한 회로 생성과 설계 변경이 용이


설계의 질 향상
- 광범위한 하드웨어 기술 능력, 상위 수준의 설계 가능
- 다양한 설계 기법에 의한 최적화 도달
- 선택적 최적화 기법


특정 설계 기술이나 공정과 무관한 설계
- 특정 ASIC 제조 업체 및 구현 기술과 무관한 설계 가능
- 다른 라이브러리 이용한 합성
- 신속한 하드웨어 원형화(prototyping) 가능

 

낮은 설계 비용
- 설계 생산성 향상
- 설계 비용의 감소
- 설계 자산의 재사용

 

표준 HDL 및 사용자의 확대
- IEEE 표준인 동시에 미국 정부의 공인 HDL
- 전 세계적으로 설계 및 설계 정보 교환의 수단


효율적인 설계 관리
- 전체 설계의 기능별 분할 설계, 설계 관리, 문서화 용이

 

 

논리 값 종류

 

기본적으로 0, 1이 존재하는데 2가지 추가 논리 값이 존재한다.

 

Tri-state

- 제3의 상태라고 하며 z라고 표시한다. high-impedance ( disconnected ) 즉. 아무것도 연결된 것이 없는 걸 말한다.

en이 0이면 다 끊어져서 z가 출력된다.

 

저작권침해의사없음

 

Unknown (또는 Don't care)

- x라고 표시하며 뭐가 출력될지 모르는 상태를 말한다. 예로는 아래와 같은 경우가 있다. 

 

저작권침해의사없음

Pull -

 

Pull-up

- 전원 쪽으로 연결할 때, Vcc, 보통 저항을 같이 달아준다. (N)AND게이트에 자주 사용한다.


Pull-down

- 접지 쪽으로 연결할 때, Vdd, (N)OR 게이트에 자주 사용한다

반응형

댓글