FPGA中关于复位的设计和研究

合集下载

FPGA复位的可靠性设计方法

FPGA复位的可靠性设计方法
Ke y wo r d s FP GA ; r e l i a b i l i t y o f r e s e t ;s y n c h r o n o u s r e s e t ;a s y n c h r o n o u s r e s e t
对F P G A芯 片而 言 , 在 给 芯片 加 电工 作 前 , 芯 片 内 部 各个 节点 电位 的变 化情 况均 不确 定 、 不可 控 , 而 这种 不确 定且 不 可控 的情 况会使 芯 片在 上 电后 的工 作状 态 出现错误 。 因此 , 在 F P G A的设 计 中 , 为保 证 系统 能可

位端 口 则在实 现 同步 复位 电路 时可 直 接调 用 同步 复

复 位 设 计 方 法 分 类
复 位 的 目的是在 仿真 时将 设计 强 制定位 在 一个 可 知状 态 , 合理 选 择 复 位 方式 是 电路 设 计 的 关 键 。根 据 与 系统 时钟域 的关 系 , 复 位 电路 可 分 为 同 步 复位 和 异 步复 位 。 同步复 位是 指复 位信 号只 在 时钟沿 到来 时, 才有 效 。否则 , 无 法完 成对 系统 的复位 工作 。异步 复位 是指 无论 时钟 沿 是否 到来 , 只要 复 位信 号有 效 , 便
T N 7 9 文献标识码 A 文章编 号 1 0 0 7— 7 8 2 0 ( 2 0 1 3 ) 1 0—1 2 5— 0 3 中图分类号
Re s e a r c h o n Re l i a bi l i t y De s i g n Me t ho d s o f FPGA Re s e t Lo g i c

除电源开关过程 中引起 的抖动影 响 , 复位信号需在 电 源稳定后经过一定的延时才能撤销¨ , F P G A 的复 位

大型设计全局复位—异步复位同源释放

大型设计全局复位—异步复位同源释放

在一个FPGA项目设计之初,全局网络的建立至关重要,其中包括时钟网络和复位网络。

而通常设计者对时钟网络的规划尤为小心,可却忽视了复位网络,这个复位跟时钟一样也是一个覆盖全局、高扇出的信号,如果处理不当也会导致意想不到的错误。

很多人会问,到底复位信号选择同步还是异步、高电平还是低电平有效?对于这个问题,下文做了论述:异步or 同步?以下是同步、异步复位的Verilog和VHDL代码:// 同步复位(Verilog)always@(posedge clk)if(rst)begina<=1’b0;endelsebegina<=b;end--同步复位(VHDL)process(clk,rst)beginif clk’event and clk=’1’ thenif rst=’1’ thena<=’0’;elsea<=b;end if;end if;end process;// 异步(Verilog)always@(posedge clk or posedge rst)if(rst)begina<=1’b0;endelsebegina<=b;end--异步复位(VHDL)process(clk,rst)beginif rst=’1’ thena<=’0’;7系列FPGA设计时推荐使用高电平有效的复位。

图2选择高还是低,需要根据具体的电平标准、器件结构来选择,并不是一概而论低电平有效的好或者高电平有效的好。

注:另外在设计中复位信号有时可能出现一些问题。

1. 如果在一个设计的顶层定义了一个异步复位信号,而为了减小高扇出的影响,可以将这个复位信号分配到全局布线资源上。

但是有些情况下,使用全局复位信号可能导致recovery和removel时序问题。

如图4所示使用级联复位结构,将异步复位信号同步释放,根据模块进行分区,在每个分区内再级联同步释放结构,这样可以降低复位信号的扇出,从根本性上解决了问题。

FPGA设计异步复位同步释放有讲究

FPGA设计异步复位同步释放有讲究

FPGA设计异步复位同步释放有讲究异步复位同步释放首先要说一下同步复位与异步复位的区别。

同步复位是指复位信号在时钟的上升沿或者下降沿才能起作用,而异步复位则是即时生效,与时钟无关。

异步复位的好处是速度快。

再来谈一下为什么FPGA 设计中要用异步复位同步释放。

复位信号的释放是有讲究的:我们知道,DFF 的D 端和clk 端之间时序关系是有约束的,这种约束我们通过setup time 和hold time 来check。

即D 端的data 跳变的时刻要与clk 端的时钟上升沿(或者下降沿)跳变要错开,如果这两个跳变撞到一起,我们无法保证DFF 能够sample 到正确的data,这时候不满足setup/hold time 要求,就会发生亚稳态,我们sample 到的data 可能是不稳定的中间态的值,并不是我们原本想要的data。

