组合逻辑环路---大BUG

组合逻辑环路(Combinational Loop)是指不经过任何时序逻辑(寄存器等),而直接将组合逻辑电路的输出信号反馈到其输入节点而形成的环路。
在这里插入图片描述
组合逻辑环路是FPGA设计中的大忌,任何情况下,都应避免,具体原因如下:

1、组合逻辑环路违反了同步设计原则,很容易产生振荡,毛刺和时序违规,从而使整个系统变得极不稳定。

2、组合逻辑环路实现的逻辑功能完全依赖于环路上的逻辑门延迟和布线延迟,如果这些延迟发生变化,原来的逻辑功能将会发生彻底的改变,而且改变后的功能很难预测,所以这种设计基本没有可移植性。

3、组合逻辑环路会使设计软件进入无尽的环路计算中,为了完成计算,一些EDA工具会将环路割断,而不同的EDA软件对环路割断处理的过程是不尽相同的,这种过程不但使电路的实现偏离了最初的设计意图,而且使电路的实现呈现不确定性。另外,还有一些EDA工具都会将组合逻辑环路定义为一种设计错误,如果设计中存在这种逻辑,编译过程会报错,强制用户进行修改。

产生组合逻辑环路的原因有两个,一个是将组合逻辑电路的输出端又通过组合逻辑反馈到输入端,另一个是将寄存器的输出端通过组合逻辑反馈到同一个寄存器的异步端(异步复位或异步置位)。代码1是VHDL引入组合逻辑环路的代码,代码2是Verilog-HDL引入组合逻辑环路的代码,在设计中应坚决避免出现这种编码。
代码1. VHDL中引入组合逻辑环路的代码
代码1. Verilog-HDL中引入组合逻辑环路的代码
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值