FPGA学习:verilog语言:8个数码管动态扫描实验(含源码)

分析

逻辑代码:



module nixie_tube(
clk,
rst_n,
disp_data,
sel,
seg
    );
    input clk;
    input rst_n;
    input [31:0]disp_data;	//输入需要显示的数据
    output reg[7:0]sel;		//选择数码管
    output reg[7:0]seg;		//8个数码管;seg[0]=a,seg[1]=b,...seg[7]=h
    
    reg clk_1k;
    reg[15:0]div_cnt;
    always@(posedge clk or negedge rst_n)
    if(!rst_n)
    	div_cnt <= 0;
    else if (div_cnt >= 49999)//计数1ms
    	div_cnt <= 0;
    	else
    	div_cnt <= div_cnt + 1;
    	
  //产生1K的使能时钟  	
     always@(posedge clk or negedge rst_n)
     if(!rst_n)
     	clk_1k <= 0;
     else if(div_cnt == 49999)
       	clk_1k <= 1'b1 ;
    	 else
    	 clk_1k <= 0;
     
     reg [2:0]num_cnt;	//选择数码管计数
     always@(posedge clk_1k or negedge rst_n)
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值