ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:669.75KB ,
资源ID:5735678      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5735678.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课程实验四.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课程实验四.docx

1、EDA课程实验四班级:11电子(1)姓名:朱杰 学号:20110310161指导教师:秦玉龙开课时间: 2013 至 2014 学年第 1 学期实验名称数字秒表的设计实验时间2013,11,29姓 名朱杰实验成绩一、实验目的1.掌握VHDL语言的基本结构。 2.掌握VHDL层次化的设计方法。 3.掌握VHDL基本逻辑电路的综合设计应用。二、实验设备计算机软件:Quartus IIEDA实验箱。主芯片:EPM7128SLC84-15或EP1K100QC208-3。下载电缆,导线等。三、实验内容设计并调试好一个计时范围为0.01秒1小时的数字秒表。要求编写上述数字秒表逻辑图中的各个模块的VHDL语

2、言程序,并完成数字秒表的顶层设计,然后利用开发工具软件对其进行编译和仿真,最后要通过实验开发系统对其进行硬件验证。(一)分频器模块CLKGEN的设计 1. 编写CLKGEN分频器模块的VHDL程序,并对其进行编译和仿真,初步验证设计的正确性。(二)十进制计数器的设计 编写十进制计数器CNT10模块的VHDL程序,并对其进行编译和仿真,初步验证设计的正确性。(三)6进制计数器的设计编写六进制计数器CNT6模块的VHDL程序,并对其进行编译和仿真,初步验证设计的正确性。VHDL源程序:(四)数码管动态扫描显示电路设计(五)数字秒表的顶层设计 利用前面所设计的模块,完成数字秒表的顶层设计,并对其进行

3、编译和仿真,初步验证设计的正确性。(六)逻辑综合结果使用Quartus 进行逻辑综合,给出电路的 RTL视图及逻辑综合后的资源使用情况。(七)管脚锁定及硬件验证情况数字秒表的时钟CLK输入端锁定到EP1K100QC208-3芯片的78,对应实验箱上的CLK0;seg77.0:段码输出分别锁定到EP1K100QC208-3芯片的132,131,128,127,126,125,122,121引脚上,对应实验箱上8个数码管的段码输入端;LEDW2.0 分别锁定到EP1K100QC208-3芯片的53,47,46引脚上。CLK0设置为1KHZ,观察数码管显示情况,验证是否满足预期功能。四、实验设计1、

4、系统设计要求设计一个计时范围为0.01秒1小时的秒表,首先需要获得一个比较精确的计时基准信号,这里是周期为1/100 s的计时脉冲。其次,计数器需设置清零信号和计数使能信号,以便控制秒表的清零和计时起停。图1秒表电路逻辑图 如图1所示,数字秒表可由1个分频器、1/100秒计数器(即十进制计数器U1)、1/10秒计数器(即十进制计数器U2)、秒计数器(即十进制计数器U3和六进制计数器U4组成的60进制计数器)、分计数器(即十进制计数器U5和六进制计数器U6组成的60进制计数器)组成。每个计数器的4位输出经段译码后送数码管显示,数码显示采用动态扫描方式。其中DOUT3.0为1/100秒计数值、DO

5、UT7.4为1/10秒计数值、DOUT11.8和DOUT15.12为秒计数值的个位和十位、DOUT19.16和DOUT23.20为分计数值的该位和十位。2、VHDL程序分频器设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;ENTITY CLKGEN IS PORT (CLK: IN STD_LOGIC; NEWCLK: OUT Std_LOGIC);END CLKGEN;ARCHITECTURE ART OF CLKGEN ISSIGNAL CNTER:integer range 0 to 1

6、0;BEGINPROCESS(CLK)BEGIN IF (CLKEVENT AND CLK=1) THEN IF (CNTER=10) THEN CNTER=0; ELSE CNTER=CNTER+1; END IF; END IF;END PROCESS;PROCESS(CNTER)BEGIN IF (CNTER5) THEN NEWCLK=1; ELSE NEWCLK=0; END IF;END PROCESS;END ART;十进制计数器的设计 VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSI

7、GNED.ALL;USE WORK.PAKG.ALL;ENTITY CNT10 IS PORT (CLK: IN STD_LOGIC; CLR: IN STD_LOGIC; ENA: IN STD_LOGIC; CQ: OUT DIGIT_T; CARRY_OUT: OUT STD_LOGIC);END CNT10;ARCHITECTURE ART OF CNT10 ISSIGNAL CQI: DIGIT_T;BEGINPROCESS(CLK, CLR, ENA)BEGIN IF CLR=1 THEN CQI=0; ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1

