数字电路设计中的异步逻辑、综合与仿真问题解析
1. 异步逻辑的可允许使用场景
在数字电路设计中,通常不建议采用异步设计,但在某些特殊情况下,异步逻辑仍有其用武之地,不过使用时必须极为谨慎,且应作为同步解决方案无法实现时的最后手段。
- 异步复位 :在某些情况下,异步复位是可接受甚至更优的选择。若供应商库中包含可异步复位的触发器,可将复位输入连接到主复位信号,以减少布线拥塞和同步复位所需的逻辑。FPGA架构通常为触发器提供异步复位功能,不使用该资源会消耗宝贵的布线资源。此复位仅用于复位整个硬件,不应在芯片正常运行时发生。复位后,需确保设计处于稳定状态,直到输入改变,触发器才会改变状态,同时要保证硬件输入在复位撤销后的至少一个时钟周期内保持稳定。
- 输入处的异步锁存器 :像VME总线这类异步设计的总线,通常先使用异步锁存器捕获数据,再对锁存数据进行同步,比直接同步信号更高效。除非设计使用的时钟频率远高于总线频率,否则尝试同步锁存这些信号会产生大量开销,甚至引发时序问题。
- 其他异步电路 :有时需要在时钟启动前或停止运行时让电路工作,如生成系统复位的电路和看门狗电路。应尽量同步设计这些电路,或将其移至芯片外部,使用离散芯片,其最坏和最好情况的时序有明确定义。若无法做到,设计时需格外小心,因为供应商工艺的改变可能导致芯片无法使用。
2. 综合问题
综合程序将编写良好的RTL代码转换为门级代码时,会出现一些问题。尽管工具和程序员已尽力,但软件仍需做出一些假设,这些假设可能与设计者的想法不
超级会员免费看
订阅专栏 解锁全文
861

被折叠的 条评论
为什么被折叠?



