微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog中的延时问题

verilog中的延时问题

时间:10-02 整理:3721RD 点击:
verilog中的延时(#time)是不可以综合的,但是下面的代码中的延时却是有作用的,怎样解释?
module ver(
          //output
          out1,
          out2,
          //input
          a,
          b
          );
  output out1;
  output out2;
  input  a;
  input  b;
  
  reg out1;
  reg out2;
  
  always @(a or b)
    begin
      out1=a;
      #10 out2=b;
    end
endmodule

It's just for RTL level dynamic simulation, and it will be ignored by synthesizer

仿真的时候延时都是有用的,综合的时候延时就会被忽略掉...

虽然功能上#10是有效的,而且不可忽略!但是综合成电路的时候,#10应该是没有对应的电路的!

#10 是不可综合的语法

这是用来仿真的

#可以仿真,不可综合

可编译,可仿真,但被综合其忽略。综合后用生成的网表和SDF做个后仿真,就发现差别了

这是告诉你接口信息,相对于模拟实际的输出情况

仅用于仿真,实际中延时需要靠走线 或实际的逻辑单元

可以这么写,综合时会被忽略

看了大家的回帖,学习到不少东西啊

仿真专用的

顺便说一句:回去记得看书

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top