5.3.2 디자인 스타일 3가지
1. Structural design
2. Dataflow design
3. Behavioral design
5.3.3 구조적 디자인(Structural design)
5.3.3.1. component 구문(component statement)
: 정의된 enitity를 초기화 한다.
-> 선언방법
선언방법, component - (signal) - end component
5.3.3.2. 인스턴스화(instantiation)
- 2.1 portmap 구문 : portmap구문을 통해 instantiation을 한다.
- 위키에 따르면, Object를 생성하는 것이 instatiation이다.
=> instantiation n.Creation of an object (a location in memory having a value and possibly referenced by an identifier)
instantiation 방법, port map구문
port map구문을 통해 한번에 instantiation(실체화)을 해준다ex) 이 부분은 공부하고 수정port map(signal1, signal2, ...)를 통해서 signal을 만들어주거나port map(port1 => signal1, port2 => signal, .. )로 signal을 만듦.
ex) Prime - number detector(소수 판단기?)
예제 해설)
- U1 은 INV라는 component를 사용한다.
INV는 STD_LOGIC으로 입력받고, STD_LOGIC로 출력한다.
외부의 N3신호(entity에서 선언)를 입력받아서, N3_L로 출력한다.
- U4는 AND2라는 component를 사용한다.
내부신호 N3_L과 외부신호 N0를 입력받고, N3L_N0를 출력한다.==> 사용한다는 표현이 적절한지 모르겠다.
5.3.3.3. generate statement : generate 구문.
; 반복구조가 필요할 때 사용한다.
=> 주로 loop 돌릴 때
X1,Y1 ~ X8, Y8을 instantiation 해줬다.(portmap 구문)
예제 해설) 위의 begin ~ end 구문처럼 돌리면U1 ~ U8까지 만들어지고,각각 INV 함수로 X1 ,Y1 ~ X8, Y8로 생성되는 것으로 기억하는 데, 나중에 해보고 수정하겠음.
5.3.3.4. generic 구문
; parameter의 instantiaton을 변경할 수 있게 하는 부분.
[lets you to leave some parameters configurable at instanti
ation]
configurable adj. 설정가능한.
- component에 generic선언을 통해 WIDTH를 정의해 주었다.
- 먼저, WIDTH에 8을 대입해서, port 를 X7,Y7 부터 X0,Y0를 선언
- begin ~ end부분에 portmap구문을 통해
전체 입출력(IN8, OUT8)과 연결시켜 준다.
- 같은방식으로, IN16/OUT16, IN32/OUT32의 enitity에
component port를 연결해준다.
entity에 generic을 선언해 주면, architecture에서 이 문자를 읽어서 참고해준다.
출처
1. Digital Design: Principles and Practices, Fourth Edition, John F. Wakerly
2. KOCW. 디지털시스템설계. 아주대학교. 양회석. http://www.kocw.net/home/search/kemView.do?kemId=1145013
'전공지식정리 > 디지털시스템설계' 카테고리의 다른 글
VHDL 코드 개념, 구조 (0) | 2020.12.08 |
---|---|
4. Timing과 Simulation (0) | 2020.12.08 |
디자인스타일 3. Behavioral design (0) | 2020.12.08 |
디자인스타일2. Dataflow Design (0) | 2020.12.08 |
1.HDLs (0) | 2020.12.07 |