蓝冠注册《Q374919》没有讨论的FPGA设计是完整的,蓝冠 没有解决与转移信号,没有同步到时钟到时钟逻辑时钟相关的问题。虽然这应该是一个数字设计101的话题,但设计的数量……
过于频繁的设计不能正确地处理异步输入,导致难以诊断的不可靠设计。
没有讨论的FPGA设计是完整的,没有解决与转移信号,没有同步到时钟到时钟逻辑时钟相关的问题。虽然这应该是一个数字设计101的主题,但我看到的这些问题没有得到适当解决的设计数量表明,设计社区并没有像它应该得到的那样很好地理解。每一个接受外部输入的时钟数字系统都有一个异步输入,就像具有多个时钟域的系统一样,当一个信号穿过一个不相关的时钟信号的设计部分时。
时钟逻辑中的触发器是数字逻辑中的存储元素,是序列逻辑(如状态机)的基础。为了保证可靠的运行,蓝冠官网 触发器的输入必须在活动时钟之前(设置时间,Tsu)和之后(保持时间,Th)的最小时间内保持稳定。触发器的输出变化根据输入的结果积极时钟时钟上升沿边缘后短时间内发生(延迟时钟输出时间有限,Tco)提供了设置和保存时间遇见了如图所示的data_in1和data_out1信号如图1所示。如果输入违反最低设置或持有倍信号data_in2所示,触发器可以保持之前的状态,可能到下一个状态,或者可能最终在一个不稳定的中间状态的不确定的时间才解决的两个稳定状态(显示为data_out2)。最后一种状态是“亚稳态”,它不是两种有效的稳定状态(高或低)。它可能表现为振荡,作为一个输出电压之间的定义的高和低状态,或作为一个输出,看起来像一个有效的输出,但有一个延长的时钟输出传播时间。它还可能导致输出上的“小脉冲”,这是一个短暂的脉冲,在没有另一个时钟事件的情况下恢复到原始状态。在一段不确定的时间后,蓝冠注册 亚稳态将最终变为两种稳定状态中的一种,且持续的概率随时间呈指数级增长。时间相对于时钟的窗户边,亚稳度会触发远小于定义的窗口设置和保存时间(在现代fpga的飞秒),然而它的确切位置是未知的和是一个函数的变量包括温度和电压。满足设置和保持要求保证亚稳态将不会被触发。
在大多数情况下,如果亚稳态能及时解决,满足触发器(可能通过组合逻辑)的设置时间,则系统不会受到不利影响。如果不这样做,一个未知的状态就会传播到系统中,如果这导致系统内部的两个或多个触发器在不同的逻辑级别上检测到信号的值,就可能发生系统故障。当输入与时钟同步时,很容易保证设置和保持窗口内的输入不会发生变化,从而保证输出在Tco定义的一段时间内跟随输入。然而,当输入是异步的,输入转换最终将在该窗口内发生,并偶尔会触发亚稳态。不幸的是,这是不可避免的,但我们可以将其导致系统故障的可能性降到最低。