急,FPGA编程求助

2019-03-25 10:21发布

我想编一个数码管动态显示的程序,但是下到板子(epm240t100c5)里一直跑不起来,也不知道是什么问题,求高手指导,谢谢。     module dig_show(clk,rst,csm_1,csm_2,db);
input clk;              //时钟(50MHz)
input rst;  //复位
output csm_1,csm_2; //数码管的位选
output [7:0] db;         //数码管的段选
parameter                //数码管显示数字对应的段选
   seg0 = 7'h3f,
   seg1 = 7'h06,
   seg2 = 7'h5b,
   seg3 = 7'h4f,
   seg4 = 7'h66,
   seg5 = 7'h6d,
   seg6 = 7'h7d,
   seg7 = 7'h07,
   seg8 = 7'h7f,
   seg9 = 7'h6f,
   sega = 7'h77,
   segb = 7'h7c,
   segc = 7'h39,
   segd = 7'h5e,
   sege = 7'h79,
   segf = 7'h71;
//-------------------------------------------
reg [7:0]flag;          //要在两个数码管上显示的数(从0-99),以cnt计数,cnt满后flag加一
always @ (posedge clk or negedge rst)
begin
if(!rst) flag<=0;
else if(cnt==24'hffffff&&flag<=8'd99) flag<=flag+1'b1;
else if(flag>8'd99)flag<=0;
end
wire[3:0] num;  //以cnt【23】为标志位,将flag的高四位和低四位分别赋给num
assign num=cnt[23]? flag[7:4]:flag[3:0];
//------------------------------------------------------------
reg[7:0] sm_dbr;
always @(posedge clk)
case (num) 
   4'h0: sm_dbr <= seg0;
   4'h1: sm_dbr <= seg1;
   4'h2: sm_dbr <= seg2;
   4'h3: sm_dbr <= seg3;
   4'h4: sm_dbr <= seg4;
   4'h5: sm_dbr <= seg5;
   4'h6: sm_dbr <= seg6;
   4'h7: sm_dbr <= seg7;
   4'h8: sm_dbr <= seg8;
   4'h9: sm_dbr <= seg9;
   4'ha: sm_dbr <= sega;
   4'hb: sm_dbr <= segb;
   4'hc: sm_dbr <= segc;
   4'hd: sm_dbr <= segd;
   4'he: sm_dbr <= sege;
   4'hf: sm_dbr <= segf;
   default: ;
   endcase
assign db=sm_dbr; //把段选址赋给数码管的段选
   
//-----------------------------------------------
reg [23:0] cnt;  //计数器
always @(posedge clk or negedge rst)
if(!rst) cnt<=24'd0;
else cnt<=cnt+1'b1;   
assign csm_1=cnt[23]; //以cnt[23]为标志位,分别打开数码管1、2的位选
assign csm_2=~cnt[23];

endmodule 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
小草风清扬
2019-03-25 21:58
< / 我看后的建议:
1.   else if(cnt==24'hffffff&&flag<=8'd99) flag<=flag+1'b1; 这句flag后的是<=???
2              assign num=cnt[23]? flag[7:4]:flag[3:0];这句有问题不? 前后位数不一样
3.你可以先让数码管显示一个数,慢慢一步一步来,从简单到复杂,看是哪不有问题
4,一个always里面不要同时有阻塞和非阻塞赋值
5 ,看起来,程序有点乱

一周热门 更多>