集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 4190|回复: 12

求助,我是入门级别

[复制链接]
guojun 发表于 2010-11-5 15:40:59 | 显示全部楼层 |阅读模式
非常简单的程序;
module blocking(
                 din,      //数据输入信号
                 dout      //数据输出信号
                );
  input          din;
  output         dout;
  
  wire           din;
  reg            dout;     //数据缓冲
  reg    [1:0]   temp;     
  
  always  @(din)
  begin
     
   dout=temp[1];
     temp[0]=din;
     temp[1]=temp[0];  
  endmodule                 
Warning (10235): Verilog HDL Always Construct warning at blocking.v(15): variable "temp" is read inside the Always Construct but isn't in the Always Construct's Event Control
这个Warning 是什么意思啊,怎么解决?
njithjw 发表于 2010-11-6 22:17:52 | 显示全部楼层
always 进程里面的信号变量没有放进行信号的敏感列表。

可以试着改成下面的
always  @(*)
或者
always  @(din or temp)
liyujie 发表于 2010-11-8 10:29:38 | 显示全部楼层
用非阻塞赋值看一下
weibode01 发表于 2010-11-14 09:35:31 | 显示全部楼层
endmodule 前不应该有个 end吗、、、、、、
weibode01 发表于 2010-11-14 09:38:14 | 显示全部楼层
不行,我帮你试了,用非阻塞也是会有那个警告,可能不是大问题吧,如果仿真出来的波形跟你想像中的是一样的。。。求高手
247891933hao 发表于 2010-11-18 22:11:31 | 显示全部楼层
module blocking(
                 din,      //数据输入信号
                 dout      //数据输出信号
                );
  input          din;
  output         dout;
  
  //wire           din;//可以省掉 默认的数据类型位wire
  reg            dout;     //数据缓冲
  reg    [1:0]   temp;     
  
  always  @(*)
  begin
     
   dout <= temp[1];
     temp[0]<=din;
     temp[1]<=temp[0];  
     end//you forget it
  endmodule
weibode01 发表于 2010-11-20 00:37:21 | 显示全部楼层
楼上正解啊。。。
 楼主| guojun 发表于 2010-11-21 09:06:41 | 显示全部楼层
感谢,            感谢。
weibode01 发表于 2010-11-22 11:00:39 | 显示全部楼层
呵呵,要仔细看程序
395170771 发表于 2010-11-23 12:55:55 | 显示全部楼层
学习了,很好
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-22 23:47 , Processed in 0.198451 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表