Verilog HDL의 기본적인 문법 중 Blocking 과 Non-Blocking 있다.
Register 변수형에 대한 대입문
- Blocking 대입 : reg 변수 = 변수 or 식;
- Non-Blocking 대입 : reg 변수 <= 변수 or 식;
*Blocking
-----------------------------------------------------
//a=1 , b=2, c=3 가정
always @( posedge clk)
begin
a=b; // b=a=2
c=a; // c=a=b=2
end
-----------------------------------------------------
*Non- Blocking
-----------------------------------------------------
//a=1 , b=2, c=3 가정
always @( posedge clk)
begin
a<=b; // a=b=2
c<=a; // c=a(prior value)=1
end
-----------------------------------------------------
위와 같이 합성을 하면 Blocking 은 FF(Flip Flop)이 하나 생성되고,
Non-Blocking 은 FF이 두개 생성된다.
Blocking 합성
Blocking Simulation
Non-Blocking 합성
Non-Blocking Simulation
'[FPGA]' 카테고리의 다른 글
Verilog Basic Examples (0) | 2012.05.07 |
---|---|
verilog(벨릴로그)란 무엇인가? (0) | 2012.05.07 |
팬아웃(fanout)이란 무엇인가? (0) | 2012.04.21 |
[반도체] Wafer는 왜 원형일까? 반도체 생산과정 (0) | 2012.04.14 |
설계에 있어서 고려해야 할 타이밍 문제 (0) | 2012.04.12 |