FPGA—4位十进制频率计_第1页
FPGA—4位十进制频率计_第2页
FPGA—4位十进制频率计_第3页
FPGA—4位十进制频率计_第4页
FPGA—4位十进制频率计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4位十进制频率计一、设计目的用Verilog HDL语言设计一个能实现自动测频的 4位十进制频率计。1)测量范围:1Hz9999Hz2)测量的数值通过4个数码管显示3)频率超过9999Hz时,溢出指示灯亮,可以作为扩大测量范围的接口。二、设计原理1、若某一信号在T秒时间里重复变化了 N次,则根据频率的定义可知该信 号的频率fs为:fs=N/T 02、当T=1s时,N就是测得的频率。3、根据以上所提出的方法,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和 为下一测频计数周期作准备的计数器复位信号。 这个复位信号可以由一个测频控 制信

2、号发生器产生,即图1中的TESTCTL它的设计要求是,TESTCTL勺计数使 能信号CNT_E健产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10 的EN使能端进行同步控制。当CNT_EIW电平时,允许计数;低电平时停止计数, 并保持其所计的脉冲数。在停止计数期间,每锁存器进行一次锁存,并由数码管 显示计数值。设置锁存器是为了使显示的数据稳定, 不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一清零信号RST_CNT寸计数器进行清零,为下1秒钟的计数操作准备图1原理图三、设计步骤1、新建cym工程文件图2建立工程由于是用VHDL语言进行设计,所以此处选择类型为 HDL之后一直

3、点击确认即可。N- Preset WizardErnfibke Me-ssaqf AlteiinqSp>3. Di £y dhwi 皿壮 口pi-cp4fe ti o.j.eK*ml JksifiFi fl 的 Ear tbsProper NiarneUalueEvaluation Develocment 日。adNcwtc Spec fie dProdiKt CaCeacrvAllfemih#号Dwl.XC1S5O0F51P*ck«3«PQ?Cfl1£gd-5Y 1lof5- Leve- Source Tr peHDLSwitlwsis Tool

