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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
. H" L9 r3 U+ [- T8 B& |9 k

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

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

  module blocking(
  X: y. ~% u7 H3 Q) z% U& X                 din,      //数据输入信号% `3 C. g% W5 i
                 dout      //数据输出信号9 G. J1 O7 o- Q9 K! P8 j- U- j
                );/ u8 b2 n( O5 R  D. g" P
  input          din;
) b# S" U  O% ^  output         dout;
. V& g) r1 M7 _" l; l: B0 L  9 S. N/ @3 H( w0 v
  wire           din;4 h* ?: @# `1 ^% N; y
  reg            dout;     //数据缓冲9 E8 S% C. O  y) f0 h
  reg    [1:0]   temp;     9 k5 _( i# L8 e2 U
  2 Y5 R6 T2 ?3 D) S' _
  always  @(din)) c6 W) r3 h/ g0 H4 |
  begin. ?# }+ i& K( ~% u
     8 {- l4 L: z& o; Q- [) L
   dout=temp[1];
+ T' @, s& A1 T+ E- |# ?- l& T     temp[0]=din;6 _$ X$ J- x+ R6 b
     temp[1]=temp[0];  
9 \, {9 b' i( a- ~2 G" ~  endmodule                 + i+ t9 S# {2 ^  L, x5 N, }
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

" i) ~* [* `1 K" a- m; e  w

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

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


8 W! C1 i# Z* P% d5 w, w  y

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

! z1 B, ]2 A. O& o" _! w

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

$ K8 Y$ o  Z6 W! i  T

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-16 08:04 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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