EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
转——如何设计FPGA复位电路----------菜鸟一步一步走 4 k S5 o) q8 u0 ~
2 R0 k7 u2 U; a( |4 [* m7 o
复位对于FPGA设计很重要,一些很奇怪而找不到原因的问题很有可能是由于复位造成的,本人就因为没理解好复位情况而受困扰几天。 复位信号可以是高电平也可以是低电平复位。并且电路分外部信号的硬件电路复位和内部信号的软件复位。 外部硬件复位: 若用到外部信号复位,最好留一个全局时钟的引脚,当IO口够时不管用不用到外部复位,最好是预留一个外部复位端口
6 ` D8 |9 ]% y内部软件复位:
一般内部软件复位不是必须有的,这个主要看你程序运行情况,及外围电路的需要,若外围电路有需要上电一段时间后才正常运行的,那就最好加入一个内部的软件复位,主要在一段延时前复位后才正常运行程序。 Eg:上电后延时多少才复位就看你自己的需要,可以修改 reg [15:0]clkcnt=16'd0; always@(posedge CLKL) begin if(clkcnt==16'hFFFF) begin clkcnt <= 16'hFFFB; end else begin clkcnt <= clkcnt + 1'b1; end end always@(negedge CLKL) begin if(clkcnt<16'hFFFA) begin RST_n <= 1'b1; end else begin RST_n <= 1'b0; // icon_control0 end End 若不用复位: 不用复位可能会引起的一个问题是仿真时出现一堆的X。这个问题可以通过在HDL文件中为寄存器赋初值解决。
7 m* c* N9 R" i7 S8 a3 @+ B |