求大神帮忙,verilog hdl编程

2024-12-05 15:18:36
推荐回答(1个)
回答1:

这个不用大神出手,太简单了,我把任务给你分解一下,code工作你自己搞吧,都不难。
模块1 时钟分频(把外部晶振分频成2Hz和1Hz的输出)
input osc,clk_sel;
output clk_1hz_2hz;
模块2 循环状态机 (一个16个状态的具有暂停功能的单循环状态机)
input clk_1hz_2hz,hold_reg;
output [3:0] now_state;
reg [3:0] now_state;
always @(posedge clk_1hz_2hz)
if(hold)
now_state <= now_state;
else
now_state <= now_state +1;
模块3 数码管显示驱动
input osc,now_state;
output [7:0] lamp_num;//数码管显示使能 列
output [7:0] lamp_data;//数码管显示内容 行 灯亮显示“8” 其实没内容
注意选择一个合适的扫描时钟 osc太快 硬件损耗大,1秒又太慢 不好看
模块4 暂停功能及相关显示
input hold,work;
output hold_reg;
reg hold_reg;
out //调用双色点阵的显示驱动函数即可