与此类似,异步复位端与clk 端之间也存在着类似的时序约束关系,为了准确稳定地sample 到异步复位端的reset 信号,我们要求reset 信号在clk 上升沿(或者下降沿)跳变的前后一段时间内保持稳定,不要跳变。

clk 跳变沿之前必须保持稳定的最短时间叫做recovery time,clk 跳变沿之后需要保持稳定的最短时间叫做removal time。

如果在此时间窗口内reset 信号发生跳变,不确定reset 到底有没有释放成功(类似setup+hold 时间窗口内,data 跳变,发生亚稳态,sample 到的值是不稳定的中间态值)。

在IC 设计过程中我们是会check recovery 和removal time 的,如果不满足,我们会通过布局布线的调整(后端的调整)让电路满足这个条件(实质就是让reset 跳变沿和clk 跳变沿错开);但是对于FPGA设计而言,我们一般不采用异步释放的方法,因为FPGA 的布局布线可以调整。

fpga 复位信号 时序约束

fpga 复位信号 时序约束

fpga 复位信号时序约束FPGA(现场可编程门阵列)是一种强大的集成电路设备,主要用于实现数字电路的快速开发和设计。

在FPGA的设计中,复位信号是一项关键因素,它用于确保FPGA系统在启动和重置时的可靠工作。

当FPGA设备被启动或重置时,复位信号起到了重要的作用。

它类似于计算机系统的重置按钮,可以将FPGA恢复到初始状态,以确保可控和可靠的工作。

在这个过程中,复位信号需要满足一定的时序约束,以确保系统的正确操作。

在FPGA设计中,复位信号的时序约束是指复位信号的保持时间和清除时间。

保持时间是指在FPGA设备上复位信号保持有效的时间,确保所有的内部电路都能恢复到预期的状态。

清除时间是指复位信号结束后,FPGA设备需要多长时间才能完全恢复到正常工作状态。

这些时序约束对于系统的正确操作非常关键。

为了满足复位信号的时序约束,设计人员可以采取一些有效的措施。

首先,设计人员应该合理地选择复位信号的时钟域和信号源。

时钟域是指与复位信号相关的时钟信号的域,不同的时钟域有不同的时钟频率和时序约束。

选择适当的时钟域可以确保复位信号和时钟信号之间的正确时间关系。

其次,设计人员应该合理地选择复位信号的极性。

极性是指复位信号的有效电平,一般有高电平复位和低电平复位两种方式。

根据不同的设计需求,选择合适的复位信号极性可以确保系统的正确复位和恢复。

此外,设计人员还应该考虑复位信号的分发和同步问题。

在FPGA 系统中,复位信号需要从一个模块传递到另一个模块,因此需要合理的复位信号分发和同步机制。

采用合适的分发和同步方法可以避免复位信号传递延迟和冲突,确保系统在复位结束后能够正确运行。

综上所述,复位信号在FPGA设计中是一个重要的因素,它可以确保系统在启动和重置时的可靠工作。

为了满足复位信号的时序约束,设计人员应该合理选择时钟域和信号源,选择适当的复位极性,同时考虑复位信号的分发和同步问题。

通过合理的设计和优化,可以保证FPGA系统在复位信号时序约束下的正确工作。

vivado 复位约束

vivado 复位约束

vivado 复位约束
Vivado复位约束是FPGA设计中一个非常重要的环节,它涉及到设计的稳定性和可靠性。

在FPGA中,复位信号用于将系统或模块恢复到已知的初始状态,以便在出现错误或异常时能够重新开始。

因此,对复位信号的约束和处理至关重要。

Vivado提供了灵活的复位约束选项,以满足不同设计的需求。

这些约束可以通过约束文件(XDC)进行定义,并在综合和实现阶段应用于设计。

复位约束通常包括复位信号的极性、异步或同步复位、复位信号的延迟和时序要求等。

首先,复位信号的极性是指复位信号是高电平有效还是低电平有效。

这取决于具体的设计需求和硬件实现。

在Vivado中,可以通过设置复位信号的极性约束来指定复位信号的有效电平。

其次,复位可以是异步的或同步的。

异步复位不依赖于时钟信号,可以在任何时间点上发生。

而同步复位则与时钟信号同步,只在特定的时钟边沿上发生。

