前些天在网上查找资料时,找到了一篇EDN杂志2003年7月号上的文章:Crossing the abyss: asynchronous signals in a synchronous world。这篇文章是EDN 14th Annual Innovation Awards (2003)的获奖文章,是当年的BEST CONTRIBUTED ARTICLE OF 2003。
文章的作者是Mike Stein,Paradigm Works公司的工程师。
这篇文章系统地介绍了跨时钟域信号处理的各种方法,可谓经典。
这些天总结了先前遇到的几个接口时序问题,跨时钟域信号处理都是其中的难点和易错点。在小组里也遇到一个朋友对这种处理方法存在疑惑,所以把这篇文章整理出来,供大家参考。
中文版的在这里,从日期上看整整晚了一年,出现在EDN China 2004年7月号上。从这一点上看,学好英文还是很有必要的。
相关文章:ASIC中的异步时序设计
用户446166 2014-10-15 11:34
ash_riple_768180695 2007-8-23 22:35
具体是哪个处理方式呢?
“采用一个保持寄存器和握手方式”与我在FPGA时序问题一例——异步接口和毛刺敏感电路保护中提到的“先暂存,再写入”方式本质上是同一电路。只不过作者描述的是一个可靠的握手电路,而我处理的是一个单方面发送数据的电路,需要在FPGA内部实现数据的保持,然后再用同步方式写入。
这篇文章的这种处理方式真正解决了跨时钟域总线传输的问题,比某些文章中把总线跨时钟域问题简单归结为使用FIFO解决的方法清晰明确了许多,这一点是一些经典的印刷出版物里都不曾提出的。
这种方法真正是作者思考的结果,而不是生搬硬套教条的结论。