EDA四位十进制频率计课程设计报告.docx
《EDA四位十进制频率计课程设计报告.docx》由会员分享,可在线阅读,更多相关《EDA四位十进制频率计课程设计报告.docx(6页珍藏版)》请在冰豆网上搜索。
EDA四位十进制频率计课程设计报告
EDA四位十进制频率计课程设计报告
本科课程设计报告
S
课程名称:
CPLD/FPGA应用设计
课程设计题目:
4位十进制计数扫描显示电路
实验地点:
中区采矿楼二层
专业班级:
电信
学号:
学生姓名:
xx年6月17日
目录
一、设计目的.................................................................................................................................3二、设计的主要内容和要求...........................................................................................................3三、整体设计方案...........................................................................................................................31、设计方案.....................................................................................................................................32、四位十进制频率计顶层文件原理图.........................................................................................43、本设计中重要端口说明.............................................................................................................4四、各个模块的设计说明及设计步骤...........................................................................................41、顶层文件原理图设计.................................................................................................................52、x4Cnt10模块说明.....................................................................................................................53、Tctl模块说明........................................................................................................................54、锁存器reg16模块的说明..........................................................................................................65、scan_led模块说明.....................................................................................................................76、分频器.........................................................................................................................................87、动态显示时序仿真图.................................................................................................................88、调用各子模块编译仿真,时序仿真图如下.............................................................................99、编译仿真完成,定义管脚.........................................................................................................910、试验箱进行硬件测试...............................................................................................................9五、设计总结.................................................................................................................................10六.
秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器信号和为下一测频计数周期做准备的计数器清零信号。
这三个信号可以一个测频控制信号发生器Tctl产生,其设计要求是Tctl的计数使能信号en能产生一个一秒脉宽的周期信号,并且对频率计的每一计数器cnt10的en使能进行同步控制,当en高定平时,允许继续:
低电平时停止计数,并保持其所计数的脉冲数,在停止计数期间,首先需要一个锁存信号load的上升沿将计数器前一秒钟的计数值锁存进各锁存器reg16中,并外部的译码器译出并显示计数值,锁存信号之后,必须有一个清零信号rst对计数器进行清零,为下一秒的计数操作做准备。
控制模块Tctl时序仿真:
图频率计测频控制器Tctl侧可控时序图
图中clk的频率为1hz,en的高电平程序时间为1秒,此时计数器开始工作,当en低电平时停止计数,并将计数值经过load锁存的reg16中最后通过scan_led译码器显示输入,en的计时长度为一秒,即en的周期为2秒,计数器在en高电平计数完成即en从高电平跳跃到低电平时将计数结果锁存在reg16中,rst在满足clk和en均为低电平的时候对已锁存入锁存器的计数信号进行清零工作,为下一个计数周期作准备。
4、锁存器reg16模块的说明
设置锁存器的目的是使显示的数据稳定,不会于周期性的清零信号而不断闪烁,每次显示数据位上一计数周期锁存的计数值。
Reg16锁存器时序仿真图:
图reg16锁存器仿真波形图
5、scan_led模块说明
动态显示是把所有的led管的输入信号连在一起,每次向LED写数据时,通过片选信号选通其中一个Led管并把数据写入,因此每一个时刻只有一个Led是亮的。
为了能够程序看到led上面的显示内容,必须对led管进行扫描,即一次循环点亮各个led管,利用人眼的视觉暂留,加上发光器件的余晖效益,在一定的扫描频率下,人眼就会看到多个led管一起点亮。
扫描的大小必须合适才能达到很好的效果。
如果扫描频率太低,就会产生闪烁;而扫描频率太高会造成Led的频率开启和关断,增加led的功耗。
通常扫描频率选择50Hz比较合适。
本次设计为4为led动态扫描输出,clkwie扫描时钟,考虑到cnt8的分频作用,此时设计采用的频率为200hz:
sg[6..0]为当前正在显示的led地址的已译码数据;bt[1..0]为输出的片选信号,决定某led在某时某刻显示数据:
din[15..0]为4为一组的bcd码,共4位供显示输出的数据输入,scan_led的内部以下三个进程:
计数模块扫描时钟发生器,多路选通器模块和译码模块。
led动态扫描输出scan_led时序仿真图;
图动态扫描仿真波形图
Clk_1hz输入周期为1hz;
Fin为测量频率,频率范围是100-9999hz,此次波形仿真设计时间为1khz;
Clk为扫描时钟,周期为200hz;
Sg为输出led七段显示译码结果,bt为输出片选信号,波形仿真图可以看出片选0时led显示为0,片选1时led显示为0,片选2时led显示为0,片选3时led显示为1;即此时频率计计数频率为1000hz,与实际输入频率相同。
Clk_1hz的1hz输入频率通过DE2内部clock_50的50M晶振分频来实现。
输入频率信号和扫描频率也50M晶振分频得到,又于仿真设计中采用的是一个led现实动态数据,所以下载到DE2板上是还要进行动态显示电路的设计。
6、分频器
(可以通过改变不同的cout值来进行不同的分频)分频器时序仿真图:
图分频仿真波形图
7、动态显示时序仿真图
图动态显示仿真波形
8、调用各子模块编译仿真,时序仿真图如下
图调用各子模块时序仿真图
9、编译仿真完成,定义管脚
图引脚定义
10、试验箱进行硬件测试
试验箱选择模式6,1HZ测频控制信号clock0输入控制,待测信号clock5输入,可选择相应的频率值,在数码管显示器上显示相应的频率值。
五、设计总结
通过这次的eda设计使我更加的了解了vhdl语言的应用,于书上设计的是数码管进行动态显示,但是这种情况下不利于读取数据,所以我们后来设计成四个七段数码管静态输出结果的方式,但书上没有源程序可以参考,所以只能通过自己在网上查找资料并尝试,在这其过程中出现了很多错误,我们一步步更改,要求我们修改编写程序时要细心,谨防出现细小的错误。
尤其是实用语句的时候要考虑全面,不能前面写过忘记结尾,例如在使用if语句时要注意endif
的个数与前相对应,不能少也不能多。
在设计时还要考虑到设计引脚是否能够在试验箱上找到。
最后在老师的指导下我们总算是顺利地完成了这次的课程设计。
六.
when\when\whenothers=>null;endcase;
endprocessp1;
p2:
process(clk) ---计数模块扫描时钟发生器
begin ---时钟信号clk有效上升沿时,cnt8开始计数ifclk'eventandclk='1'thencnt8endprocessp2;
p3:
process(q) ---译码模块begin
caseq(3downto0)is---通过q的值来选择sg的led地址的已译码数据when\when\when\when\when\when\when\when\when\when\whenothers=>null;endcase;
endprocessp3;endone;分频的主要源程序:
Libraryieee;
Use_logic_;Use_logic_;Entitycountis
Port(clk50:
instd_logic; ---端口定义 qlk:
outstd_logic);Endcount;
ArchitectureoneofcountisBegin
HZ:
process(clk50)
Variablecout:
integer:
=0;---设置变量cout,且其初值为0
Begin
Ifclk50'eventandclk50='1'then---时钟信号clk50上升沿时,cout值就增1cout:
=cout+1;
IfcoutElseifcout49999时,cout值清零Endif;Endif;Endif;
EndprocessHZ;Endone;动态显示源程序;
Libraryieee;
Use_logic_;Use_logic_;Entityexportis
Port(q2:
instd_logic; ---端口定义
bt:
instd_logic_vector(1downto0); sg:
instd_logic_vector(6downto0);
led0,led1,led2,led3:
outstd_logic_vector(6downto0));End;
ArchitectureoneofexportisBegin
Process(q2)Begin
Ifq2'eventandq2='1'then---当q2为上升沿时,通过bt的值来选择sg,Casebtis ---把sg的值赋给相应的ledWhen\When\When\When\Whenothers=>null;Endcase;endif;
Endprocess;Endone;
本科课程设计报告
S
课程名称:
CPLD/FPGA应用设计
课程设计题目:
4位十进制计数扫描显示电路
实验地点:
中区采矿楼二层
专业班级:
电信
学号:
学生姓名:
xx年6月17日
目录
一、设计目的.................................................................................................................................3二、设计的主要内容和要求...........................................................................................................3三、整体设计方案...........................................................................................................................31、设计方案.....................................................................................................................................32、四位十进制频率计顶层文件原理图.........................................................................................43、本设计中重要端口说明.............................................................................................................4四、各个模块的设计说明及设计步骤...........................................................................................41、顶层文件原理图设计.................................................................................................................52、x4Cnt10模块说明.....................................................................................................................53、Tctl模块说明........................................................................................................................54、锁存器reg16模块的说明..........................................................................................................65、scan_led模块说明.....................................................................................................................76、分频器.........................................................................................................................................87、动态显示时序仿真图.................................................................................................................88、调用各子模块编译仿真,时序仿真图如下.............................................................................99、编译仿真完成,定义管脚.........................................................................................................910、试验箱进行硬件测试...............................................................................................................9五、设计总结.................................................................................................................................10六.