latch的产生

避免意外生成锁存器
   使用always块生成组合逻辑电路时,如果变量所有可能的取值没有被考虑完全
   ,那么综合后可能会出现锁存器。如下面代码所示: 

module latch_test
(
 a,b,d,
 c);
input  [1:0]  a,b,d;
output [1:0]  c;
reg  [1:0]  c; always @ (*)
 begin
  if(a<b)
   c=d;
 end
endmodule 这个例子中,给出了a<b条件为真时c的取值d,没有说明a>b时c取什么值,综合工具会认为a>b时c保持原来的值不变,这样综合后电路出现锁存器。如下图所示。 避免锁存器产生方法是给变量赋初值,或者考虑所有情况。代码如下: always @ (*) begin c=0; fi(a<b) c=d; end   latch的产生latch的产生
上一篇:用CSS实现分页符


下一篇:美语初级 L055:More Is Not Always Better