




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简单4位数字频率计设计一、 设计要求(1)、利用Verilog HDL语言行为描述方法,设计一个简单的4位数字频率计;(2)、要求输入标准时钟信号频率为1MHz,系统可计数频率范围为1Hz9999Hz;(3)、系统具有复位信号,且当计数频率发生溢出时能够给出指示信号,计数的频率通过4个共阴数码管进行显示(动态扫描显示)。二、 系统结构框图根据设计要求,输入系统的标准时钟信号要先经过分频后得到一个周期为2s占空比50%的信号,用来对输入信号采样,得到采样信号GATED_CLK;为了能够控制计数模块对采样的信号进行正常计数及保存计数后的频率,这要求,要在计数器刚好完成计数后立即将数据输出给显示部分进行显示,并且要为下次计数做好准备,因此数据信号处理部分还要有产生控制计数器的两个信号LOAD和COUNTER_CLR,LOAD信号控制计数完成后的数据及时输出给显示,COUNTER_CLR信号控制计数器清零;计数模块就是完成对采样信号的计数,并当计数发生溢出时产生溢出信号FLOW_UP;显示控制模块要完成将计数模块输入的信号进行译码显示。三、 信号描述测试信号采样原理:GATED_CLK、LOAD、COUNTER_CLR信号的关系:程序中用到的信号变量:FREQUENCY_COUNTROL_BLOCKFREQUENCY_COUNTER_BLOCKFREQUENCY_DISPLY_BLOCKGATED_CLK采样信号COUT计数输出信号DOUT输出到数码管LOAD控制计数器信号FLOW_UP计数溢出信号CDIN计数输入信号COUNTER_CLR清零计数器信号CLOCK_IN计数器时钟信号DCLK_IN标准时钟信号CLK_IN标准时钟信号LOAD控制计数输出RESET复位信号SIGNAL_TEST测试信号COUNTER_CLR清零计数信号RESET复位信号RESET复位信号四、 Verilog程序各子模块verilog程序:(1)信号处理模块_verilog:module FREQUENCY_COUNTROL_BLOCK(GATED_CLK,LOAD,COUNTER_CLR,CLK_IN,SIGNAL_TEST,RESET);output GATED_CLK;output LOAD;output COUNTER_CLR;input CLK_IN;input SIGNAL_TEST;input RESET;reg LOAD;reg COUNTER_CLR;reg DIVIDE_CLK;reg19:0 cn;reg A1,A2;/信号分频:由CLK_IN得到分频后的信号DIVIDE_CLK(0.5Hz)always (posedge CLK_IN) beginif(RESET)beginDIVIDE_CLK=0;cn=0;endelse if(cn=1000000) begincn=0;DIVIDE_CLK=DIVIDE_CLK; endelsecn=cn+1;end/频率计数控制信号的产生:产生LOAD信号和COUNTER_CLR信号 always (posedge SIGNAL_TEST)beginA1=DIVIDE_CLK;endalways (posedge SIGNAL_TEST)beginA2=A1;endalways (A1 or A2)beginLOAD=A1&(!A2);endalways (posedge SIGNAL_TEST)COUNTER_CLR=LOAD;/产生驱动计数模块的信号GATED_CLK,也就是被计数模块检测的信号 assign GATED_CLK=SIGNAL_TEST&DIVIDE_CLK;endmodule(2)、计数器模块:module FREQUENCY_COUNTER_BLOCK(COUT,FLOW_UP,CLOCK_IN,RESET,LOAD,COUNTER_CLR);output15:0 COUT;output FLOW_UP;input CLOCK_IN;input LOAD;input COUNTER_CLR;input RESET;reg15:0 TEMP;reg FLOW_UP;parameter B_SIZE=16; /二进制位宽,为便于移植,所有定义了成参数regB_SIZE+3:0 bcd; /转换后的BCD码的位数要比二进制多4位regB_SIZE-1:0 binary;regB_SIZE-1:0 bin; regB_SIZE+3:0 result;/计数器完成计数得到二进制表示的频率数值always (CLOCK_IN or RESET or LOAD or COUNTER_CLR)beginif(RESET|COUNTER_CLR)beginTEMP=0;FLOW_UP=0;endelse if(LOAD)binary9999)beginFLOW_UP=1;binary=9999;endelseif(CLOCK_IN)TEMP=TEMP+1;end/将二进制表示(或十六进制表示)的数转换为BCD码的形式,便于数码管译码显示always (binary or RESET)beginbin=binary;result=0;if(RESET)bcd4)result3:0=result3:0+4d3;if(result7:44)result7:4=result7:4+4d3;if(result11:84)result11:8=result11:8+4d3;if(result15:124)result15:12=result15:12+4d3;if(result19:164)result19:16=result19:16+4d3;result=result1;bin=bin1;endresult0=binB_SIZE-1;bcd=result;endend assign COUT=bcd15:0;endmodule(3)信号显示处理:module FREQUENCY_DISPLY_BLOCK(DOUT,DCLK_IN,RESET,CDIN);output10:0 DOUT;input15:0 CDIN;input DCLK_IN;input RESET;reg10:0 DOUT;reg3:0 Temp1;reg1:0 cn;always (posedge DCLK_IN) /设置成动态扫描beginif(RESET)cn=0;elsebegincn=cn+1;case(cn)2b00: begin DOUT10:7=4b0001; Temp1=CDIN3:0;end2b01: begin DOUT10:7=4b0010; Temp1=CDIN7:4;end2b10: begin DOUT10:7=4b0100; Temp1=CDIN11:8;end2b11: begin DOUT10:7=4b1000; Temp1=CDIN15:12;endendcaseendendalways (Temp1) /译码显示begincase(Temp1)4b0000: DOUT6:0=7b0111111; /3fh=04b0001: DOUT6:0=7b0000110; /06h=14b0010: DOUT6:0=7b1010110; /56h=24b0011: DOUT6:0=7b1001111; /4fh=34b0100: DOUT6:0=7b1100110; /66h=44b0101: DOUT6:0=7b1101101; /6dh=54b0110: DOUT6:0=7b1111101; /7dh=64b0111: DOUT6:0=7b0000111; /07h=74b1000: DOUT6:0=7b1111111; /7fh=84b1001: DOUT6:0=7b1101111; /6fh=9default: DOUT6:0=7b0111111; /3fhendcaseendendmodule顶层verilog程序:module FREQUENCY_COUNTER_DISPLY_BLOCK(DOUT,FLOW_UP,CLK,TEST_CLK_IN,RESET);output10:0 DOUT;output FLOW_UP;input CLK;input TEST_CLK_IN;input RESET;wire gated_clk,load,counter_clr;wire15:0 cout_cdin;FREQUENCY_COUNTROL_BLOCK u1(.GATED_CLK(gated_clk),.LOAD(load),.COUNTER_CLR(counter_clr),.CLK_IN(CLK),.SIGNAL_TEST(TEST_CLK_IN),.RESET(RESET); FREQUENCY_COUNTER_BLOCK u2(.COUT(cout_cdin),.FLOW_UP(FLOW_UP),.CLOCK_IN(gated_clk),.RESET(RESET),.LOAD(load),.COUNTER_CLR(counter_clr);FREQUENCY_DISPLY_BLOCK u3(.DOUT(DOUT),.DCLK_IN(CLK),.RESET(RESET),.CDIN(cout_cdin); endmodule五、 仿真结果分析仿真结果如图所示,输入标准时钟频率为1MHz,经过分频后变成频率为0.5Hz的信号,将其与测试信号相与得到采样信号GATED_CLK,同时利用测试信号和0.5Hz的分频信号可以产生LOAD信号和COUNTER_CLR信号,它们和采样信号的关系在图上可以清楚的看出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 团省委希望小屋活动方案
- 品牌vip定制活动方案
- 唱歌赚钱活动方案
- 周年活动店庆活动方案
- 哈尔滨婚礼活动策划方案
- 商会庆典活动方案
- 回力公司营销策划方案
- 商品书籍展示活动方案
- 品牌学校活动方案
- 2025至2030全球及中国物联网软件平台行业发展趋势分析与未来投资战略咨询研究报告
- 四大名著文学常识单选题100道及答案解析
- 物业管理师三级实操案例题
- 新教科版二年级科学下册全册教案
- 血液系统疾病智慧树知到答案2024年哈尔滨医科大学附属第一医院
- 辽宁省沈阳市沈北新区2024届小升初考试数学试卷含解析
- 南京市指导服务企业安全生产工作指引-加油站现场安全重点检查指引分册
- AQ/T 2077-2020 页岩气井独立式带压作业机起下管柱作业安全技术规范(正式版)
- 【8物(沪科版)】合肥市第四十五中学2023-2024学年八年级下学期期末物理试题
- 国家开放大学(浙江)地域文化(本)作业1-5
- HG/T 2520-2023 工业亚磷酸 (正式版)
- 会所会员管理制度
评论
0/150
提交评论