找回密码
 注册
关于网站域名变更的通知
查看: 317|回复: 1
打印 上一主题 下一主题

程序问题分析解决方案分享

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-6-4 07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

, Z$ J& U; N1 A" O! p' V. l, j+ H

程序问题分析解决方案分享

刚入门的朋友编写了一个简单的程序,出现如下问题:

  module blocking(" z1 Y% K7 `# k
                 din,      //数据输入信号0 w0 q  O7 f. s1 W- @- @2 {' O
                 dout      //数据输出信号/ A, y" N; V+ _( Z4 E* c8 |
                );
3 j* l' }+ I! f& o% e  Y4 R  input          din;% K3 p- u9 l1 W$ k! Z% g
  output         dout;
- G# T; i. W2 P: T; v  
& C* |' }4 q: }8 T! _/ }( ~  wire           din;
9 ~7 s! e6 M2 Q  reg            dout;     //数据缓冲
$ P4 T! [) S+ l  e  reg    [1:0]   temp;       Y  _" x7 M$ E
  
. b& z. C) o6 B( z! f# }  always  @(din)9 m% K, ^" ~) g* ?! ?* e" ]& F- N
  begin
' b. \' G; U1 D$ M; F     
% O( a# I6 ?' @! ^7 {! H3 F   dout=temp[1];: N( Q4 W7 T+ p7 |* l9 W" t! p" ?
     temp[0]=din;
5 s/ i: E( a" w3 C- j: n     temp[1]=temp[0];  3 L5 ]8 R7 ]) H  }
  endmodule                 
3 ^; N3 u& B* L' ~, J$ ZWarning (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


2 O, ]& U+ m# U0 k: ^

程序编译完全通过,出现警告。

警告的意思:变量temp 在always 语句中总是读,但是没有在always的敏感变量中。

# X- r/ ~3 V" O

解决方案:always  @(din,temp)


- m. o# T, C2 T( O1 n6 m0 m8 [

always模块要求所有的敏感变量都要出现在@后面,避免锁存器出现!

7 C  L4 e# w' o" i# l- A. T

该用户从未签到

2#
发表于 2019-6-4 17:37 | 只看该作者
thanks for sharing
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-10 11:42 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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