版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FPGA4位十进制频率计4位十进制频率计一、设计目的用Verilog HDL语言设计一个能实现自动测频的4位十进制频率计。1)测量范围: 1Hz9999Hz2)测量的数值通过4个数码管显示3)频率超过9999Hz时,溢出指示灯亮,可以作为扩大测量范围的接口。二、设计原理1、若某一信号在T秒时间里重复变化了N 次,则根据频率的定义可知该信号的频率fs 为:fs=N/T。2、当T=1s时,N就是测得的频率。3、根据以上所提出的方法,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期作准备的计数器复位信号。这个复位信号可以
2、由一个测频控制信号发生器产生,即图1中的TESTCTL,它的设计要求是,TESTCTL的计数使能信号CNT_EN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的EN使能端进行同步控制。当CNT_EN高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,每锁存器进行一次锁存,并由数码管显示计数值。设置锁存器是为了使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一清零信号RST_CNT对计数器进行清零,为下1秒钟的计数操作准备。图1 原理图三、设计步骤1、新建cym工程文件。图2 建立工程由于是用VHDL语言进行设计,所以此处选择类型
3、为HDL。之后一直点击确认即可。图3 芯片信息配置由于我们所采用的板子为RCXQ208_V5 FPGA开发板,所以配置如图所示。新建各个分模块并输入代码。2、3、建立顶层文件为原理图型,例化各个模块并连接。图5 建立VHDL文件4、对设计进行综合,如果出现错误,根据提示改正。图6 综合黄色感叹符号代表有警告,有些警告可以忽略,绿色小勾表示综合成功。5、建立测试文件并进行仿真,验证设计。图7 建立激励文件之后一直点击确认即可。为了结合我们的下载板子的时钟信号,在测试文件中设置时钟单位为10ns,精度为1ps,如图:仿真文件应验证个端口的正确性。由于时钟单位为10ns,所以CLK_50M每一个仿真
4、时间单位翻转一次即可产生一个50M的时钟信号。开始时进行一次复位,使各寄存器初值正确。control_port端为数码管位扫描端,所以其值一直在1110110110110111循环。data_out端为数码管显示的数字对应的七段数码管的二进制数据,它的值可以与control_port端对应到一起观察,转换为对应的十进制数据即是1110、1101、1011、0111对应的data端的信号由09循环。对测试文件进行检查,出现绿色小勾表示无语法错误,可以进行仿真。图96、根据板子锁定引脚,并生成下载文件。下载板有两个时钟输出引脚,一个为40M的,一个为50M的。本设计采用的是50M,所以CLK_50
5、M引脚锁定为引脚P80,即net CLK_50M loc = p80。CLR 复位端连接一个轻触开关,为P57,即net CLR loc = p57。CARRY_OUT溢出标志端用一个LED灯来表示,net CARRY_OUT loc = p22。下载板数码管引脚图如图所示:图10 数码管端口图由图可知data端和control_port端的引脚应该分别锁定为:net data_out0 loc = p102;net data_out1 loc = p99;net data_out 2 loc = p107;net data_out 3 loc = p109;net data_out 4 lo
6、c = p112;net data_out 5 loc = p100;net data_out 6 loc = p106;net data_out 7 loc = p108;net control_port0 loc = p127;net control_port1 loc = p128;net control_port2 loc = p129;net control_port3 loc = p132;net control_port4 loc = p120;net control_port5 loc = p122;四、仿真结果1、时钟信号图11 验证CLK信号由图可知,CLK信号周期为20n
7、s,时钟信号正确。2、c ontrol_port信号图12 control_port信号由图可知,control_port信号在预料的循环之内,所以正确。3、data信号图13 data信号第二个扫描周期图14 data信号第三个扫描周期图15 data信号第四个扫描周期图16 data信号第五个扫描周期由上图综合可知,data信号在预料的变化之内,所以正确。五、体会本次设计由于有了上一次跑表的设计,所以有了几分心得。要做得快了不少,但还是有一定难度。把难度大的设计分为各个难度较小的模块来设计,本就是我们自顶向下设计的一种重要思想。该设计就用到了这种思想。在简化的同时,我们应该确保各个模块的正
8、确性,所以各个模块我们都应测试、仿真之后在综合到一起。有时候分开各个模块都可以,但是综合在一起就有各种错误出现了。所以我们在综合代码的时候,一点要小心又小心,确保引脚的对应关系无误。逻辑顺序无误。六、代码1、Verilog HDL代码:/*4位十进制计数器*LR(CLR),.CARRY_OUT(CARRY_OUT),.CLK_50M(CLK_50M),.data_out(data_out),.control_port(control_port) );/ Initialize Inputsinitial beginCLK_50M = 0;forever #1 CLK_50M = CLK_50M;
9、endinitial beginCLR = 1;#10 CLR = 0;endendmodule3、引脚锁定:net CLK_50M loc = p80;net CLR loc = p57;net CARRY_OUT loc = p22;net data_out0 loc = p102;net data_out1 loc = p99;net data_out 2 loc = p107;net data_out 3 loc = p109;net data_out 4 loc = p112;net data_out 5 loc = p100;net data_out 6 loc = p106;net data_out 7 loc = p108;net control_port0 loc = p127; net
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 呼吸衰竭的病情观察要点
- 叙事护理:护士角色与患者角色的转变
- 养老院洗浴护理人员的继续教育与培训
- 2024届福建省宁德市第一中学高三第一次检测生物答案
- 上海市部分区2025-2026学年初三毕业班教学质量检测试题试卷英语试题含解析
- 浙江省湖州长兴县联考2026届初三查漏补缺数学试题试卷含解析
- 陕西省靖边县2026年初三第二学期期中联考语文试题含解析
- 连云港市2026年初三下学期英语试题试卷含解析
- 湖北省随州曾都区市级名校2025-2026学年初三第一次统一练习语文试题含解析
- 养老护理消防安全培训评估
- 2026河南豫能控股股份有限公司及所管企业招聘31人备考题库及参考答案详解(黄金题型)
- 2026年平顶山发展投资控股集团有限公司校园招聘考试备考试题及答案解析
- GB/T 47067-2026塑料模塑件公差和验收条件
- GB/T 21558-2025建筑绝热用硬质聚氨酯泡沫塑料
- 雨课堂学堂在线学堂云《Linux操作系统(东北)》单元测试考核答案
- 全国“红旗杯”班组长大赛知识考试题题库(含答案解析)
- 急诊科建设与管理指南(2025年版)
- 村级三资监督范围课件
- 多径环境FSK载波同步-洞察及研究
- 安全帽佩戴培训目的课件
- 特殊危险作业安全培训课件
评论
0/150
提交评论