首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]请教个延迟的问题:

[求助]请教个延迟的问题:

请教个延迟的问题:

always

begin

    clk <= 1'b1;

    #8;

   clk <= 1'b0;

  #8;

end

可以产生周期的时钟信号吗?

<= 和 = 赋值的区别可以介绍一下吗?

"="是阻塞赋值,多用于不带时钟的always模块中,及assign中;
而"<="是非阻塞赋值,用于带时钟的always模块中,不能用于assign中.
"="相当于组合逻辑,"&lt;="相当于时序逻辑,

always

begin

   clk <= 1'b1;

   clk <= 1'b0;

end

的结果是clk = 0;

而 :

always

begin

  clk <= 1'b1;

  #8;

  clk <= 1'b0;

end

仿真结果就是一个周期为16单位时间的时钟信号,非阻塞语句赋值中有延迟语句的时候该如何分析。

非阻塞语句赋值不是应该同时赋值的吗?

回复:(rice973)[求助]请教个延迟的问题:

it's all right

仿真结果就是一个周期为16单位时间的时钟信号,非阻塞语句赋值中有延迟语句的时候该如何分析。

非阻塞语句赋值不是应该同时赋值的吗?

首先,#一般在测试中的testbench中使用,是用来仿真的语句,在实际电路中需要其他来实现。

非阻塞和阻塞的区别在于,前者是信号间加Dff,而后者为连在一起的wire。和是否同时赋值没有关系。具体可以看看《数字电路设计》中的非阻塞和阻塞的区别。

这个版主不太冷 =========================== 我的中电网博客:http://blog.chinaecnet.com/u/20/index.htm
返回列表