OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 431|回复: 1

[国产FPGA] 电灯程序,为什么仿真和实际上机不一样

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
2022-9-6
在线时间
1 小时
发表于 2024-1-29 23:47:16 | 显示全部楼层 |阅读模式
1金钱
module LED(
        input                    sys_clk, //时钟输入
        input                    rst_en , //复位
        output  reg [7:0]   LEDSEG , //led信号
        output  reg [5:0]   LEDCH    //led通道
   );

parameter  delay_ms    = 1000;  
parameter  counter_max = delay_ms * 50000;
reg [5:0]  LED_Num;
reg [32:0] counter ;
reg  counter_en=0;



always @(posedge sys_clk or negedge rst_en) begin
        if(!rst_en)
                counter<=1'b0;
        else if(counter<(counter_max-1)) begin
                 counter_en<=1'b0;
                 counter<=counter+1'b1;
                 end
        else  begin       
            counter_en<=1'b1;
                counter<=1'b0;
        end
end

always @(*) begin
        if(rst_en==1'b0) begin
                LEDCH=6'b00_0000;
                LEDSEG=8'b0000_0000;
            end
        else if(counter_en==1'b1) begin

                if(LED_Num<6'd5)
                        LED_Num=LED_Num+6'd1;
                else                                         
                        LED_Num=6'd0;       
                LEDCH=(6'b0000_01<<LED_Num);
                LEDSEG=8'hff;
    end

end
endmodule



程序如上,应该是每隔一秒6个数码管轮番亮才对,但是这个LED_Num好像不会累加到6后变成0循环,引脚的映射是对的仿真上看每个数据都和想象中一样,但是实际效果不一样,数码管一个都没亮。。。。真是奇怪啊




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2023-12-5
在线时间
15 小时
发表于 2024-1-31 10:45:52 | 显示全部楼层
开发板上面的数码管是共阳极接法,需要给低电平数码管才亮
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-9 17:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表