多时域设计中,如何处理信号跨时域。(南山之桥笔试题)
本帖最后由 fpga 于 2010-4-8 19:31 编辑多时域设计中,如何处理信号跨时域。(南山之桥)
不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。
跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。 如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。 IC设计中同步复位与异步复位的区别。(南山之桥)
同步复位在时钟沿采复位信号,完成复位动作。异步复位不管时钟,只要复位信号满足条件,就完成复位动作。 异步复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。 BLOCKING NONBLOCKING 赋值的区别。(南山之桥)
非阻塞赋值:块内的赋值语句同时赋值,一般用在时序电路描述中
阻塞赋值:完成该赋值语句后才能做下一句的操作,一般用在组合逻辑描述中 latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的。
(南山之桥)
latch是电平触发,register是边沿触发,register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。 实现N位Johnson Counter,N=5。(南山之桥) 12、IC设计中同步复位与 异步复位的区别。(南山之桥)
13、MOORE 与 MEELEY状态机的特征。(南山之桥)
14、多时域设计中,如何处理信号跨时域。(南山之桥)
58、实现N位Johnson Counter,N=5。(南山之桥)
59、)
60、数字电路设计当然必问Verilog/VHDL,如设计计数器。(南山之桥)
61、BLOCKING NONBLOCKING 赋值的区别。(南山之桥) :hug:小弟在此谢过了! 多谢~~~~~~~ 感谢了啊!!!!!!!!!!!! 小弟非常感谢,谢谢楼主的总结
页:
[1]