BCD 计数器
模块如下:
端口命名如下:
代码如下:
`timescale 1ns / 1ps
//
//当两个 BCD 码相加,如果和等于或小于 1001b(即十进制数 9),不需要修正;如
//果相加之和在 1010b 到 1111b(即十六进制数 0AH~0FH)之间,则需加 6d 也就是 0110 进行
//修正;如果相加时,本位产生了进位,也需加 6 进行修正。
//
module BCD_Counter(
input clk,
input rst_n,
input cin,
output wire cout,
output [3:0]q
);
//计数器的计数值为 9时
reg [3:0] cnt;//计数器寄存器
always@(posedge clk or