1. 设计时钟基准电路和带使能的多周期计数器
本质上是两级计数器级联的电路结构——第一级计数器为时钟基准电路,生成时钟基准信号;第二级为多周期计数器用时钟基准信号作为计数使能进行计数;
实验要求:把后级计数器的计数范围改为 0-15,把计数器的 0-15 计数值经过译码,在DE0的 HEX LED上显示成 0-9-A-F 的十六进制数
- ① 模块例化(Verilog HDL代码)
时钟基准电路模块
module cnt_sync(
CLK , // clock
CNTVAL, // counter value
OV ); // overflow
input CLK;
output [32-1:0] CNTVAL;
output OV;
parameter MAX_VAL = 25_000_000; //MAX ADD NUM
reg [32-1:0] CNTVAL;
reg OV;
always @ (posedge CLK) begin
if(CNTVAL >= MAX_VAL)
CNTVAL <= 0;
else
CNTVAL <= CNTVAL + 1'b1;
end
always @ (CNTVAL) begin
if(CNTVAL == MAX_VAL)
OV = 1'b1;
else
OV = 1'b0;
end
endmodule //
0-15周期计数器模块
module cnt_en_0to15(
CLK , // clock
CNTVAL, // counter value
EN ,
OV ); // overflow
input CLK;
input EN;
output [4-1:0] CNTVAL;
o

该博客详细介绍了如何使用FPGA设计时钟基准电路和带使能的多周期计数器。实验内容包括两级计数器的级联,其中第二级计数器范围设为0-15并显示为0-9-A-F的十六进制数。此外,还展示了如何设计一个0.1秒精度、0-9.9秒范围的带清零和暂停功能的计时秒表,通过按键控制清零和暂停操作。
最低0.47元/天 解锁文章
631

被折叠的 条评论
为什么被折叠?



