在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2976|回复: 4

关于锁存器的问题3

[复制链接]
发表于 2005-6-27 21:14:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我的程序如下:
module new(out,in,enable ,dsp);
output[0:7] out;

input[0:7]  in;
input enable;
output dsp;
reg[0:7] out;
reg dsp;
reg[0:7] in1;

always @(in )
     
         dsp = !(in[0] | in[1] |in[2]|in[3]|in[4]|in[5]|in[6]|in[7] );
always @( dsp or in)
       if(!dsp)
        in1 = in;
always @(  enable or in1)     
          if( !enable )  

             out = in1;
            
           else           
            
             out = 8'bzzzzzzzz;
endmodule
编译能通过,但出现下面一个warning,请问如何解决?
@W: CL118 :"D:\cpld\verilog\latch\new.v":18:7:18:8|Latch generated from always block for signal in1[0:7], probably caused by a missing assignment in an if or case stmt
@END
发表于 2005-6-28 08:59:00 | 显示全部楼层

关于锁存器的问题3

in1信号附值时由于条件不完整产生锁存器。
 楼主| 发表于 2005-6-28 11:39:30 | 显示全部楼层

关于锁存器的问题3

它本来就是一个过渡信号呀,如果in有变化导致dsp变化后,将in赋给in1,如果enable有变化,就将in1放到数据线上,否则给数据线放高阻。
但老是warning在if(!dsp)???不知道为什么?
发表于 2005-6-28 14:20:02 | 显示全部楼层

关于锁存器的问题3

抱歉,没看懂你要设计个什么功能。你纯粹是在写代码,不是在设计电路。
首先信号命名太差,dsp是什么?是DSP吗?
dsp = (in==8'b0);
if(in!=8'b0)
    in1 = in;
out = enable ? 8'bz : in1;
那请问:当输入in等于0时,out输出什么?你还说你设计中没有latch?
发表于 2005-6-28 19:53:59 | 显示全部楼层

关于锁存器的问题3



下面引用由fanqiongjian2005/06/28 11:39am 发表的内容:
它本来就是一个过渡信号呀,如果in有变化导致dsp变化后,将in赋给in1,如果enable有变化,就将in1放到数据线上,否则给数据线放高阻。
但老是warning在if(!dsp)???不知道为什么?

看看这一句:

always @( dsp or in)
      if(!dsp)
       in1 = in;

当dsp等于0时,将in的值赋给in1。如果dsp不等于0,情况如何?你没有说明,则此时in1保持它原先的值,这不就是一个锁存器吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 17:26 , Processed in 0.033538 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表