汪路元
(北京空间飞行器总体设计部,北京100094)
在进行 FPGA设计时,往往只关心“0”和“1”两种状态。然而在工程实践中,除了“0”、“1”外还有其他状态,亚稳态就是其中之一。亚稳态是指触发器或锁存器无法在某个规定时间段内达到一个可确认的状态[1]。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在亚稳态期间,触发器输出一些中间级电平,甚至可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。亚稳态是异步数字电路设计中的固有现象,但是由于其偶发性和温度敏感性的特点,在产品前期测试过程中很难发现。当前多个型号的FPGA产品研制过程中暴露的质量问题均与亚稳态有关,而且多是在设备研制后期进行高低温试验时出现,严重影响了产品研制。因此,亚稳态对系统的危害性应该引起足够重视,并在设计初期阶段应采取有效缓解措施,以提高系统的可靠性。
所有数字器件(包括FPGA)的信号传输都有一定的时序要求,以保证每个器件将捕获的输入信号正确输出。对于触发器,为了确保操作的可靠性,输入信号必须在时钟沿的某段时间(触发器的建立时间)之前保持稳定,并且持续到时钟沿之后的某段时间(触发器的保持时间)才能改变,而且该触发器的输入反映到输出还需要经过一定的延时(时钟到输出的时间)。……