Verilog数字系统设计八
数字跑表设计
前言
随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,1 编程实现一个数字跑表。该跑表模块端口至少应包括: 1.1 CLK: 时钟信号(测试时钟频率自己设定); 1.2 CLR: 异步复位信号; 1.3 START: 开始计时信号(异步使能); 1.4 PAUSE: 暂停计时信号(异步使能); 1.5 MSH,MSL: 百分之一秒的高位和低位; 1.6 SH,SL: 秒信号的高位和低位; 1.7 MH,ML: 分钟信号的高位和低位。
一、数字跑表设计是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、编程
1.要求:
1.1 CLK: 时钟信号(测试时钟频率自己设定); 1.2 CLR: 异步复位信号; 1.3 START: 开始计时信号(异步使能); 1.4 PAUSE: 暂停计时信号(异步使能); 1.5 MSH,MSL: 百分之一秒的高位和低位; 1.6 SH,SL: 秒信号的高位和低位; 1.7 MH,ML: 分钟信号的高位和低位。
2.设计思路:
1.百分秒低位逢十进一
2.百分秒高位逢十进一
3.秒低位逢十进一
4.秒高位逢六进一
5.分低位逢十进一
6.分秒高位逢十进一
3.实现代码:
代码如下:
module digitalMeter(CLK,CLR,START,PAUSE,MSH,MSL,SH,SL,MH,ML);
input CLK,CLR,PAUSE,START;
output [3:0] MSH,MSL,SH,SL,MH,ML;
reg [3:0] MSH,MSL,SH,SL,MH,ML;
reg CY1,CY2;
always @(posedge CLK or posedge CLR)
begin
if(CLR)
begin
{MSH,MSL}=8'b00;
CY1=0;
end
else if((START)&&(!PAUSE))
begin
if(MSL==9)
begin
MSL=0;
if(MSH==9)
begin
MSH=0;
CY1=1;
end
else
MSH=MSH+1;
end
else
begin
MSL=MSL+1;
CY1=0;
end
end
end
always @(posedge CY1 or posedge CLR)
begin
if(CLR)
begin
{SH,SL}=8'b00;
CY2=0;
end
else if(SL==9)
begin
SL=0;
if(SH==5)
begin
SH=0;
CY2=1;
end
else
SH=SH+1;
end
else
begin
SL=SL+1;
CY2=0;
end
end
always @(posedge CY2 or posedge CLR)
begin
if(CLR)
begin
{MH,ML}=8'b00;
end
else if(ML==9)
begin
ML=0;
if(MH==9)
MH=0;
else
MH=MH+1;
end
else
ML=ML+1;
end
endmodule
测试代码如下:
module digitalMeter_T;
reg CLK_T,CLR_T,START_T,PAUSE_T;
wire [3:0] MSH_T,MSL_T,SH_T,SL_T,MH_T,ML_T;
initial
begin
CLK_T = 0;
CLR_T = 1;
START_T = 0;
PAUSE_T = 0;
#5
CLR_T = 0;
START_T =1;
end
always #10 CLK_T = ~CLK_T;
digitalMeter myDigitalMeter(
.CLK(CLK_T),
.CLR(CLR_T),
.START(START_T),
.PAUSE(PAUSE_T),
.MSH(MSH_T),
.MSL(MSL_T),
.SH(SH_T),
.SL(SL_T),
.MH(MH_T),
.ML(ML_T));
endmodule
4.仿真测试:
①百分秒低位逢十进一
②百分秒高位逢十进一
③秒低位逢十进一
④秒高位逢六进一
⑤分低位逢十进一
⑥分秒高位逢十进一
总结
提示: 以上就是今天要分享的内容,本文仅仅简单介绍了Verilog实现一个数字跑表。 该跑表模块端口至少应包括: 1.1 CLK: 时钟信号(测试时钟频率自己设定); 1.2 CLR: 异步复位信号; 1.3 START: 开始计时信号(异步使能); 1.4 PAUSE: 暂停计时信号(异步使能); 1.5 MSH,MSL: 百分之一秒的高位和低位; 1.6 SH,SL: 秒信号的高位和低位; 1.7 MH,ML: 分钟信号的高位和低位。
|