用xilinx的fpga一个点亮led的代码

2019-03-25 07:52发布

用下面这段代码闪亮板子上3个led,这段代码在altera的板子上执行后led会闪烁,但是在xilinx的板子上没有得到相同的效果。在xilinx的板子上只是这3个led亮了,但是不闪(板子上共有8个led)
module led(sys_clk,
                                sys_rstn,
                                led
                                );
input sys_clk;
input sys_rstn;
output [2:0] led;
reg         [2:0]        led;
reg        [24:0] delay_cnt;
always@(posedge sys_clk or negedge sys_rstn)
        begin
                if(!sys_rstn)
                        delay_cnt <= 25'd0;
                else
                        begin
                                if(delay_cnt == 25'd24999999)
                                        delay_cnt <= 25'd0;
                                else
                                        delay_cnt<=delay_cnt+1'b1;
                        end
        end
always@(posedge sys_clk or negedge sys_rstn)
        begin
                if(!sys_rstn)
                        led<=3'b111;
                else
                        begin
                                if(delay_cnt==25'd24999999)
                                        led<=~led;
                                else
                                        led<=led;
                        end
        end
endmodule

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
chenzhufly
1楼-- · 2019-03-25 14:17
< / 检查clk
elvike
2楼-- · 2019-03-25 14:42
 精彩回答 2  元偷偷看……
elvike
3楼-- · 2019-03-25 14:59
一个50MHz的时钟连接到E12了?我能这样直接用吗?
elvike
4楼-- · 2019-03-25 16:19
配置到GCLK5
zgbkdlm
5楼-- · 2019-03-25 19:17
为什么要多此一举呢,
module led(sys_clk,
                                sys_rstn,
                                led
                                );
input sys_clk;
input sys_rstn;
output [2:0] led;
reg         [2:0]        led;
reg        [24:0] delay_cnt;
always@(posedge sys_clk or negedge sys_rstn)
        begin
                if(!sys_rstn)
                        delay_cnt <= 25'd0;
                        led<=3'b111;
                else
                        begin
                                if(delay_cnt == 25'd24999999)
                                        delay_cnt <= 25'd0;
                                        led<=~led;
                                else
                                        delay_cnt<=delay_cnt+1'b1;
                        end
        end

而且,这种的,最好用简单的组合电路组成就好,占用资源也少.

一周热门 更多>