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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

EDA数字钟的设计实验报告.docx

1、EDA数字钟的设计实验报告 成绩指导教师日期 五 邑 大 学 实 验 报 告实 验 课 程 名 称: EDA实验 院系名称: 信息工程学院 专业名称: 通信工程(物联网) (一)实验目的:设计并实现具有一定功能的数字钟。掌握各类计数器及它们相连的设计方法,掌握多个数码管显示的原理与方法,掌握FPGA的层次化设计方法,掌握VHDL语言的设计思想以及整个数字系统的设计。此数字钟具有时,分,秒计数显示功能,能实现清零,调节小时,分钟以及整点报时的功能。(二)实验器材:计算机一台,EDA实验箱一台。(三)实验原理:四)实验内容:五)1.正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟,

2、60秒钟的计数器显示。六)2.按键实现“校时”“校分”功能;七)3.用扬声器做整点报时。当计时到达5950”时鸣叫。八)方案:利用试验箱上的七段码译码器(模式7),采用静态显示,系统时钟选择1Hz。整个系统可以是若干文件组成,用PORTMAP实现的方式;也可以是一个文件用多进程方式实现;亦或者是用文本和图形混合的方式实现;亦或者是用LPM参数化模块实现。(五)实验步骤:1.新建一个文件夹,命名为shuzizhong.2.输入源程序。打开Quartus,选择Filenew命令。在New窗口中的DesignFiles栏选择编译文件-的语言类型,这里选择VHDLFile选项。然后在VHDL文本编译窗

3、口中输入秒模块程序。秒模块源程序如下:libraryieee;useSECONDisport(clk,clr:instd_logic;-时钟/清零信号sec1,sec0:outstd_logic_vector(3downto0);-秒高位/低位co:outstd_logic);-输出/进位信号endSECOND;architectureSECofSECONDisbeginprocess(clk,clr)variablecnt1,cnt0:std_logic_vector(3downto0);-计数beginifclr=1then-当ckr为1时,高低位均为0cnt1:=0000;cnt0:=0

4、000;elsifclkeventandclk=1thenifcnt1=0101andcnt0=1000then-当记数为58(实际是经过59个记时脉冲)co=1;-进位cnt0:=1001;-低位为9elsifcnt01001then-小于9时cnt0:=cnt0+1;-计数elsecnt0:=0000;ifcnt10101then-高位小于5时cnt1:=cnt1+1;elsecnt1:=0000;co=0;endif;endif;endif;sec1=cnt1;sec0=cnt0;endprocess;endSEC;3.文件存盘。选择FileSaveAs命令,找到已经设立的文件夹,存盘文

5、件名应与实体名一致。4.创建工程。打开并建立新工程管理窗口,选择FileNewProjectWizard命令,即弹出设置窗口,命名为57。5.将设计文件加入工程中。单击Next按钮,在弹出的对话框中单击File栏后的按钮,单击AddAll按钮,将与工程相关的所有VHDL文件都加入此工程。6.选择目标芯片。单击Next按钮,选择目标器件,首先在DeviceFamily下拉列表框中选择Cyclone系列。分别选择Package为TQFP,Pincount为144和Speedgrade为8,选择此系列的具体芯片为EP3C5E144C8。7.工具设置。单击Next按钮后,弹出的下一个窗口是EDA工具设

6、置窗口EDAToolSettings.8.结束设置。再单击Next按钮后即弹出工程设置统计窗口,单击Finish按钮,即已设定好此工程。9.全程编译。选择ProcessingStartCompilation命令,启动全程编译。10.编译成功后,将VHDL文件设置成可调用的文件。在秒模块程序文件SECOND处于打开的情况下,选择菜单FileCreat/UpdateCreatSymbolFilesforCurrentFile,进行封装(元件文件名为SECOND),以便在高层次设计中调用。同时,在编译成功的基础上,选择Processing中的GenerateFunctionalSimuliation

7、Netlist生成仿真文件,以方便之后的仿真使用。11.选择Filenew命令。在New窗口中的DesignFiles栏选择编译文件的语言类型,这里选择VHDLFile选项。然后在VHDL文本编译窗口中输入分模块程序。然后对分模块程序进行保存、编译,封装成可调用的文件,取名为minute。分模块的源程序如下:libraryieee;useMINUTEisport(en,setmin,clr,clk:instd_logic;-时钟/清零信号MIN1,MIN0:outstd_logic_vector(3downto0);-秒高位/低位co:outstd_logic);-输出/进位信号endMINU

