2014年2月25日

(转)跨时钟域数据采集总结

摘要: 一.典型方法二.结绳法1.结绳法1:利用数据的边沿作时钟(例子中上升沿)。(可以将脉冲无限延长,直到可以采集到数据,然后复位,要考虑产生数据的频率)。实例1实例22结绳法2:利用数据作为异步复位,置位信号。(适合将不足时钟宽度的脉冲扩展1周期)实例1:输入高脉冲(clka域),输出高脉冲(clkb域)实例2:输入高脉冲(clka域),输出低脉冲(clkb域)实例3:输入低脉冲(clka域),输出低脉冲(clkb域)实例4:输入低脉冲(clka域),输出高脉冲(clkb域)3结绳法3:输入作为数据输入,同样也是检测高有效后,输出一直为高,异步时钟域可以采集到数据后再复位。因为没有将输入作为时钟, 阅读全文

posted @ 2014-02-25 20:07 略过天涯 阅读(879) 评论(0) 推荐(0) 编辑

FPGA异步时钟设计中的同步策略

摘要: 1 引言基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统。但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免。如果对跨时钟域带来的亚稳态、采样丢失、潜在逻辑错误等等一系列问题处理不当,将导致系统无法运行。本文总结出了几种同步策略来解决跨时钟域问题。2 异步设计中的亚稳态触发器是FPGA设计中最常用的基本器件。触发器工作过程中存在数据的建立(setup)和保持(hold)时间。对于使用上升沿触发的触发器来说,建立时间就是在时钟上升沿到来之前,触发器数据端数据保持稳定的最小时间。而保持时间是时钟上升沿到来之后,触发器 阅读全文

posted @ 2014-02-25 19:34 略过天涯 阅读(569) 评论(0) 推荐(0) 编辑

FPGA中亚稳态——让你无处可逃

摘要: 1. 应用背景1.1 亚稳态发生原因 在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是稳定到0或者1,是随机的,与输入没有必然的关系。1.2 亚稳态发生场合 只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发 阅读全文

posted @ 2014-02-25 13:48 略过天涯 阅读(655) 评论(0) 推荐(0) 编辑

基于FPGA的跨时钟域信号处理——专用握手信号

摘要: 在逻辑设计领域,只涉及单个时钟域的设计并不多。尤其对于一些复杂的应用,FPGA往往需要和多个时钟域的信号进行通信。异步时钟域所涉及的两个时钟之间可能存在相位差,也可能没有任何频率关系,即通常所说的不同频不同相。图1是一个跨时钟域的异步通信实例,发送域和接收域的时钟分别是clk_a和clk_b。这两个时钟频率不同,并且存在一定的相位差。对于接收时钟域而言,来自发送时钟域的信号data_a2b有可能在任何时刻变化。图1跨时钟域通信对于上述的异步时钟域通信,设计者需要做特殊的处理以确保数据可靠的传输。由于两个异步时钟域的频率关系不确定,触发器之间的建立时间和保持时间要求也无法得到保证。如果出现建立时 阅读全文

posted @ 2014-02-25 13:44 略过天涯 阅读(1492) 评论(0) 推荐(0) 编辑

导航