EDA技术实验3_第1页
EDA技术实验3_第2页
EDA技术实验3_第3页
EDA技术实验3_第4页
EDA技术实验3_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、【实验5】 4位十进制频率计设计1实验目的 通过实验让读者掌握复杂时序逻辑电路的EDA原理图输入设计法和Verilog HDL文本输入设计法,通过对设计电路的仿真和硬件验证,让读者进一步了解4位十进制频率计的功能和特性。 14位十进制频率计的顶层设计文件的原理图如图4.10 图4.10 4位十进制频率计的顶层设计文件的原理图 “Clock2”,作为1Hz信号F1HZ的输入 “Clock0”,作为被测频率信号FIN的输入 2图4.11 频率计测频控制器testctl_v测控时序 4位十进制频率计的顶层设计文件的原理图如图4.10所示。根据频率测量的基本原理,需要一个脉宽为1秒的门限信号,作为待测

2、信号输入频率允许计数的控制信号;1秒计数结束后,还需要一个将计数值锁存的锁存信号和一个计数器复位信号,为下一测频计数周期做准备。 3/测频控制器testctl_v源程序module testctl_v(clkk,cnt_en,rst_cnt,load); input clkk; output cnt_en,rst_cnt,load; reg rst_cnt; reg div2clk; always (posedge clkk) begin div2clk = div2clk; end always (clkk) begin if(clkk=0&div2clk=0) begin rst_cnt=

3、1;end else rst_cnt = 0; end assign load = div2clk; assign cnt_en = div2clk;endmodule 【实验5程序1】“Clock2”,作为1Hz信号F1HZ的输入 4/十进制计数器cnt10_v源程序module cnt10_v(clr, clk,ena,q,cout); input clr, clk,ena; output3:0 q; output cout; reg3:0 q; reg cout; always(posedge clk or posedge clr) begin if (clr) begin q=4b00

4、00; cout=0; end else if (ena) if (q=4b1001) begin q=4b0000;cout=0; end else begin q=q+1 ;cout=q3 & q0; end endendmodule 【实验5程序2】cnt_enrst_cnt第一个计数器被测频率“Clock0”,作为被测频率信号FIN的输入5-4位锁存器reg4_v源程序module reg4_v(clk,d,q); input clk; input3:0 d; output3:0 q; reg3:0 q; always (posedge clk) begin q=d; endendmo

5、dule 【实验5程序3】4、思考题 用原理图输入法和Verilog HDL文本输入法设计8位十进制频率计,并仿真和硬件验证设计电路。 load十进制计数器q“数码4数码1”, 61实验目的 通过秒表的设计,让读者学习较复杂的数字系统设计方法。 秒表电路的原理图如图4.12所示。秒表电路结构主要包括1.5万分频器clkgen_v、十进制计数器/分频器cnt10_2和六进制计数器/分频器cnt6_2。设计中需要获得一个比较精确的100Hz(周期为1/100秒)计时脉冲,将1.5MHz的输入频率送到clkgen_v进行1.5万分频后,得到100Hz的频率由NEWCLK输出。将NEWCLK输出信号经

6、过2个十进制计数器cnt10_2分频,得到0.000.99秒输出DOUT7.4和DOUT3.0,并产生1秒进位输出。1秒进位输出经过由cnt10_2和cnt6_2构成的60分频器分频后,得到059秒的输出DOUT15.12和DOUT11.8,并产生1分钟进位输出。1分钟进位输出经过由cnt10_2和cnt6_2构成的60分频器分频后,得到059分的输出DOUT23.20和DOUT19.16。另外,秒表电路用ENA作为计时允许信号,当ENA=I时计时开始,DNA=0时,计时结束。CLR是清除信号,当CLR=1时,秒表记录的时间被清除。【实验6】 秒表设计 7图4.12 秒表电路的原理图 8 /1

7、.5万分频器源程序clkgen_vmodule clkgen_v(clk,newclk); input clk; output newclk; reg newclk; reg15:0 q; always (posedge clk) begin (q16h3a97) q=q+1; /16h3a97=14999 else q=0; if (q=16h3a97) newclk = 1; else newclk = 0; endendmodule 【实验6程序1】产生的100Hz(周期为1/100秒)计时脉冲 9-十进制计数器源程序cnt10_2module cnt 10_2(clr, clk,ena

8、,q,cout); input clr,clk,ena; output3:0 q; output cout; reg3:0 q; reg cout; always (posedge clk or posedge clr) begin if (clr) begin q=4b0000; cout=0; end else if (ena) if (q=4b1001) begin q=4b0000; cout=0; end else begin q=q+1 ;cout=q3 & q0; end end endmodule 十进制计数器产生个位【实验6程序2】10-六进制计数器源程序cnt6_2modu

9、le cnt6_2(clr, clk,ena,q,cout); input clr, clk,ena; output3:0 q; output cout; reg3:0 q; reg cout; always (posedge clk or posedge clr) begin if (clr) begin q=4b0000; cout=0; end else if (ena) if (q=4b0101) begin q=4b0000; cout=0; end else begin q=q+1 ;cout=q2 & q0; end endendmodule 六进制计数器产生十位11 如何在秒表电路中增加计时时间范围,将计时显示范围展宽到小时。 4、 思考题 编辑miaobiao

温馨提示

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

评论

0/150

提交评论