Verilog HDL(Hardware Description Language) is a C-like language -with some Pascal syntax-used to model a digital system at many levels of abstraction from a logic gate to a complex digital system to maintain frame computer.
-하나의 동일한 회로 모델안에서 서로 다른 추상화 수준을 섞어서 설계 가능.
-모든 제작 업체들이 후반기 논리합성 시뮬레이션을 위한 Velilog HDL 라이브러리를 제공.
-Verilog HDL의 PLI(Programming Language Interface)는 Verilog 내부 데이터 구조와 상호 작용하는 사용자 C코드를 사용가능
FPGA(Field programmable gate array)는 일반적으로 ASIC(주문형 반도체)(Application specific Integrated Circuit) 대용품보다 느리고, 복잡한 설계에 적용할 수 없으며, 소비전력이 크다. 그러나 개발시간이 짧고, 오류를 현장에서 재수정할 수 있고, 초기 개발비가 저렴하다는 장점이 있다. 제조사는 설계 이후에 수정할 수 없도록 할당된 덜 유연한 FPGA 버전으로 싸게 팔 수 있다. 이런 설꼐개발은 일반적인 FPGA에서 만들었고 좀더 ASIC와 비슷한 고정된 버전으로 변경되었다. CPLD(복합 프로그래머블 논리소자)는 비슷한 역할을 할 수 있는 소자이다.
VHDL V: VHSIC(Very High Speed Integrated Circuit) HDL: Hardware Description Language
Velilog의 논리값
0: low, false, logic low, ground 1: high, true, logic high, power
X: unknown (logical conflict) Z: disabled or disconnected driver, high-Impedence state.
설계 방법론 ex) 4-비트 리플캐리 카운터
top-down 설계 방법; 카운터 기능 정의- T-f/f으로 카운터 구현- D-f/f으로 T-f/f 구현 bottom-up설계 방법: D-f/f으로 T-f/f구현- T-f/f으로 카운터 구현- 카운터 동작.
Module- 기본 설계 블록, VHDL에서 Architecture에 해당, 포트 인터페이스(입,출력)을 통해서 상위 수준의 블록에 필요한 기능제공.
인스턴스(Instance)- 모듈템플릿으로부터 생성된 객체. 모듈은 실제 객체를 만들 수 있는 템플릿을 제공. 모듈 호출 시 Velilog는 템플릿으로부터 고유한 객체 생성. 객체는 이름, 변수, 파라미터, 그리고 입출력 인터페이스를 가짐. 모듈 템플릿으로부터 객체를 생성하는 것을 파생(Instantiation). 파생된 객체가 인스턴스.
시뮬레이션 요소- Stimulus 블록: test bench 설계블록을 파생.
데이터형 레지스터: 값을 저장할 수 있는 변수, f/f에 의한 하드웨어 레지스터와 혼동하지 말 것. 다른 논리값이 들어오기 전까지 값을 유지.
벡터 wire a; wire[7:0] bus //8비트 버스
reg [0:40] clock //41비트 버스
배열 예시- Integer count[0:7]; //8count 변수의 배열
reg bool[31:0]; //32 1-bit bool 레지스터 변수의 배열
time chk_point[1:100] //100 time sheckpoint 변수의 배열
reg [4:0] port_id[0:7] //8 port_id(5-bit폭)의 배열
integer matrix[4:0][4:0] //다차원 배열은 불법
------------
내가 어디까지 이해 했는가능 보여주고, 어디 까지 실험해 보았다를 보여주는거 정말 중요.
'Soc & Microprocessor A+' 카테고리의 다른 글
디지털 논리회로를 배우는 이유는 무엇인가? (0) | 2015.04.20 |
---|---|
[1]Microprocessor (0) | 2015.04.18 |
[5]Module and Port (0) | 2015.04.18 |