공부 기록/회로설계

[HDL] Behavioral Model vs Structural Model

tomatt0 2022. 4. 6. 13:32
반응형

HDL을 사용하여 하드웨어 설계를 할 때 크게 behavioral model과 structural model이 있다.

 


1. Behavioral Model

" 모듈이 어떻게 동작하는지를 기능위주로 설명하는 모델 "

Always block을 사용하여 구현한다.

 

(예시)

always @ (PS or X)	// Combinational Circuit
begin	// Implements state table
	// Output and Next States
end

always @ (posedge CLK) 	// State Register
begin
	State <= NextState; // at rising edge of clock
end

 


2. Structural Model

" 기존에 이미 설계된 모듈들을 가져와 모듈끼리 연결하여 동작하는 모델 "

Gate level이며 주로 상위의 설계물을 설계할 때 사용된다.

 

(예시)

module ShiftReg(D, CLK, Q);	// DFF module을 사용하여 structural model로 구현한 Shift Register
input D;
input CLK;
output Q;
reg Q;
wire Q1, Q1N;

DFF U1(D, CLK, Q1, Q1N);	// Module Instantiation
DFF U2(.D(Q1), .CLK(CLK), .Q(Q), .QN());	// Module Instantiation

endmodule

 

module DFF(D, CLK, Q, QN);	// D FlipFlop을 구현한 모듈
input D;
input CLK;
output Q;
output QN;
reg Q;
reg QN;

assign QN = ~Q;

initial begin
    Q = 1'b0;
    QN = 1'b1;
end

always @(posedge CLK) begin
	Q <= #10 D;
end
endmodule

 

반응형