在Vivado中,可以通过设置复位类型约束来选择异步或同步复位。

此外,复位信号的延迟和时序要求也是复位约束的重要组成部分。

延迟约束用于指定复位信号到达目标寄存器的时间延迟,以确保复位信号在正确的时刻起作用。

时序要求则用于定义复位信号与其他信号之间的时序关系,以避免竞争和冒险现象。

总之,Vivado复位约束是FPGA设计中不可或缺的一部分。

通过合理设置复位约束,可以确保设计的稳定性和可靠性,提高系统的性能和抗干扰能力。

在实际应用中,需要根据具体的设计需求和硬件环境来选择合适的复位约束选项。

ALTERA FPGA设计之带复位的D触发器_基本实验

ALTERA FPGA设计之带复位的D触发器_基本实验

ALTERA FPGA设计之带复位的D触发器_基本实验Quartus II 13.0 SP1 + Modelsim SE-64 10.2c + Cyclone【姓名学号】实验目的:1、熟悉VHDL触发器的设计;2、了解FPGA基本结构中的触发器。

3、熟悉VHDL test bench(测试平台/测试激励)的设计;4、熟练掌握Altera FPGA的开发环境、设计步骤和流程。

实验形式:边做实验边写实验报告,实验完成后即提交实验报告。

【描述实验中的设计】用IF 语句设计D 触发器,实现带复位功能的D触发器。

