반응형
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
반응형
'공부 기록 > 회로설계' 카테고리의 다른 글
[Verilog] reg vs wire - reg와 wire의 차이점 (0) | 2022.05.05 |
---|---|
[Verilog] Blocking Assignment vs Non-Blocking Assignment - 베릴로그 절차형 할당문의 종류 (0) | 2022.04.21 |
[Verilog] Continuous Assignment vs Procedural Assignment - 베릴로그 연속 할당 vs 절차형 할당 (0) | 2022.04.21 |
조합 논리회로 vs 순차 논리회로 - Combinational vs Sequential Logic Circuit (0) | 2022.04.03 |
플립플롭과 래치의 공통점과 차이점 - FlipFlop vs Latch (0) | 2022.04.03 |