8、THEN IF CQI=9 THEN CQI=0; CARRY_OUT=1; ELSE CQI=CQI+1; CARRY_OUT=0; END IF; END IF; END IF;END PROCESS;CQ=CQI;END ART;进制计数器的设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE WORK.PAKG.ALL;ENTITY CNT6 IS PORT (CLK: IN STD_LOGIC; CLR: IN STD_LOGIC; ENA: IN STD_LOGIC; CQ: O

9、UT DIGIT_T; CARRY_OUT: OUT STD_LOGIC);END CNT6;ARCHITECTURE ART OF CNT6 ISSIGNAL CQI: DIGIT_T;BEGINPROCESS(CLK, CLR, ENA)BEGIN IF CLR=1 THEN CQI=0; ELSIF CLKEVENT AND CLK=1 THEN IF ENA=1 THEN IF CQI=5 THEN CQI=0 ;CARRY_OUT=1; ELSE CQI=CQI+1; CARRY_OUT=0; END IF; END IF; END IF;END PROCESS;CQ=CQI;END

10、 ART;数码管动态扫描显示电路设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE WORK.PAKG.ALL; ENTITY disp_scan IS PORT(CLK: IN STD_LOGIC; num: IN DISP_T; LEDW: OUT STD_LOGIC_VECTOR(2 DOWNTO 0); SEG7: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END ENTITY disp_

11、scan; ARCHITECTURE ART OF disp_scan IS signal temp:DIGIT_T; signal cnt:STD_LOGIC_VECTOR(2 DOWNTO 0); begin PROCESS(CLK) IS BEGIN IF CLKEVENT AND CLK=1 THEN IF CNT=111 THEN CNT=000; ELSE CNT=CNT+1; END IF; END IF; END PROCESS; LEDW TEMP TEMP TEMP TEMP TEMP TEMP TEMP TEMP TEMP SEG7 SEG7 SEG7 SEG7 SEG7

12、 SEG7 SEG7 SEG7 SEG7 SEG7 SEG7CLK,NEWCLK=NEWCLK1);U1: CNT10 PORT MAP(CLK=NEWCLK1, CLR=CLR, ENA=ENA,CQ=DOUT(0),CARRY_OUT=CARRY1);U2: CNT10 PORT MAP(CLK=CARRY1, CLR=CLR, ENA=ENA,CQ=DOUT(1),CARRY_OUT=CARRY2);U3: CNT10 PORT MAP(CLK=CARRY2, CLR=CLR, ENA=ENA,CQ=DOUT(2),CARRY_OUT=CARRY3);U4: CNT6 PORT MAP(

13、CLK=CARRY3, CLR=CLR, ENA=ENA,CQ=DOUT(3),CARRY_OUT=CARRY4);U5: CNT10 PORT MAP(CLK=CARRY4, CLR=CLR, ENA=ENA,CQ=DOUT(4),CARRY_OUT=CARRY5);U6: CNT6 PORT MAP(CLK=CARRY5, CLR=CLR, ENA=ENA,CQ=DOUT(5);U7: disp_scan PORT MAP(CLK,DOUT,LEDW,SEG7);END ART;3、仿真波形分频器设计十进制计数器的设计进制计数器的设计数码管动态扫描显示电路设计数字秒表的顶层设计4、芯片引脚

14、锁定文件五、实验结果及总结1、系统仿真情况分频器设计十进制计数器的设计进制计数器的设计数码管动态扫描显示电路设计数字秒表的顶层设计2、逻辑综合结果分频器设计十进制计数器的设计进制计数器的设计数码管动态扫描显示电路设计数字秒表的顶层设计3、硬件验证情况清零:计数;4、实验过程出现的问题及解决方法这次实验做的比较顺利,基本上是没有错误的。但是细细想来,我发现从实验课开始到现在,我都没有仔细看过代码。就像这次,刚开始的时候就出现显示倒了。后来修改了dis_scan里面的显示顺序就能够正常显示。本来还以为是times里面出问题,怎么修改也不出结果。现在我明白,数码管显示问题,首先从仪器看是否有问题,然后看dis_scan,再然后就是其他关联的代码。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1