FPGA设计中的组合逻辑与时钟方案

本文探讨了FPGA设计中的关键问题,包括如何避免组合逻辑中的环路和延迟链以提高稳定性,以及如何妥善处理时钟方案以确保同步功能。组合环路可能导致不稳定性和不可靠性,应避免使用。建议使用同步设计来消除延迟链和组合环路。同时,文章警告了使用脉冲发生器和多频振荡器的潜在风险,并提供了推荐的同步脉冲生成技术。此外,强调了避免非预期锁存器的重要性,并给出了关于内部时钟、分频、波纹计数器和时钟复用的指导。最后,讨论了门控时钟的功耗降低策略,推荐使用同步时钟使能来安全关闭时钟域。
摘要由CSDN通过智能技术生成
        在用HDL设计时,理解综合工具如何解释不同的HDL代码风格和预期结果是非常重要的。设计人员的代码风格会影响逻辑的利用率和时限性能。本文讨论一些基本的设计技术,确保FPGA最佳的综合结果,同时避免一些不可靠和不稳定的因素。设计人员应当认真设计组合逻辑以避免潜在的问题,同时应注意时钟方案保证同步功能。

组合逻辑结构

组合环路

组合环路是数字逻辑设计中不稳定性和不可靠性最常见的原因之一。在同步设计中,所有的反馈环路都应该包括寄存器。组合环路直接建立没有寄存器的反馈,违反了同步设计的原则。例如,当算术表达式的左边也出现在右边,就会发生组合循环。当把一个寄存器输出通过组合逻辑反馈给同一个寄存器的异步管脚时,也会产生组合环路,见图1。

图1 通过异步控制管理的组合循环(略)

组合环路是高风险的设计结构,这是因为:
● 组合环路的功能通常依靠环路逻辑的相对传播延迟。正如所讨论的,传播延迟可能改变,那么环路行为也可能发生改变。

● 在一些设计工具中,组合环路可能造成无尽的计算循环。大部分的工具会打断组合环路进行处理。设计流程中所用的不同工具会以不同的方式打断同样的环路,这样可能和设计初衷不一致。

延迟链

当两个以上连续的单输入单扇出节点引起延迟时,就会产生延迟链。通常, 把反相器连在一起增加延迟。延迟链通常是由异步设计引入的,有时是用来解决其它组合逻辑引起的竞争冒险。FPGA延迟会随每次布局布线的变化而改变。延迟链可能引起不同的设计问题,包括增加了设计对工作条件的敏感性,减小了设计的可靠性,不利于移植到其它器件结构上。在设计中要避免使用延迟链,而应采用同步设计。

脉冲发生器和多频振荡器


设计者有时用延迟链来产生单个脉冲(脉冲发生器)或一系列脉冲(多频振荡器)。脉冲生成有两种常见的方式,这些技术完全依靠异步逻辑,应该避免:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值