爱捣鼓

在CME-M5开发板上运行的第1个Verilog HDL跑马灯程序

0
阅读(3210)

/*****************************************
程序名称:8位LED跑马灯
程序功能:8个LED灯,从1至8循环间隔500ms逐个点亮,单个LED亮时,其它7个LED灭
FPGA型号:CME-M5C06N3L144C7
开发工具版本:Primace 4.2
程序版本:V0.0.1
作者:谭鹏超
******************************************/
module pmdled(clk0,rst_n,led);
input clk0;                //输入时钟
input rst_n;        //复位按键
output[7:0] led;        //8个LED输出口

parameter led_cnt = 24'h989680;                //500ms,计数2000000次
reg[7:0] r_led;                
reg[23:0] r_cnt;        //分频计数器
reg r_clk1Hz;                //分频输出

//1Hz分频
always @(posedge clk0 or negedge rst_n)
        begin
                if(!rst_n)
                        begin
                                r_cnt <= 24'h000000;
                        end
                else if(r_cnt == led_cnt)
                        begin
                                r_clk1Hz <= ~r_clk1Hz;
                                r_cnt <= 24'h000000;
                        end
                else
                        begin
                                r_cnt <= r_cnt+1'b1;
                        end
        end

//Led灯移位控制
always @(posedge r_clk1Hz or negedge rst_n)
        begin
                if(!rst_n)
                        begin
                                r_led <= 8'hfe;
                        end
                else
                        begin
                                r_led[0] <= r_led[7];
                                r_led[7:1] <= r_led[6:0];
                        end
        end

//移位后的LED值分配给输出端口
assign led =r_led;

endmodule

该程序使用Primace 4.2编译时,还有下面这个警告:
  1. Warning: RTLW_XASYNCINIT_001:'/cygdrive/E/CMEFPGA/01StudyVideo/00Practice/PMDLED/PMDLED/src/PMDLED.v',         line 11... In this procedure block, variable 'r_clk1Hz' (bit-0) is         not initialized in asynchronous branch(es) even though the process         is controlled by asynchronous controls. 

复制代码
通过该警告大概能看出是r_clk1Hz这个变量没有初始化的警告。可是,我在r_clk1Hz定义出赋值为0后,进行编译,依旧有这个警告。不知是为啥。不过,该程序下载到CME-M5开发板中运行正常。已经过第2天0点了,先发出来展示一下。希望有高手能帮忙看一下。先行谢过。


来源:爱捣鼓网

作者:爱捣鼓

原文链接:http://www.aidaogu.com/forum.php?mod=viewthread&tid=198