用verilog HDL设计地4位频率计.doc

用verilog HDL设计地4位频率计.doc

ID:56525720

大小:331.00 KB

页数:9页

时间:2020-06-27

用verilog HDL设计地4位频率计.doc_第1页
用verilog HDL设计地4位频率计.doc_第2页
用verilog HDL设计地4位频率计.doc_第3页
用verilog HDL设计地4位频率计.doc_第4页
用verilog HDL设计地4位频率计.doc_第5页
资源描述:

《用verilog HDL设计地4位频率计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、简单4位数字频率计设计一、设计要求(1)、利用VerilogHDL语言行为描述方法,设计一个简单的4位数字频率计;(2)、要求输入标准时钟信号频率为1MHz,系统可计数频率围为1Hz~9999Hz;(3)、系统具有复位信号,且当计数频率发生溢出时能够给出指示信号,计数的频率通过4个共阴数码管进行显示(动态扫描显示)。二、系统结构框图根据设计要求,输入系统的标准时钟信号要先经过分频后得到一个周期为2s占空比50%的信号,用来对输入信号采样,得到采样信号GATED_CLK;为了能够控制计数模块对采样的信号进行正常计数及保存计数后的频率,这要求

2、,要在计数器刚好完成计数后立即将数据输出给显示部分进行显示,并且要为下次计数做好准备,因此数据信号处理部分还要有产生控制计数器的两个信号LOAD和COUNTER_CLR,LOAD信号控制计数完成后的数据及时输出给显示,COUNTER_CLR信号控制计数器清零;计数模块就是完成对采样信号的计数,并当计数发生溢出时产生溢出信号FLOW_UP;显示控制模块要完成将计数模块输入的信号进行译码显示。三、信号描述测试信号采样原理:GATED_CLK、LOAD、COUNTER_CLR信号的关系:程序中用到的信号变量:FREQUENCY_COUNTROL

3、_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

4、)信号处理模块_verilog:moduleFREQUENCY_COUNTROL_BLOCK(GATED_CLK,LOAD,COUNTER_CLR,CLK_IN,SIGNAL_TEST,RESET);outputGATED_CLK;outputLOAD;outputCOUNTER_CLR;inputCLK_IN;inputSIGNAL_TEST;inputRESET;regLOAD;regCOUNTER_CLR;regDIVIDE_CLK;reg[19:0];regA1,A2;//信号分频:由CLK_IN得到分频后的信号DIVIDE_CL

5、K(0.5Hz)always(posedgeCLK_IN)beginif(RESET)beginDIVIDE_CLK<=0;cn<=0;endelseif(cn==1000000)begincn<=0;DIVIDE_CLK<=~DIVIDE_CLK;endelsecn<=cn+1;end//频率计数控制信号的产生:产生LOAD信号和COUNTER_CLR信号always(posedgeSIGNAL_TEST)beginA1<=~DIVIDE_CLK;endalways(posedgeSIGNAL_TEST)beginA2=A1;endal

6、ways(A1orA2)beginLOAD=A1&&(!A2);endalways(posedgeSIGNAL_TEST)COUNTER_CLR=LOAD;//产生驱动计数模块的信号GATED_CLK,也就是被计数模块检测的信号assignGATED_CLK=SIGNAL_TEST&DIVIDE_CLK;endmodule(2)、计数器模块:moduleFREQUENCY_COUNTER_BLOCK(COUT,FLOW_UP,CLOCK_IN,RESET,LOAD,COUNTER_CLR);output[15:0]COUT;outputF

7、LOW_UP;inputCLOCK_IN;inputLOAD;inputCOUNTER_CLR;inputRESET;reg[15:0]TEMP;regFLOW_UP;parameterB_SIZE=16;//二进制位宽,为便于移植,所有定义了成参数reg[B_SIZE+3:0]bcd;//转换后的BCD码的位数要比二进制多4位reg[B_SIZE-1:0]binary;reg[B_SIZE-1:0]bin;reg[B_SIZE+3:0]result;//计数器完成计数得到二进制表示的频率数值always(CLOCK_INorRESETo

8、rLOADorCOUNTER_CLR)beginif(RESET

9、COUNTER_CLR)beginTEMP<=0;FLOW_UP<=0;endelseif(LOAD)binary<=TEMP

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。