实验五数字频率计设计.doc_第1页
实验五数字频率计设计.doc_第2页
实验五数字频率计设计.doc_第3页
实验五数字频率计设计.doc_第4页
全文预览已结束

VIP免费下载

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

文档简介

EDA与数字系统设计实验报告 20122013学年 第 一 学期 2009级 通信工程 专业班级:2009122 学号:200912205 姓名:王婷婷 实验五 数字频率计设计(2)【实验目的】1 掌握数字频率计的Verilog描述方法;2 学习设计仿真工具的使用方法;3 学习层次化设计方法;【实验内容】1 编制仿真测试文件,对实验四设计的频率计并进行功能仿真。2 下载并验证分频器功能【程序源代码】(加注释)module CNTL(clk,CNT_EN,CNT_RST,load); /控制器模块input clk; /定义输入控制模块的计数时钟和输出使能、复位、装载信号及寄存器类型output CNT_EN,CNT_RST,load; reg DIV2clk,CNT_EN,CNT_RST,load;always (posedge clk) /过程语句并将posedge clk设为敏感变量 DIV2clk=DIV2clk; /分频器取反always (DIV2clk) /过程语句并将DIV2clk设为敏感变量begin CNT_EN=DIV2clk; /为使能信号和装载信号赋值 load=DIV2clk; endalways (clk) /过程语句并将clk设为敏感变量 begin if(clk=1b0&DIV2clk=1b0) /若clk和使能信号同时为高电平,复位信号置一 CNT_RST=1b1; else CNT_RST=1b0; /否则,复位信号清零endendmodulemodule CNT10(clk ,EN,RST,COUT,DOUT); /计数器模块input clk,EN,RST; /定义输入输出信号和中间变量信号及寄存器类型output COUT;output 3:0 DOUT;reg COUT;reg 3:0 Q1;always (posedge clk or posedge RST) /过程语句并将posedge clk or posedge RST设为敏感变量 begin if(RST) begin Q1=0;COUT=0;end /RST为高电平,Q1清零,将0赋给COUT else if(EN) /否则,在EN为高电平的前提下 if(Q19) begin Q1=Q1+1;COUT=0;end /Q19时,循环计数 else begin Q1=0;COUT=1;end /计数器计满一个周期 end assign DOUT=Q1; /计数器未计满endmodulemodule REG4B(load,DIN,DOUT); /锁存器模块input load; /定义输入输出信号和中间变量信号及寄存器类型input 3:0 DIN;output 3:0 DOUT;reg 3:0 DOUT;always (posedge load) /过程语句并将posedge load设为敏感变量begin DOUT=DIN; /输出赋值语句endendmodulemodule LEDS7(in,leds); /七段数码管模块input 3:0 in; /定义输入、输出变量及中间变量noutput 6:0 leds;reg 6:0 leds;always (in)begin case(in) /显示16进制数对应的二极管不同状态4b0000:leds=7b0111111;/04b0001:leds=7b0000110;/14b0010:leds=7b1011011;/24b0011:leds=7b1001111;/34b0100:leds=7b1100110;/44b0101:leds=7b1101101;/54b0110:leds=7b1111101;/64b0111:leds=7b0000111;/74b1000:leds=7b1111111;/84b1001:leds=7b1101111;/94b1010:leds=7b1110111;/A4b1011:leds=7b1111100;/B4b1100:leds=7b0111001;/C4b1101:leds=7b1011110;/D4b1110:leds=7b1111001;/E4b1111:leds=7b1110001;/Fdefault:leds=7b0111111;endcase endendmodulemodule FREQUENCE(clk,uclk,led0,led1,led2,led3,rst_cnt,en_cnt,load); /顶层模块input clk,uclk; output rst_cnt,en_cnt,load; /定义输入输出信号output 6:0 led0,led1,led2,led3;wire in_en,in_load,in_rst,c0,c1,c2;wire 3:0 dout0, dout1, dout2, dout3; /将输入输出定义为网线性wire 3:0 in0, in1, in2, in3;assign rst_cnt=in_rst; /信号赋值assign en_cnt=in_en;assign load=in_load;CNTL U1(clk,in_en,in_rst,in_load); /调用子模块 CNT10 U2(uclk,in_en,in_rst,c0,dout0);CNT10 U3(c0,in_en,in_rst,c1,dout1);CNT10 U4(c1,in_en,in_rst,c2,dout2);CNT10 u5(c2,in_en,in_rst,c3,dout3);REG4B U6(in_load,dout0,in0);REG4B U7(in_load,dout1,in1);REG4B U8(in_load,dout2,in2);REG4B U9(in_load,dout3,in3);LEDS7 U10(in0,led0);LEDS7 U11(in1,led1);LEDS7 U12(in2,led2);LEDS7 U13(in3,led3);endmodule /函数结束【仿真和测试结果

温馨提示

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

评论

0/150

提交评论