8、TE;architectureMINofMINUTEisbeginprocess(en,setmin,clr,clk)variablecnt1,cnt0:std_logic_vector(3downto0);-计数beginifclr=1then-当ckr为1时,高低位均为0cnt1:=0000;cnt0:=0000;elsif(clkeventandclk=1)thenif(en=1orsetmin=1)thenifcnt1=0101andcnt0=1000then-当记数为58(实际是经过59个记时脉冲)co=1;-进位cnt0:=1001;-低位为9elsifcnt01001then-小

9、于9时cnt0:=cnt0+1;-计数elsecnt0:=0000;ifcnt10101then-高位小于5时cnt1:=cnt1+1;elsecnt1:=0000;co=0;endif;endif;endif;endiF;MIN1=cnt1;MIN0=cnt0;endprocess;endMIN;12.选择Filenew命令。在New窗口中的DesignFiles栏选择编译文件的语言类型,这里选择VHDLFile选项。然后在VHDL文本编译窗口中输入小时模块程序。然后对分模块程序进行保存、编译,封装成可调用的文件,取名为HOUR.小时模块的源程序:libraryieee;usehourisp

10、ort(reset,en,sethour,clk:instd_logic;daout:outstd_logic_vector(7downto0);endHOUR;architecturebehavofHOURissignalcount:std_logic_vector(3downto0);signalcounter:std_logic_vector(3downto0);beginp1:process(reset,sethour,en)beginifreset=1thencount=0000;counter=0000;elsif(clkeventandclk=1)thenif(en=1orset

11、hour=1)thenif(counter2)thenif(count=9)thencount=0000;counter=counter+1;elsecount=count+1;endif;elseif(count=3)thencount=0000;counter=0000;elsecount=count+1;endif;endif;endif;endif;endprocess;daout(7downto4)=counter;daout(3downto0)=count;endbehav;13.绘制原理图。选择Filenew命令。在New窗口中的DesignFiles栏选择编译文件的语言类型,这

12、里选择BlockDiagram/Schematic选项,按OK按钮后将打开原理图编辑窗口。双击原理图编辑窗口任何位置,弹出输入文件的对话框,分别在Name栏键入元件名input、SECOND、minute、HOUR和输出引脚output,并用单击拖动的方法参考电路图接好电路,作为本项工程的顶层电路原理设计图。14.全程编译。选择ProcessingStartCompilation命令,启动全程编译。15.引脚锁定。选择AssignmentsAssignmentsEdi按模式七设置设置相应引脚。16.编译文件下载。打开编程窗和配置文件。首先将适配板上的JTAG口和USB或并口通信线连好,打开电源

13、,在工程管理窗口选择ToolProgrammer命令,弹出如图所示的编程窗口,编程模式选择JPEG,并选中下载文件右侧的第一个小方框。17.设置编程器。选择USB-Blaster,单击左上角的HardwareSetup按钮,在弹出的窗口中设置下载接口方式。向FPGA下载SOF文件前,要选择打钩Program/Configure项,最后单击下载标示符Start按钮,即进入对目标器件FPGA的配置下载操作。当Progress显示出100%以及在底部的处理栏中出现“ConfigurationSucceeded”时,便是编程成功。18.观察数码管的秒、分钟和小时的情况。(六)实验结果:秒模块编译成功:生成波形文件成功:仿真成功:数字钟编译成功:仿真成功:选择芯片类型:引脚锁定:下载:(七)实验总结:通过上述的设计编程,调试,下载测试工作之后,实现了数字钟的各种基本功能,其中包括:时,分,秒计数显示功能,清零,调节小时,分钟以及整点报时。中间操作过程中遇到的问题也都逐一在实验过程中得以解决,比如说对数字钟显示58时便产生高位进位以致产生不精准的改善等。在数字钟的设计过程中,不仅对数字电路原理有了更加深刻的理解,也进一步巩固了对于QuartusII软件平台及VHDL语言编程掌握能力,掌握这门技术为今后更深层次的学习奠定了基础,使自己受益匪浅。

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

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