1、CDC跨时钟域处理
单bit:低速--高速:2-flop synchronizer,降低产生亚稳态产生的不确定性对电路的影响。
单bit:高速--低速:握手信号,加宽pulse的信号脉宽,异步FIFO。
(70条消息) 单bit异步处理--电平同步、边沿同步、脉冲同步、握手信号_宇哥啊的博客-CSDN博客
多bit:异步FIFO、异步双口RAM、握手、格雷码;
不能用两级同步的原因:由于2-flop synchronizer中信号delay有随机性,可以一个周期得到了同步也可能两个周期,从而导致信号中出现同步数据中没有的状态。
使用gray code完成:每个时钟延只有一个状态翻转,其余的bit都是稳定的,这样即使需要两个周期才能稳定。
参考:常见数电面试题Pulse Synchronizer -- CDC的那些事(3) (qq.com)
异步FIFO相关;

1,异步FIFO需要得到用到两级同步器,则需要另外考虑深度,看一个周期内的最大吞吐量。
2,格雷码可以在2N个数内循环,FIFO深度可以是奇数,一般FIFO地址为都会扩一个位,那么就可以凑成偶数。
2、FSM状态机、三段式状态机 、moore/mealy状态机
(1)一段式:一个always块,既描述状态转移,又描述状态的输入输出,当前状态用寄存器输出;
(2)二段式:两个always块,时序逻辑与组合逻辑分开,一个always块采用同步时序描述状态转移;另一个always块采用组合逻辑判断状态转移条件,描述状态转移规律以及输出,当前状态用组合逻辑输出,可能出现竞争冒险,产生毛刺,而且不利于约束,不利于综合器和布局布线器实现高性能的设计。
(3)三段式:三个always块,一个always模块采用同步时序描述状态转移;一个always采用组合逻辑判断状态转移条件,描述状态转移规律;第三个always块使用同步时序描述状态输出,寄存器输出。
三段式与二段式相比,关键在于根据状态转移规律,在上一状态根据输入条件判断出当前状态的输出,从而在不插入额外时钟节拍的前提下,实现了寄存器输出

本文详细探讨了数字集成电路(IC)设计中的关键概念,包括CDC跨时钟域处理中的异步FIFO设计,状态机实现,分频器优化,关键路径分析以及低功耗设计技术,如动态功耗、静态功耗、门控时钟和多电压技术的应用。还涵盖了Verilog代码风格和大厂面试知识点总结。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=123426576&d=1&t=3&u=8982dffcbb514b2c8f48925be0718a16)
1580

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



