关于FPGA复位可靠性的一些体会 以前从来没有对FPGA的复位可靠性关注过,想当然的认为应该不会有什么问题。当问题真正出在复位上的时候,才又仔细地对FPGA的复位深入的了解了一下。首先我们用的复位管脚不是FPGA的全局管脚,并且复位信号上没有上拉电阻,容易受到干扰而产生毛刺,这对异步复位是相当有害的。其次,我在FPGA内部对复位的处理过于简单。 今天在网上看了一些资料,很多是关于同步和异步复位的优缺点比较。由于我在FPGA内部用的是异步复位,所以主要看了一下异步复位的缺点:1)复位信号在时钟有效沿或其附近释放时,容易使寄存器或触发器进入亚稳态;2)容易受到毛刺的影响;3)难以仿真,难以进行静态时序分析。上面的前两条应该对我来说是影响最重要的,而第三条说老实话,我还没有到哪个阶层(嘿嘿) 异步复位,同步释放——就可以消除上面的前两条缺点。所谓异步复位,同步释放就是在复位信号到来的时候不受时钟信号的同步,而是在复位信号释放的时候受到时钟信号的同步。通过一个复位信号综合器就可以实现异步复位,同步释放。下面是一个复位信号综合器的VHDL描述: ------------------------------------------------------------------------------------------------------------------------ Designer: skycanny -- Date:2007-1-27 -- Discription: Reset Synthesizer Library ieee; Use ieee.std_logic_1164.all; Entity Rst_Synth is Port ( Clk : in std_logic; Arst : in std_logic; Rst_n : out std_logic ); End entity Rst_Synth; Architecture RTL of Rst_Synth is Signal dff : std_logic; Begin Process(Arst ,Clk ) Begin If Arst = ‘0 then Dff <= ‘0’; Rst_n <= ‘0’; Elsif Clk’envent and Clk = ‘1’ then Dff <= ‘1’; Rst_n <= Dff; End if; End process; End RTL; ---------------------------------------------------------------------------------------------------------------------- 使用复位信号综合器可以很好地将同步和异步复位的优点结合起来,而消除他们缺点。因此在FPGA/CPLD的逻辑设计中可以很好的提高复位的可靠性,从而保证电路工作的稳定可靠性。 来自:http://blog.21ic.com/user1/1202/archives/2007/34743.html |
文章评论(0条评论)
登录后参与讨论