EDA数字钟的设计实验报告文档推荐

上传人:粗**** 文档编号:135282045 上传时间:2020-06-14 格式:PDF 页数:11 大小:1.91MB
返回 下载 相关 举报
EDA数字钟的设计实验报告文档推荐_第1页
第1页 / 共11页
EDA数字钟的设计实验报告文档推荐_第2页
第2页 / 共11页
EDA数字钟的设计实验报告文档推荐_第3页
第3页 / 共11页
EDA数字钟的设计实验报告文档推荐_第4页
第4页 / 共11页
EDA数字钟的设计实验报告文档推荐_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《EDA数字钟的设计实验报告文档推荐》由会员分享,可在线阅读,更多相关《EDA数字钟的设计实验报告文档推荐(11页珍藏版)》请在金锄头文库上搜索。

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

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

3、秒模块程序 秒模块源程序如下 library ieee use SECOND is port clk clr in std logic 时钟 清零信号 sec1 sec0 out std logic vector 3 downto 0 秒高位 低位 co out std logic 输出 进位信号 end SECOND architecture SEC of SECOND is begin process clk clr variable cnt1 cnt0 std logic vector 3 downto 0 计数 begin if clr 1 then 当 ckr 为 1 时 高低位均为

4、 0 cnt1 0000 cnt0 0000 elsif clk event and clk 1 then if cnt1 0101 and cnt0 1000 then 当记数为 58 实际是经过 59个记时脉冲 co 1 进位 cnt0 1001 低位为 9 elsif cnt0 1001 then 小于 9 时 cnt0 cnt0 1 计数 else cnt0 0000 if cnt1 0101 then 高位小于 5 时 cnt1 cnt1 1 else cnt1 0000 co 0 end if end if end if sec1 cnt1 sec0 cnt0 end proces

5、s end SEC 3 文件存盘 选择 File Save As命令 找到已经设立的文件夹 存盘文件名应与 实体名一致 4 创建工程 打开并建立新工程管理窗口 选择File New Project Wizard 命令 即弹出设置窗口 命名为57 5 将设计文件加入工程中 单击 Next 按钮 在弹出的对话框中单击File 栏后的按 钮 单击 Add All 按钮 将与工程相关的所有VHDL文件都加入此工程 6 选择目标芯片 单击Next 按钮 选择目标器件 首先在Device Family下拉列 表框中选择Cyclone 系列 分别选择Package 为 TQFP Pincount 为 144

6、 和 Speed grade为 8 选择此系列的具体芯片为EP3C5E144C8 7 工具设置 单击Next 按钮后 弹出的下一个窗口是EDA 工具设置窗口 EDA Tool Settings 8 结束设置 再单击 Next 按钮后即弹出工程设置统计窗口 单击 Finish 按钮 即 已设定好此工程 9 全程编译 选择Processing Start Compilation 命令 启动全程编译 10 编译成功后 将 VHDL文件设置成可调用的文件 在秒模块程序文件SECOND 处于打开的情况下 选择菜单 File Creat Update Creat Symbol Files for Curr

7、ent File 进行封装 元件文件名为 SECOND 以便在高层次设计中调用 同时 在编译成功的基础上 选择 Processing 中的 Generate Functional Simuliation Netlist 生成仿真文件 以方便之后的仿真使 用 11 选择 File new 命令 在 New 窗口中的 DesignFiles栏选择编译文件的语言类 型 这里选择VHDL File选项 然后在VHDL文本编译窗口中输入分模块程序 然后对分模块程序进行保存 编译 封装成可调用的文件 取名为minute 分模块的源程序如下 library ieee use MINUTE is port e

8、n setmin clr clk in std logic 时钟 清零信号 MIN1 MIN0 out std logic vector 3 downto 0 秒高位 低位 co out std logic 输出 进位信号 end MINUTE architecture MIN of MINUTE is begin process en setmin clr clk variable cnt1 cnt0 std logic vector 3 downto 0 计数 begin if clr 1 then 当 ckr 为 1 时 高低位均为 0 cnt1 0000 cnt0 0000 elsif

9、 clk event and clk 1 then if en 1 or setmin 1 then if cnt1 0101 and cnt0 1000 then 当记数为 58 实际是经过 59个记时脉冲 co 1 进位 cnt0 1001 低位为 9 elsif cnt0 1001 then 小于 9 时 cnt0 cnt0 1 计数 else cnt0 0000 if cnt1 0101 then 高位小于 5 时 cnt1 cnt1 1 else cnt1 0000 co 0 end if end if end if end iF MIN1 cnt1 MIN0 cnt0 end pr

10、ocess end MIN 12 选择 File new 命令 在 New 窗口中的 DesignFiles栏选择编译文件的语言类 型 这里选择 VHDL File选项 然后在 VHDL文本编译窗口中输入小时模块程序 然后对分模块程序进行保存 编译 封装成可调用的文件 取名为 HOUR 小时模块的源程序 library ieee use hour is port reset en sethour clk in std logic daout out std logic vector 7 downto 0 end HOUR architecture behav of HOUR is signal

11、 count std logic vector 3 downto 0 signal counter std logic vector 3 downto 0 begin p1 process reset sethour en begin if reset 1 then count 0000 counter 0000 elsif clk event and clk 1 then if en 1 or sethour 1 then if counter 2 then if count 9 then count 0000 counter counter 1 else count count 1 end

12、 if else if count 3 then count 0000 counter 0000 else count count 1 end if end if end if end if end process daout 7 downto 4 counter daout 3 downto 0 count end behav 13 绘制原理图 选择File new 命令 在 New 窗口中的 DesignFiles栏选择编译 文件的语言类型 这里选择 Block Diagram Schematic选项 按 OK按钮后将打开原 理图编辑窗口 双击原理图编辑窗口任何位置 弹出输入文件的对话框

13、分别在 Name 栏键入元件名input SECOND minute HOUR和输出引脚 output 并用 单击拖动的方法参考电路图接好电路 作为本项工程的顶层电路原理设计图 14 全程编译 选择 Processing Start Compilation 命令 启动全程编译 15 引脚锁定 选择 Assignments Assignments Edi按模式七设置设置相应引脚 16 编译文件下载 打开编程窗和配置文件 首先将适配板上的JTAG口和 USB 或并口通信线连好 打开电源 在工程管理窗口选择Tool Programmer命令 弹出如图所示的编程窗口 编程模式选择JPEG 并选中下载文

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号