fpga和复位电路相比大家应该都比较熟悉,那么对于fpga怎么搭复位电路你知道吗?本文介绍的就是关于fpga怎么搭复位电路以及fpga复位电路设计方案。
复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5v±5%,即4.75~5.25v。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当vcc超过4.75v低于5.25v以及晶体振荡器稳定工作时,复位信号才会撤除,微机电路开始正常工作。
复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。复位电路都是比较简单的大都是只有电阻和电容组合就可以办到了。再复杂点就有三极管等等配合程序来进行了。
fpga
fpga(field-programmable gate array),即现场可编程门阵列,它是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
系统设计师可以根据需要通过可编辑的连接把fpga内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品fpga的逻辑块和连接可以按照设计者而改变,所以fpga可以完成所需要的逻辑功能。
fpga一般来说比asic(专用集成电路)的速度要慢,实现同样的功能比asic电路面积要大。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的fpga。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的fpga上完成的,然后将设计转移到一个类似于asic的芯片上。另外一种方法是用cpld(complex programmable logic device,复杂可编程逻辑器件)。
fpga怎么搭复位电路
异步复位:复位信号和系统时钟信号的触发可以在任何时刻。二者相互独立。
同步复位:在系统时钟信号的触发下,复位信号有效。
用verilog表示会更明显:
// 异步复位
reg a;
always @ (posedge clk or negedge rst_n) begin
if(!rst_n)
a <= 'd0;
else
a <= ~a;
end
//同步复位
reg b;
always @ (posedge clk) begin
if(!rst_n)
b <= 'd0;
else
b <= ~b;
end
如果复位信号的撤销发生在系统时钟的建立和保持时间这段时间内,系统此时检测到复位信号的状态就处在一个亚稳态,无法确定是0还是1。就有可能造成系统工作不同步的问题。
异步复位会影响寄存器的recovery时间,引起设计的稳定性问题,尤其对于状态机的无意识复位,将导致进入不确定的状态。
同步复位最主要的问题是对于不带同步复位专用端口的器件会增加额外的逻辑资源。
//异步复位、同步释放
reg rst_nr1;
reg rst_nr2;
always @ (posedge clk or negedge rst_n) begin
if(!rst_n)
rst_nr1 <= 'd0;
else
rst_nr1 <= 1'b1;
end
always @ (posedge clk or negedge rst_n) begin
if(!rst_n)
rst_nr2 <= 'd0;
else
rst_nr2 1个时钟周期,<16个时钟周期。为节省资源,延时器件通常选用srl16。srl16可设置初始值,但不带复位功能16bit移位寄存器,能够通过a0~a3的4根地在线选择从第几个寄存器输出。通常将其作为一个普通的16bit移位寄存器使用。
3.2 异步复位同步释放
在有些应用中,复位信号需要在时钟尚未给出或不稳定的情况下传到后级,在时钟稳定之后,再撤去复位信号。此时需使用异步复位来实现。由于异步复位时,时钟和复位关系的不确定性,易造成触发器输出亚稳态,引起逻辑错误。为确保其复位的可靠性,通常采用异步复位,同步释放的方式。
所谓异步复位,同步释放就是在复位信号到达时不受时钟信号的同步,而是在该信号释放时受时钟信号的同步。通过一个复位信号综合器便可实现异步复位,同步释放。综合后的rtl图如图3所示,其仿真结果表明该电路能有效的实现复位及脱离复位。
异步复位、同步释放电路图
3.3 采用专用全局异步复位/置位资源
全局异步复位/置位资源的主要作用是对系统中存在的所有触发器、锁存器、查找表单元的输出寄存器进行复位,不会占有额外的布线资源。使用gsr资源,异步复位到达所有寄存器的偏斜最小。
3.4 采用内部复位的设计方法
在无需复位信号先于时钟信号产生的应用中,为避免外部复位毛刺的影响、异步复位电路可能引起的亚稳态以及减少资源的使用率,可通过fpga产生内部复位,然后采用异步的方式对其的内寄存器进行复位。由于该复位信号由fpga内部产生,不会因外部干扰而产生毛刺,同时又与时钟同步,不存在因异步复位导致的亚稳态现象,因此可确保系统可靠复位。
结语
fpga的可靠复位是保证系统能够正常工作的必要条件,本文对fpga设计中常用的复位设计方法进行了分类、分析和比较,并针对各种复位方式的特点,提出了如何提高复位设计可靠性的方法。在工程实践中,上述方法可以有效减少或消除fpga复位所产生的错误。
关于fpga复位电路的介绍就到这里了,希望通过本文能让你对fpga复位电路的整体架构有更深的理解,如有不足之处欢迎指正。
探讨一下在UVM中典型的验证平台
西门子SCL语言编程系列-计算方差
教你如何通过边打游戏边学编程
通用型工业电源可采用高电压输入并产生从8个1A到2个4A的输出
三星将加大内存芯片资本支出并建新生产线
FPGA怎么搭复位电路 fpga复位电路设计方案
LED显示屏怎样更节能环保
MT9284CS6 1.2MHz 高效提升白色 LED驱动器
小米9新配色深空灰曝光可在光线扫过机身背部时会呈现出不同的极光色
单片机对智能温控器的设计
如何定义光纤跳线的端面三项值标准?
光伏储能系统如何帮助电动汽车实现快速充电
5月8日晚19:30一场电子人都听得懂的TWS直播大会即将开启!
人工智能技术在银行业的应用场景介绍
评价调度流重要指标方法
iPhone信号太差或将解决
苹果停产iPod Nano/Shuffle iPod Touch将更名为iPad Touch到底靠不靠谱?
点云标注的挑战与未来发展
京东宣布入局“智能养猪”互联网大佬为何偏爱养猪?
艾睿电子任命Andy King为全球元件业务总裁