FPGA 烧录程序后一直按复位按键才能执行程序

在学习FPGA时烧录程序后发现程序一直不会执行,使用Modelism进行波形仿真时验证程序达到预期效果,但烧录程序后却发现程序并没有执行。

以以下代码为例:

module Counter#(parameter cnt_max = 25'd24_999_999)(input wire sys_clk,input wire sys_rst,output reg led );
reg [24:0] cnt;
// 系统时钟50MHZ=0.000_000_02s 0.5s翻转一次 需要计数25_000_000个时钟周期
always@(posedge sys_clk or negedge sys_rst)//低电平复位
 begin if(sys_rst==1'b0)
     cnt<=25'b0;
 else if(cnt==cnt_max)
        cnt<=25'b0;
 else 
    cnt<=cnt+1'b1;
end

always@(posedge sys_clk or negedge sys_rst )
begin
     if(sys_rst==1'b0)
          led <= 1'b0;
        else if(cnt==cnt_max)
           led<=~led;
end


endmodule 

此代码实现了LED的状态每0.5s翻转一次,烧录程序后发现程序并没有达到预期效果通过对FPGA

通过对FPGA开发板的原理图分析可知,硬件上已将FPGA的复位引脚设为低电平,因此需将程序程序中的always@(posedge sys_clk or negedge sys_rst )改为always@(posedge sys_clk or nposedge sys_rst ),同时还将if条件语句中的sys_rst==1'b0改为sys_rst==1'b1,即可解决此问题

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值