【实验中设计实现的HDL代码】library ieee;use ieee.std_logic_1164.all;entity exp1 isport(R:in std_logic;clk:in std_logic;D:in std_logic;Q:out std_logic;Q0:out std_logic);end exp1;architecture arch_exp1 of exp1 issignal a:std_logic;beginprocess(clk,R)beginif(clk'event and clk='1')thenif(R='0')thena<='0';elsea<=D;end if;end if;end process;Q<=a;Q0<=not a;end arch_exp1;【实验中用于仿真的HDL test bench代码】library ieee;use ieee.std_logic_1164.all;entity exp1_tb isend exp1_tb;architecture arch_Etb of exp1_tb iscomponent exp1 isport(R:in std_logic;clk:in std_logic;D:in std_logic;Q:out std_logic;Q0:out std_logic);end component;signal R,clk,D,Q,Q0:std_logic;beginu_tb:exp1 port map(R=>R,clk=>clk,D=>D,Q=>Q,Q0=>Q0);processbeginR <='0';D <='0';wait for 10 ns;R <='0';D <='1';wait for 10 ns;R <='1';D <='0';wait for 10 ns;R <='1';D <='1';wait for 10 ns;R <='1';D <='0';wait;end process;clk_stimulus:processbeginclk <='0';wait for 4 ns;clk <='1';wait for 4 ns;end process clk_stimulus;end arch_Etb;【实验中设计的功能仿真结果及分析】功能仿真结果分析:从上图中的仿真结果可以看出,0 ns~20ns 输入R为低电平’0’,4 ns时,clk 遇到上升沿,电路复位;20ns以后输入R为高电平’1’;30ns~40ns,输入D 为高电平‘1’,36ns 时,clk为上升沿,输出Q置为D即高电平‘1’,输出Q0置为D的非即低电平‘0’。

fpga逻辑题目001——同步复位与异步复位的区别

fpga逻辑题目001——同步复位与异步复位的区别

fpga逻辑题目001——同步复位与异步复位的区别FPGA逻辑题目001主要探讨了同步复位与异步复位的区别,以下是对这个问题的详细分析:1. 同步复位与异步复位的基本概念:同步复位是指系统在时钟沿变化时,当复位信号满足复位条件,系统将完成复位动作。

异步复位是指时钟复位信号不依赖于时钟,只要满足复位条件,系统就会完成复位动作。

2. 同步复位的优缺点:有利于基于周期的仿真工具的仿真。

有利于静态时序分析工具的分析,可以综合出较高的工作频率。

抗干扰能力高,可以剔除复位信号中高于时钟频率的毛刺。

缺点是复位依赖于时钟信号,如果时钟信号出现故障,系统将无法正常复位。

此外,由于多数逻辑器件的目标库内的D触发器只有异步复位端口,所以综合器在综合同步复位时将在寄存器的输入端口插入组合逻辑,这会占用更多内部逻辑资源,并可能导致逻辑门时延较高。

此外,复位信号的有效脉冲宽度必须大于时钟周期,因为线路的时钟延时和路径延时可能导致需要多个时钟周期的复位脉冲宽度,并且不能保证复位信号到达各个寄存器的时序。

3. 异步复位的优缺点:优点是复位信号不依赖于时钟信号,电路在任何情况下都能实现复位,节约内部逻辑资源,设计实现简单。

由于多数逻辑器件的目标库内的D触发器都有异步复位端口,所以复位端口不需要设计额外的逻辑资源。

缺点是复位信号对电路内的毛刺敏感,容易受到外界的干扰,出现频繁复位现象。

此外,由于异步释放的随机性可能导致时序违规,当复位信号释放在时钟有效沿附近时,触发器输出可能处于亚稳态,导致复位操作失败。

此外,异步复位不利于静态时序分析工具的分析,如果复位信号不是直接来自于I/O引脚,在DFT(Design ForTest)扫描和测试时,复位信号必须被禁止,因此需要添加额外的同步电路。

4. “异步复位、同步释放”的方式:这是一种常用的复位设计方式。

其优点在于保证复位信号采集的可靠性(因为复位信号的到来与时钟信号无关),并且防止了在时钟有效沿附近释放复位信号时可能产生的亚稳态。

fpga寄存器上电复位初始值约束

fpga寄存器上电复位初始值约束

在FPGA(现场可编程门阵列)设计中,上电复位(POR,Power-On Reset)是一种将寄存器重置为初始状态的操作。

对于上电复位初始值的约束,通常需要考虑以下几点:1. 同步复位与异步复位:上电复位可以是同步的或异步的。

同步复位在时钟边缘发生,而异步复位则不依赖于时钟。

在大多数情况下,使用异步复位是更可靠的选择,因为它不依赖于时钟频率或稳定性。

2. 初始值:你需要明确每个寄存器在上电复位后的初始值。

这通常取决于你的设计需求。

例如,你可能希望某些寄存器在上电后立即开始接收数据,而其他寄存器则需要保持为某个默认值。

3. 复位信号的持续时间:确保复位信号的持续时间足够长,以确保FPGA设备能够正确检测到复位信号并相应地重置其内部状态。

4. 寄存器初始化:在某些情况下,你可能需要使用特定的初始值对寄存器进行编程。

这通常在硬件描述语言(如VHDL或Verilog)中进行。

5. 复位去抖动:在某些应用中,可能需要对复位信号进行去抖动处理,以确保FPGA设备在电源噪声或其他干扰下不会误触发复位。

6. 考虑设计的稳定性:上电复位的实现方式可能会影响设计的稳定性。

确保你的复位设计不会引发任何潜在的问题,例如冒险状态或竞争条件。

7. 硬件仿真与测试:在实施上电复位约束后,建议进行硬件仿真和测试以确保设计的正确性和稳定性。

8. 文档记录:清楚地记录你的上电复位设计和约束,以便后续维护和理解。

9. 电源管理:考虑电源规划并确保在上电过程中有适当的电源管理策略,特别是在FPGA设计中有大量逻辑单元和资源的情况下。

在设计FPGA时,考虑到上述约束和注意事项将有助于确保设计的可靠性和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

182收稿日期:2018-01-20作者简介:陈云(1988—),男,湖南临湘人,硕士,工程师,研究方向:FPGA 第三方验证。

1 引言复位是FPGA设计中一个基本而又重要的环节。

复位的目的是在系统启动或内部模块功能发生错误时将设计强制定位在一个初始可知状态, 合理选择复位方式是电路设计的关键。

现在常用的复位方式有三种:同步复位、异步复位和异步复位和同步释放。

本文从多角度对三种复位方式的优劣进行了总结, 针对复位设计中存在的问题进行分析并给出了相应的解决方案。

2 三种复位方式的讨论2.1 同步复位同步复位是指复位信号仅在时钟信号的有效沿对触发器进行复位,此时复位信号可以看作触发器输入端信号的一部分。

同步复位综合后RTL图如图1所示。

同步复位的优点:综合出较小的触发器,能够保证整个电路设计的同步性,确保复位仅在时钟信号有效沿发生,有利于滤除高频信号的干扰,有利于进行时序分析及系统的总体同步化,易于进行基于周期的仿真。

同步复位的缺点:复位信号的有效时间必须大于时钟周期,否则无法被识别并进行复位操作,需要一个脉冲延展器来保证复位信号具有一定的脉冲宽度, 以确保能够在时钟的有效沿被采样到,综合时占用更多的逻辑资源。

2.2 异步复位异步复位是指无论时钟沿是否到来,只要复位信号有效沿到来就对系统进行复位,复位信号和时钟相互独立。

异步复位综合后RTL图如图2所示。

异步复位的优点:有效利用了寄存器CLR端口,节省了系统资源;复位信号的有效时间可以不受时钟周期的限制,确保其可控性,由于受数据通路时序的要求, 不可能通过在数据通路上添加逻辑门或增加连线延迟来处理同步复位,使用异步复位就可以保证不将复位信号加载到数据通路上,且电路可以不依赖于时钟进行复位。

异步复位的缺点:复位信号如果发生在靠近时钟沿很近的时间点,那么触发器就可能没有足够的时间维持输入端信号的值,容易造成亚稳态,从而影响设计的可靠性;复位信号容易受到毛刺的影响,会导致触发器的误操作,进而影响设计的稳定性;此外异步复位的可测性和STA的复杂性要高于同步复位。

2.3 异步复位同步释放异步复位同步释放是指在异步复位信号到来的时候不受时钟FPGA 中关于复位的设计和研究陈云 陈恩耀 刘国斌 左丽丽 刘伟(上海航天电子技术研究所,上海 201109)摘要:复位设计是现场可编程门阵列(FPGA)设计中的一个关键步骤, 设计不当可能会影响整个电路的性能, 为了提升复位的稳定性和可靠性,本文从多方面对不同方式的复位进行了分析, 总结了各自的优缺点, 针对抑制亚稳态问题、局部复位设计和同一复位路径上复位的设计进行了讨论和研究,对复位设计中普遍存在的问题提出了可行性解决方案。

关键词:F P G A ;亚稳态;同步复位;异步复位;同步释放中图分类号:TN402文献标识码:A 文章编号:1007-9416(2018)03-0182-03设计开发DOI:10.19695/12-1369.2018.03.90图2 异步复位电路图图1 同步复位电路图1832018年第 03 期信号的同步,而是在复位信号释放的时候受到时钟信号的同步。

其综合后RTL图如图3所示。

其中异步复位信号使用FPGA寄存器的全局异步复位端口能够使复位信号有效时刻到达所有寄存器的时钟偏移最小,既能够节约资源又能简化设计。

由于异步复位信号释放时可能导致亚稳态的发生,为了解决这一问题可以采用同步释放,即先将异步复位信号用电平同步器同步后分配给其他功能模块,使得这些功能模块内寄存器在复位释放时总是满足复位恢复时间的约束,从而抑制了亚稳态的发生。

异步复位同步释放的双缓冲电路的复位方式同时弥补了同步复位和异步复位的缺陷,并很好地发挥了他们的优势之处。

异步复位同步释放的双缓冲复位方式采用两级触发电路,第二级触发器将第一级触发信号利用时钟打一拍,异步信号同步化,有效的降低亚稳态发生概率,同时节约了系统资源,在FPGA逻辑设计中可以很好的提高复位的可靠性。

3 复位设计中存在的问题3.1 亚稳态问题复位设计中复位信号必须保持一定的脉冲宽度以确保时钟的有效沿采样区落在此有效脉冲宽度内,如果时钟采样时刻是复位信号的跳变沿即不稳定态X态,那么复位信号将被X态掩盖。

要详细说明亚稳态的产生机制,此处涉及两个概念:恢复时间T removal 和释放时间T removal ,恢复时间是指复位信号释放时刻与随之而来最近的时钟有效沿之间的最小时间,而释放时间是指时钟有效沿与复位信号无效时刻之间的最小时间,如图4所示。

如果低有效复位信号的上升沿落在这两个时间窗口内,则触发器的输出端的值将为不定态,既可能处于低电平也可能处于高电平,甚至处于震荡态并在不确定时刻才稳定为高电平或低电平状态。

在亚稳态时如果输出值在下一个寄存器捕获之前已经稳定到有效状态,那么这个有效状态也可能发生逻辑误判,如果此逻辑错误发生在决定器件某个功能的关键性寄存器上,将导致此芯片的相关功能也出错,此外如果亚稳态信号被捕获时为震荡态并传递到不同的寄存器,那么这些本该得到相同正确逻辑值的寄存器会得到不同的值,这些不同寄存器有的获得正确值而另一些则获得错误值,将导致逻辑混乱进而使整个功能发生错误。

虽然了解了亚稳态发生的机制,但亚稳态发生是时间问题,往往是不可避免的,目前没有一种方式可以从根本上消灭异步电路中亚稳态的发生,只能通过优化设计使得评估出现亚稳态的平均无故障时间MTBF(Mean Time Between Failures)变大以抑制亚稳态发生,在现行FPGA设计中往往通过将异步复位信号进行两级同步后再使用,可以显著抑制亚稳态的发生,提升系统的可靠性。

3.2 局部复位的设计FPGA设计中尽量使用专用全局复位或置位资源,其主要作用是对系统中存在的所有触发器、锁存器、查找表单元的输出寄存器进行复位,不会占有额外的布线资源。

使用GSR资源,异步复位到达所有寄存器的偏斜最小。

如果设计需求里必须采用某个使能信号进行局部复位,尽量不图3 异步复位同步释放电路图图4 恢复时间和释放时间图图5 例1综合后RTL 图陈云等:F P G A 中关于复位的设计和研究184第 36 卷 数字技术与应用 Design and Research on Reset in FPGACHEN Yun,CHEN En-yao, LIU Guo-bin,ZUO Li-li,LIU Wei(Shanghai Aerospace Electronic Technology Research Institute,Shanghai 201109)Abstract:Reset is a key step in the design of FPGA. The improper reset may influence the performance of the whole circuit. In order to improve the stability and reliability of reset, this paper makes an analysis of several reset ways from various perspectives. The advantages and disadvantages are summarized. It focuses on the discussion and study of the restoration of the metastability problem and the reset for a local module or the same reset path.Feasible solutions are proposed for the common problems in designing reset.Key words:FPGA; metastability;synchronous reset; asynchronous reset; synchronous removal使用组合逻辑后的信号进行局部复位,组合逻辑出去的电平信号经常伴随着毛刺,将此信号直接用作复位将导致触发器的误判操作,如果非要使用,先此使能信号在需要进行复位的时钟域内进行多级滤波滤除毛刺后使用,这样能大大提升设计的稳定性和可靠性。

3.3 同一复位路径上复位的设计在设计时如果对复位问题不够重视,经常会出现在某些功能模块使用同步复位后又在其他模块内使用异步复位的情况,使得同一复位路径上如果既使用同步复位又使用异步复位,首先会导致复位时这条路径上相关寄存器的值跳变的时间不一致,如果这些寄存器输出后续需要做组合逻辑则易产生毛刺进而影响功能的实现,其次这种设计还有可能导致在逻辑综合和布局布线时发生问题,所以尽量避免此种情况的发生。

下面为两个常见的错误设计,其设计代码和综合后RTL图如图5、图6。

例1:always@(posedge CLK)begin if(!RST_N)Q1 <= 1'b0;elseQ1 <= DATA;endalways@(posedge CLK or negedge RST_N)begin if(!RST_N)Q2 <= 1'b0;elseQ2 <= DATA;end 例2:assign TMP = RST_N_1^RST_N_2;always@(posedge CLK)begin if(!TMP)Q1 <= 1'b0;elseQ1 <= DATA;endalways@(posedge CLK or negedge TMP)begin if(!TMP)Q2 <= 1'b0;elseQ2 <= DATA;end在复位设计中需要养成一个良好的习惯,最好单独写一个模块作为复位产生模块, 针对输入的异步复位信号,在此模块内通过异步复位同步释放的方式产生复位,然后将此复位信号作为系统复位接到接到所有其他需要复位的功能模块中,这样就会避免发生上述问题。

4 结语在FPGA设计中不论是采用同步复位还是异步复位, 复位信号必须尽量与时钟信号同步, 否则设计可能被复位到一个无效状态。

本文对FPGA 设计中常用的复位设计方法进行了分类、分析和比较,并针对实际复位设计中可能存在的问题,提出了如何提高复位可靠性的方法。

随着FPGA设计规模越来越大、功能越来越多,其复杂程度也不断提高,对复位设计可靠性的依赖也越来越紧密,一个好的复位设计方案可以有效减少或消除由复位不当所带来的系统可靠性的问题。

参考文献[1]田志明,杨军,罗岚.异步复位设计中亚稳态问题及其解决方案[J].电子器件,2002,25(4):435-439.[2]夏宇闻.Verilog数字系统设计教程(第2版)[M].北京航空航天大学出版社,2008,6.[3]李忠琪,胡剑浩,王剑.FPGA中复位电路的设计研究[C].中国通信集成电路技术与应用讨论会论文集,2008.图6 例2综合后RTL 图。

相关文档
最新文档