FPGA实验—— 8位数码显示频率计设计_第1页
FPGA实验—— 8位数码显示频率计设计_第2页
FPGA实验—— 8位数码显示频率计设计_第3页
FPGA实验—— 8位数码显示频率计设计_第4页
FPGA实验—— 8位数码显示频率计设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、哈尔滨理工大学软件学院实验报告课 程 FPGA题 目 8位数码显示频率计设计(4学时)班 级 集成12-2班专 业 集成电路设计与集成系统 学 生 学 号 1214020227 2014年 10 月22日实验三 8位数码显示频率计设计实验目的: 设计8位频率计,学习较复杂的数字系统的设计方法。实验原理及内容: 根据频率的定义和频率测量的基本原理。 测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值被锁入锁存器,计数器清零,为下一测频计数周期作好准备。实验步骤: 1.设计生成1秒时钟信号- CLK 2.设计测频控制信号发生器- FTCTRL; 3.设计1秒计数

2、值锁存器 - REG32B; 4.设计32位二进制计数器- COUNTER32B 5.设计十六进制7段译码器- Decoder 6.设计生成1KHz或10KHz待测信号- Fin 7.完成频率计设计、仿真和硬件实现。 实验程序:module frequence ( input clk, / 50MHZ基准频率 input CLK_X, / 待测信号 input rst , output reg 31:0freq_out /频率输出 ); reg 31:0 cnt1,num; /cnt1,分频作用,产生脉宽一秒基准时钟/ num,用来计算1s内待测信号所发出的脉冲数用来计数 reg sec; /

3、sec用来产生周期为2s,脉宽1s基准时钟 reg state; / 和sec 共同为使能信号 /* 产生占空比为50%,周期为2s的单位脉冲sec */always (posedge clk) begin if(cnt1=50_000_000) / 50000000分频,产生脉宽1s脉宽基准时钟(要基准时钟为50M) begin cnt1<=0; sec<=sec; end else cnt1<=cnt1+1;end/* 统计待测信号在单位时间1s内产生的脉冲数 */always (posedge CLK_X ) begin if (!rst) begin freq_out

4、<=0; num<=0; state<=1; end else begin if(sec) / sec为高电平期间(1s),统计待测信号产生的脉冲数 begin num<=num+1; state<=0; end else / sec为低电平期间(1s),读取待测信号产生的脉冲数 begin case(state) 0: begin freq_out<=num; state<=1; end / 读取脉冲数(由于freq为reg型,在下一次sec低电平到来之前,会一直保持当前值不变) 1: num<=0; / 将num清零,为下一个sec高电平期间

5、脉冲数的统计做准备 / endcase end /如果待测时钟频,比1秒脉宽的基准时钟还小,才会出现一只增数字的情况,即num未来的及清零 endendendmodulemodule newclk(clk,reset,clk_out);input clk,reset;output clk_out;reg clk_out;reg100:0 count; parameter N = 5000; /分频产生1K HZ脉的时钟always (posedge clk) if(!reset) begin count <= 1'b0; clk_out <= 1'b0; end e

6、lse if ( count < N/2-1) begin count <= count + 1'b1; end else begin count <= 1'b0; clk_out <= clk_out; end endmodulemodule shili(output reg6:0h1, input 3:0c, input clk ); always(c) begincase(c3:0) 4'b0000:h1<='b1000000;4'b0001:h1<='b1111001;4'b0010:h1<

7、;='b0100100;4'b0011:h1<='b0110000;4'b0100:h1<='b0011001;4'b0101:h1<='b0010010;4'b0110:h1<='b0000010;4'b0111:h1<='b1111000;4'b1000:h1<='b0000000;4'b1001:h1<='b0010000;4'b1010:h1<='b0001000;4'b1011:h1<=&

8、#39;b0000011;4'b1100:h1<='b1000110;4'b1101:h1<='b0100001;4'b1110:h1<='b0000110;4'b1111:h1<='b0001110;default : h1<='b1000000;endcase end endmodulemodule top_sevev ( output 63:0H, / H必须为wire行变量 input 31:0freq, input clk ); shili seven_0( H7:0,freq3:0,clk); / 八个七段数码管的模块的实例化 shili seven_1( H15:8,freq7:4,clk); shili seven_2( H23:16,freq11:8,clk); shili seven_3( H31:24,freq15:12,clk); shili seven_4( H39:32,freq19:16,clk); shili seven_5( H47:40,fr

温馨提示

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

评论

0/150

提交评论