目录
前言
本博文用Verilog HDL语言描述模24的8421BCD码计数器,之后用Modelsim进行功能仿真,然后用ISE进行综合,看看综合出来的RTL级电路以及Technology Schematic是什么样子的,对于RTL Schematic 以及 Technology Schematic可能比较复杂,暂时可能看不懂,但混个眼熟吧。重点是设计思路以及波形图是否正确,后面例如设计一个时钟计数器,这个模24的计数器就可以当成一个模块来直接使用。本博文的目的实际上也是为了时钟计数器做准备,后面的博文会用到这个模块。
原理
计数原理很简单,rst_n为异步复位信号,当时钟上升沿或复位下降沿到来时,如果rst_n有效,则计数器清零(0000 0000)。计数器的计数过程为,当输出信号的低4位从0(0000)计数到9(1001)后,高4位计数加1,当计数到23(0010 0011)时,计数器重新清零,然后重新开始计数。
Verilog HDL程序设计
//8421BCD码计数器,模24
module bcd_counter(clk, rst_n, en, dout);
input clk, rst_n, en;
output[7:0] dout;
reg[7:0] dout;
always@(posedge clk or negedge rst_n) //异步