4、(WEN1gd)ViSim (VHDUVrtiksg修«*t“ lx*au#a#Vw心目目PrepFRY Eoef备编曲gfi M NaiE FieillManati Ccnwil* GdrrnVHDL Si5vnce An与%事 tandprdVHDL-95y图3芯片信息配置由于我们所采用的板子为 RCXQ208_V5 FPGA发板,所以配置如图所示2、新建各个分模块并输入代码Hnerarchy目 cynn? >: ! Sir-1O.v)I-官涓 xc3 s 50De- 5 p q 200 is a.& sis .a si-jisa - aiiiah.i jiii &

5、gt;_a micountB-r 10 (tourterd iv_fre div_fre.vlatch (Iatch.v) seg_drsplay (seg_dkpla/,v) test rtl Ctest ctl .v'图4 建立VHDL文件3、建立顶层文件为原理图型,例化各个模块并连接图5 建立VHDL文件4、对设计进行综合,如果出现错误,根据提示改正。0%与y»CE!那一 iklEI:Q:s:a:=:由:Design tummary/Rjeport5Design Utilities User ConstraintsSynthesize - XST Implement D

6、esignGenerate Programming File Configure Target Device Analyze Design Using ChipStr.»图6综合黄色感叹符号代表有警告,有些警告可以忽略,绿色小勾表示综合成功5、建立测试文件并进行仿真,验证设计New Souircr 'AirardSelect: S*ur&e TjjeE.L.ct nmc. Lyiiti Lil« ume 皿d i ti JlvyndciLQ BMM Fflr5 LhipSMpe DefirMtion jnd Ceiineetish fik 国 Imp cni

7、riatwDri Ccmstraints Filr IP CQRfc orator a Archtecwre 仇法ndjVile mm:El_tT 三 t|L# psti 等集;| 1"13 »t 训yFr oj ygn?S M EM File® &由W Lk曰 Do Lurri nlg Vericg Modtjlo*/ Ver!tog Te4t Fkt皿 i.2V-IDL ModuleVHDL Libidi>VHDL 由tkjgc VHDL-si BtnchLmcccdcd PtoreasorD Adi to projectMir* In£

8、;d)C kneel图7建立激励文件之后一直点击确认即可为了结合我们的下载板子的时钟信号,在测试文件中设置时钟单位为10ns,精度为1ps,如图:1'ximescale 10n3 / Ips23 T.adile Btopwavch_t;&3t;;图8设置时钟单位仿真文件应验证个端口的正确性。由于时钟单位为10ns,所以CLK_50M1一个仿真时间单位翻转一次即可产生一个50M的时钟信号。开始时进行一次复位,使各寄存器初值正确。control_port端为数码管位扫描端,所以其值一直在1110110110110111 循环。dataout端为数码管显示的数字对应的七段数码管的二进

9、制数据,它的值可以与 control_port端对应到一起观察,转换为对应的十进制数据即是1110、1101、1011、0111对应的data端的信号由09循环。对测试文件进行检查,出现绿色小勾表示无语法错误,可以进行仿真。Processes: stopwatch_testISim Simulatorfj。Eebavioral Check SyntaxSimulate Bhvioral Model6、根据板子锁定引脚,并生成下载文件。下载板有两个时钟输出引脚,一个为40M的,一个为50M的。本设计采用的是 50M 所以 CLK_50MH脚锁定为引脚 P80,即 net "CLK_50

10、M" loc = p80 。 CLR 复位端连接一个轻触开关,为 P57,即net "CLR" loc = p57。 CARRY_OUT出标志端用一个LED灯来表示,net "CARRY_OUT" loc = p22 。下载板数码管引脚图如图所示:j J33iv i u .A A_ 里W 1TUBE-ENt0tube eno1TUBE. EN1132¥,V TUBE ENO 1 室QMQ1 劝INPTT QHUINPUT 1129TUBE ENITUBE EN2 TUBE EiN2、TU-E_E忖3TU3E EN4,、TU3JEN T

11、UBE EN3TU6E_EN<131INra OttLYINPUT 0TUR匚忖6TUBE EN3TUBE EN712JTJBE_EN131GND %TUGb ENTTUBEJXO.,7HQBUZZERngim rar 0«i4KR、TUBE_DOlitLCD1602 RSmLCD16Q?商,'TU目E_D1114、-U正 口(、Tlj-EJD3TUBE D4inLCD!M2 E,匕CRi m M TUEE D4,PLW:HE O«LThEV l|lE6TUB E_殳imb; tube 电sTUBE-wLCD1MI2 DJ IUHIz LI,1'r:C

12、:. |1;1L:1| |1.TUBE 071106LCOietl D6 TUBE De|>crIflhJHLQ%2 ATW£_Q1,此M:l;斗Itw- FY.、l、LSIML.DO TUHEQQ图10数码管端口图由图可知data端和control_port端的引脚应该分别锁定为:net "data_out0" 10c = p102;net "data_out1" 10c = p99;net "data_out 2" loc = p107;net "data_out 3" 10c = p109;n

13、et "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 "control_port1" loc = p128;net "control_port2" loc = p129;net "control_port3&qu

14、ot; loc = p132;net "control_port4" loc = p120;net "control_port5" loc = p122;四、仿真结果1、时钟信号图11 验证CLK信号由图可知,CLK信号周期为20ns,时钟信号正确2、control_port 信号图 12 control_port 信号由图可知,control_port信号在预料的循环之内,所以正确3、data信号图13 data信号第二个扫描周期图14 data信号 第三个扫描周期图15 data信号第四个扫描周期Name) 彳 cnntroljnrilSflQ CL

15、R图16 data信号第五个扫描周期由上图综合可知,data信号在预料的变化之内,所以正确。五、体会本次设计由于有了上一次跑表的设计,所以有了几分心得。要做得快了不少, 但还是有一定难度。把难度大的设计分为各个难度较小的模块来设计, 本就是我们自顶向下设计 的一种重要思想。该设计就用到了这种思想。在简化的同时,我们应该确保各个 模块的正确性,所以各个模块我们都应测试、仿真之后在综合到一起。有时候分开各个模块都可以,但是综合在一起就有各种错误出现了。 所以我 们在综合代码的时候,一点要小心又小心,确保引脚的对应关系无误。逻辑顺序 无误。六、代码1、Verilog HDL 代码:*位十进制计数器*

16、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; endinitial beginCLR = 1;#10 CLR = 0;endendmodule3、引脚锁定:net "CLK_50M" loc = p80;net "CLR" loc = p57;net "

17、;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" 10c = p112;net "data_out 5" loc = p100;net "data_out 6" 10c = p106;net "data_o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论