实验报告模板实验五 数字频率计设计.docVIP

实验报告模板实验五 数字频率计设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告模板实验五 数字频率计设计

实验四、五 数字频率计设计 【实验目的】 掌握数字频率计的Verilog描述方法; 学习设计仿真工具的使用方法; 学习层次化设计方法; 【实验内容】 用4位十进制计数器对用户输入时钟进行计数,计数间隔为1秒,计数满1秒后将计数值(即频率值)锁存到4位寄存器中显示,并将计数器清0,再进行下一次计数。 为上述设计建立元件符号 编制仿真测试文件,对实验四设计的频率计并进行功能仿真。 下载并验证分频器功能 【实验原理】 ?CNTL为控制模块。CNTL的计数使能信号能产生一个1 s宽的周期信号,并对频率计的每一计数器CNT10的en使能端进行同步控制:当EN高电平时允许计数、低电平时停止计数。? ?? RGB4为锁存器。在信号Load的上升沿时,立即对模块的输入口的数据锁存到RGB4的内部,并由输出端DOUT输出,然后,七段译码器可以译码输出。在这里使用了锁存器,好处是可以稳定显示数据,不会由于周期性的清零信号而不断闪烁。? ??CNT10为十进制计数器。有一时钟使能输入端en,用于锁定计数值。当高电平时允许计数,低电平时禁止计数。图1中将6个十进制计数器CNT10级联起来实现6位十进制计数功能 【程序源代码】 module CNTL(CLK,CNL_EN,RST_CNL,LOAD); //计数器控制模块端口说明 reg clk2din,CNL_EN,LOAD; //模块内变量说明 reg RST_CNL; input CLK; output CNL_EN,RST_CNL,LOAD; //输出控制信号 always@(posedge CLK) clk2din=~clk2din; always@(posedge clk2din) begin CNL_EN=clk2din; //生成控制信号 LOAD=~clk2din; end always@(CLK) if(CLK==1b0CNL_EN==1b0) RST_CNL=1; else RST_CNL=0; endmodule //技术控制模块结束说明 module CNT10(clk,RST,EN,COUT,DOUT); //计数器模块端口说明 input clk,RST,EN; //变量定义 output COUT; output[3:0] DOUT; reg[3:0]q; reg COUT; always@(posedge clk or posedge RST) begin if(RST) //RST高电平有效时q置0 q=0; else if(EN) //EN有效时开始计数 begin if(q9)q=q+1; else q=0; end end always@(q)if(q==4b1001)COUT=1; //计满输出 else COUT=0; endmodule //计数器模块结束说明 module RGB4(DIN,LOAD,DOUT); //锁存器模块说明 input LOAD; //锁存器变量说明 input[3:0] DIN; output [3:0] DOUT; reg[3:0] DOUT; always@(posedge LOAD) //LOAD有效时锁存上级输出 DOUT=DIN; endmodule //锁存器模块结束说明 module LED7(IN,led7); //LED7段数码管模块说明 input[3:0] IN; //数码管变量说明 output[6:0]led7; reg[6:0]led7; always@ (IN) begin case (IN) //输出数码管对应显示 4b0000:led7=7b0111111; 4b0001:led7=7b0000110; 4b0010:led7=7b1011011; 4b0011:led7=7b1001111; 4b0100:led7=7b1100110;

文档评论(0)

cuotian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档