1 如何进行跨时钟域设计
不同时钟域信号间通信需要同步处理,防止亚稳态的传播。
- 单比特信号:两级同步器(电平,边沿检测和脉冲)
- 多比特信号:fifo,双口ram,握手信号
2 异步fifo为什么用格雷码?
读写时钟不同频,读写地址需要同步。
2.1 什么是异步fifo?
左侧写,右侧读,而且读写时钟频率不一样。
2.2 什么是格雷码
特点:
相邻比特只有一个bit发生变化,避免毛刺。例如:4’b0111变化到4’b1000,假设中间变化经过1111和0100,那么在读fifo的中间过程,有毛刺会产生各种奇怪信号,而使用格雷码则不会。
3 状态机问题
用状态机实现一个简单自动售货机控制电路,该电路有2个投币口(1元和5角),商品2元一件,不设找零。
A:In[0]表示投入5角,In[1]表示投入1元,out表示是否提供商品。
01/0表示 In[1] ln[0]/out
4 摩尔状态机和米勒状态机
4.1 摩尔状态机
摩尔状态机:输出信号仅和状态有关。
4.2 米勒状态机
米勒状态机:输出信号和状态、输入信号相关。
5 如果要做一个低功耗设计,你有什么想法?
在设计方面降低功耗可以考虑以下几点:
- 降低电源电压
- 门控时钟
- 多power阈的设计
- 优化时钟树
- 逻辑优化,减少无谓的翻转