频率计实验报告频率计实验报告xx011014.docx
- 文档编号:968055
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:19
- 大小:17.71KB
频率计实验报告频率计实验报告xx011014.docx
《频率计实验报告频率计实验报告xx011014.docx》由会员分享,可在线阅读,更多相关《频率计实验报告频率计实验报告xx011014.docx(19页珍藏版)》请在冰豆网上搜索。
频率计实验报告频率计实验报告xx011014
频率计实验报告频率计实验报告xx011014
数字逻辑与处理器基础
实验三频率计
实验
实验目的:
掌握频率计的原理和设计方法。
实验工具:
1Verilog语言
2QuartusII9.0
3DE2实验板
实验设计:
1总体思路以及模块总述
设计的基本思路是按照实验指导书上给出的原理图划分模块。
①待测信号产生模块signalinput.v:
由指导书给出,用于产生待测信号sigin;②1Hz时钟产生模块clk_1hz.v:
通过实验板50MHz产生1Hz时钟clk_1hz;
③控制信号产生模块control.v:
通过1Hz时钟,产生频率计所需的使能信号en,同步清零信号reset,锁存信号la,生成一个3秒钟的频率计数周期;
④十分频模块div_10.v:
若量程选择信号sw_2为高电平,则待测信号需进行十分频;⑤计数器模块counter.v:
频率计的核心部分,包括四位十进制计数器,以及对应七段译码器的译码器。
这里我把实验指导书中的译码模块整合在了里面,原因是认为在这个设计中单做一个译码模块意义不大,整合在里面翻倒方便一些;
⑥信号锁存模块lat.v:
当锁存信号la为高电平时,锁存输出持续显示;⑦顶层模块div.v:
进行各分立模块的功能综合;
2模块分述
(1)待测信号产生模块
代码:
modulesignalinput(testmode,sysclk,sigin);
input[1:
0]testmode;//00,01,10,11分别代表4种频率,分别为3125,6250,50,12500Hz,使用SW1~SW0来控制
inputsysclk;//系统时钟50M
outputsigin;//输出待测信号
reg[20:
0]state;
reg[20:
0]divide;
regsigin;
initial
begin
sigin=0;
state=21"b[***********]000;
divide=21"b000000_1111_1010_0000000;
end
always@(testmode)
begin
case(testmode[1:
0])
2"b00:
divide=21"d16000;//3125Hz
2"b01:
divide=21"d8000;//6250Hz
2"b10:
divide=21"d1000000;//50Hz
2"b11:
divide=21"d4000;//12500Hz
endcase
end
always@(posedgesysclk)//按divide分频
begin
if(state==0)
sigin=~sigin;
state=state+21"b0_00__0000_0000_0000_0000_10;
if(state==divide)
state=27"b000_0000_0000_0000_0000_0000_0000;
end
endmodule
可以看出大致由两部分构成:
频率选择、分频。
通过testmode的值先进行选择所需的频率,然后进行分频。
(2)1Hz时钟产生模块
代码:
moduleclk_1hz(sysclk,clk);
inputsysclk;
outputclk;
regclk;
reg[31:
0]counter;
initial
begin
counter
clk
end
always@(posedgesysclk)
begin
if(counter==32"d24999999)
begin
clk
counter
end
elsecounter
end
endmodule
把实验板上的50MHz时钟进行50M倍分频,得到1Hz时钟。
(3)控制信号产生模块
代码:
modulecontrol(clk_1hz,en,reset,la);
inputclk_1hz;
outputen,reset,la;
reg[2:
0]state=3"b000;
regen;
regreset;
regla;
parameters0=3"b000,s1=3"b001,s2=3"b010;
always@(posedgeclk_1hz)
begin
case(state)
s0:
begin
en
reset
la
state
end
s1:
begin
en
reset
la
state
end
s2:
begin
la
reset
en
state
end
endcase
end
endmodule
通过1Hz时钟产生3个控制信号,用了一个简单的状态转移,在3秒周期内,第一秒使能信号en为高电平进行计数,第二三秒锁存信号为高电平,第三秒清零。
为了验证正确性,单独进行了仿真,波形图如下图
可见功能正确。
(4)十分频模块
代码:
modulediv_10(sigin,sw_2,sigout,led);
inputsigin,sw_2;
outputsigout,led;
regsigout;
reg[3:
0]counter;
always@(posedgesigin)begin
if(sw_2)begin
if(counter==4"d4)begin
sigout
counter
end
elsecounter
end
end
assignled=sw_2?
1:
0;
endmodule
当sw_2信号为高电平时,对信号进行10分频,并使led信号为1。
(5)计数器模块
代码:
modulecounter(sigin,en,reset,clr,hex0,hex1,hex2,hex3);
inputsigin,en,reset,clr;
reg[3:
0]q0;
reg[3:
0]q1;
reg[3:
0]q2;
reg[3:
0]q3;
output[6:
0]hex0;
output[6:
0]hex1;
output[6:
0]hex2;
output[6:
0]hex3;
always@(posedgesiginorposedgeresetornegedgeclr)begin
if(reset||(!
clr))begin
q0
q1
q2
q3
end
elseif(en)begin
if(q0==4"d9)begin
if(q1==4"d9)begin
if(q2==4"d9)begin
q3
q2
elseq2
q1
elseq1
q0
elseq0
elsebegin{q0,q1,q2,q3}
assignhex0=(q0==4"d0)?
7"b1000000:
(q0==4"d1)?
7"b1111001:
(q0==4"d2)?
7"b0100100:
(q0==4"d3)?
7"b0110000:
(q0==4"d4)?
7"b0011001:
(q0==4"d5)?
7"b0010010:
(q0==4"d6)?
7"b0000010:
(q0==4"d7)?
7"b1111000:
(q0==4"d8)?
7"b0000000:
(q0==4"d9)?
7"b0010000:
7"b0;
assignhex1=(q1==4"d0)?
7"b1000000:
(q1==4"d1)?
7"b1111001:
(q1==4"d2)?
7"b0100100:
(q1==4"d3)?
7"b0110000:
(q1==4"d4)?
7"b0011001:
(q1==4"d5)?
7"b0010010:
(q1==4"d6)?
7"b0000010:
(q1==4"d7)?
7"b1111000:
(q1==4"d8)?
7"b0000000:
(q1==4"d9)?
7"b0010000:
7"b0;
assignhex2=(q2==4"d0)?
7"b1000000:
(q2==4"d1)?
7"b1111001:
(q2==4"d2)?
7"b0100100:
(q2==4"d3)?
7"b0110000:
(q2==4"d4)?
7"b0011001:
(q2==4"d5)?
7"b0010010:
(q2==4"d6)?
7"b0000010:
(q2==4"d7)?
7"b1111000:
(q2==4"d8)?
7"b0000000:
(q2==4"d9)?
7"b0010000:
7"b0;
assignhex3=(q3==4"d0)?
7"b1000000:
(q3==4"d1)?
7"b1111001:
(q3==4"d2)?
7"b0100100:
(q3==4"d3)?
7"b0110000:
(q3==4"d4)?
7"b0011001:
(q3==4"d5)?
7"b0010010:
(q3==4"d6)?
7"b0000010:
(q3==4"d7)?
7"b1111000:
(q3==4"d8)?
7"b0000000:
(q3==4"d9)?
7"b0010000:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 频率计 实验 报告 xx011014