首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Verilog: Vivado合成工具,自动将信号添加到灵敏度列表中吗?

Verilog: Vivado合成工具,自动将信号添加到灵敏度列表中吗?
EN

Stack Overflow用户
提问于 2016-12-27 20:45:06
回答 2查看 493关注 0票数 2
代码语言:javascript
复制
module Test( input i );
 (* MARK_DEBUG = "TRUE" *) reg b;

 always @(i)
 begin
      if(i)
           b = 1'h0;
      else
           b = ~b;
 end
endmodule

在合成此代码之后,在使用ModelSim模拟器进行后合成-仿真过程中,我得到以下结果:

**错误(可抑制):(vsim-3601)迭代极限为10000000,时间为20 ns。

但我对行为模拟阶段没有问题。

似乎Vivado会自动将"b“信号添加到敏感度列表中,不是吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-27 21:50:32

考虑一下这个模块所暗示的硬件。

b不能作为寄存器或锁存来实现,因为它是从组合always块分配给的。但是,生成的电路包含一个组合回路,当i为0时,它不会稳定在任何值上:

票数 2
EN

Stack Overflow用户

发布于 2017-07-31 15:09:20

是的,Xilinx的合成引擎( ISE,Vivado中的XST)自动将缺失的信号添加到灵敏度列表中。没有出现错误,但默认情况下会发出警告。

警告: Synth 8-614信号'my_signal‘在此过程中读取,但不在敏感列表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41352007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档