전공지식정리/디지털시스템설계

디자인 스타일 1. Structural design

TimeSave 2020. 12. 8. 21:00

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