【2017年整理】EDA数码管的显示整个流程实验报告

上传人:爱****1 文档编号:941856 上传时间:2017-05-23 格式:DOCX 页数:17 大小:1.29MB
返回 下载 相关 举报
【2017年整理】EDA数码管的显示整个流程实验报告_第1页
第1页 / 共17页
【2017年整理】EDA数码管的显示整个流程实验报告_第2页
第2页 / 共17页
【2017年整理】EDA数码管的显示整个流程实验报告_第3页
第3页 / 共17页
【2017年整理】EDA数码管的显示整个流程实验报告_第4页
第4页 / 共17页
【2017年整理】EDA数码管的显示整个流程实验报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《【2017年整理】EDA数码管的显示整个流程实验报告》由会员分享,可在线阅读,更多相关《【2017年整理】EDA数码管的显示整个流程实验报告(17页珍藏版)》请在金锄头文库上搜索。

1、EDA 实验报告王丹 计科一班 201208010122EDA 第一次实验报告实验目的:利用 Quartus软件,采用自上而下或自下而上的模块化层次设计数码管扫描显示电路,通过仿真波形及硬件实验平台验证设计,从而熟悉 Quartus的数字系统设计流程以及 FPGA 开发模式。一、 实验设计方案1. 原理说明:几个数码管在同一时间进行显示利用人眼的视觉暂留效应,把多个数码管按一定顺序(从左至右或从右至左)循环进行点亮,当点亮的频率足够高时,我们可以看到全部同时显示(点亮)。因此,我们只要给数码管驱动电路一个足够高的扫描工作频率,就可以实现几个数码管同时点亮。而用来产生这个扫描频率的驱动电路,可以

2、通过 BCD 七段译码器的输入数据切换电路,通过计数器的输出来控制几个多路数据选择器电路的实现,只要计数频率足够高,就可以实现我们的要求。2. 结构框图:产生 00,01,10,11 一次选择其中一组信号位选其中,3 选 1 多路选择器以及 2-3 译码器的输入信号是由模 4 计数器统一输出控制,以达到数码管的位选以及段选同时变化的效果。模 4 计数器2-3 译码器对数码管进行选择3 选 1 多路选择器7 段译码器abcdefg 不同的段位发光形成数字EDA 实验报告王丹 计科一班 201208010122二、 实验流程:1、 模 4 计数器设计并进行仿真,下载到电路板上测试2、 3 选 1

3、多路选择器设计3、 2-3 译码器设计并进行仿真4、 综合利用模 4 计数器,3 选 1 多路选择器以及 2-3 译码器完成数码管扫描显示电路的设计并进行仿真,下载到电路板上测试综合模 4 计数器与 2-3 译码器大同小异。所以,我就以 2-3 译码器为例简单的讲述一下演示工程的创建过程。3 选 1 多路选择器:1) 打开 Quartus,创建工程,点击 File-New Project Wizard模 4 计数器设计(仿真、下载测试)3 选 1 多路选择器设计2-3 译码器设计(仿真)数码管扫描显示电路设计(仿真、下载测试)EDA 实验报告王丹 计科一班 201208010122注意工程文件

4、名一定要和顶层实体名一致,否则到后面编译的时候就有可能会报错并且还很难找出错误原因。2) 点击 Next,下一步是添加工程所需子模块设计源文件及设置用户库,我们目前不需要,直接单击 Next。3) 选择目标器件EDA 实验报告王丹 计科一班 201208010122我在实验室里截了图,其实可以看出,上面器件的选取和电板上的芯片型号相同。因此,一定要根据实际情况对器件进行选取,否则,仿真时就会出现问题。4) 点击 Next,是用户根据需求确定工程所用的第三方综合、仿真、时序分析工具。本工程默认 None,直接点击 Next。5) 工程信息的确认EDA 实验报告王丹 计科一班 2012080101

5、22核实工程信息设置,如果需要修改则可单击 black 返回相关页面重新设置。再单击 Finish 结束工程创建。6) 创建设计文件:选择 File-New,弹出如图所示对话框,选择Block Diagram/Schematic File 选项,弹出空白图形编辑器窗口。7) 元件的放置,命名及连接EDA 实验报告王丹 计科一班 201208010122在空白处双击鼠标左键,弹出如图对话框,可以直接在 Name 里面输入要找的器件(这样做会比较快一些),也可以一个一个打开查找。然后单击 OK 或者键盘 Enter,放置元器件。右击选中器件并在快捷菜单中选择 Properties 命令,在 Nam

6、e 栏中输入器件名。8) 连好的元件电路如图所示然后保存文件,选择 File-save 或者 ctrl+s,弹出对话框,默认保存工程文件名为 decoder2_3.bdf9) 编译EDA 实验报告王丹 计科一班 201208010122选择菜单 Processing-Compiler Tool 命令,然后单击 Start 进行全编译。10) 仿真验证1. 建立波形文件:选择 File-New,弹出的对话框中选择Vector Waveform File。2. 添加节点:选择菜单 Edit-Insert-Insert Node or Bus,弹出对话框,单击 Node Finder,弹出如图所示对

7、话框。然后按照如图示进行选择编辑。EDA 实验报告王丹 计科一班 2012080101223. 参数设置:有两个重要的参数需要设置 End Time 和 Grid Size。 Edit-End Time 弹出结束时间对话框如图,设置 Time时间为 2 微秒。 Edit-Grid Size,弹出网格大小设置框,Period 设置为 100 纳秒。4. 输入信号激励:选中节点 clk,使其变为蓝色高亮,然后选择左侧 按钮,弹出时钟设置。总体设置如图所示EDA 实验报告王丹 计科一班 2012080101225. 保存波形文件:File-Save,弹出 Save as,保存为默认decoder2_

8、3.vwf,并选中 Add to current project。6. 进行功能仿真以及时序仿真:功能仿真:选择 Processing-Generate Fuctional Simulation Netlist 产生功能仿真网表。选择Assignments-Setting,做如图设置:EDA 实验报告王丹 计科一班 201208010122然后 File-Start Simulation 启动功能仿真。功能仿真结果:data 输入为 00 时,译出的 seg 为 100,data 输入为 01 时,译出的 seg 为 010,其他情况为 001.时序仿真只需要 Assignments-Sett

9、ing,将 Simulation mode 改为 Timing 然后再重复上述步骤就行了。时序仿真结果:7. 接下来进行管脚分配:Assignments-Pin 中分配管脚,具体如图所示:注意:input 需要输入的是时钟信号,所以管脚的分配要对照你的电板进行分配。并且分配完之后还要再进行一次全编译。8. 最后是将你所做的下载到电板上:Tools-Programming,进入下载界面,单击 Hardware Setup,弹出电缆配置对话框,EDA 实验报告王丹 计科一班 201208010122下拉中选择 ByteBlasterMV 就好了,最后点击 start 进行下载显示。我这里只对模 4

10、 计数器进行了下载显示,显示如图:以上流程无论是模 4 计数器、2-3 译码器还是 3 选 1 多路选择器都差不多,只不过 3 选 1 多路选择器用的是 VHDL 语言,除了一开始创建的时候是 File-New 中选择的是 WHDL File 之外,后面的工程差不多一样。所以下面就将重心放在数码管扫描电路上面。11) 数码管扫描显示电路结构1) 模 4 计数器根据时钟的周期性产生 00,01,10,11 信号同时输入给 3 选 1 多路选择器以及 2-3 译码器2) 3 选 1 多路选择器获取输入的三次信号,但是只输出三次信号中的一次3) 2-3 译码器接受模 4 计数器产生的信号并译出,进行

11、数码管的位选EDA 实验报告王丹 计科一班 2012080101224) 7499 七段译码器接受 3 选 1 多路选择器输出的一次信号并将其在数码管上显示12) 波形仿真以下是数码管扫描显示电路的仿真波形图,用以在实际电路检测前发现逻辑错误。13) 结果解释及验证:模 4 计数器产生时钟信号(clk)00,01,10,11 通过 sel 传递给了 2-3 译码器对数码管进行位选。同时在 din0,din1,din2 输入你想要数码管显示的数据通过 dout 传递给了数码管,bsg 则为数码管位选,根据周期性时间对数码管进行选择,而 abcdefg则对应数码管的发光段。仿真图的数据提取如下:(

12、时间段用 T1,T2,T3 表示)时间 输入 位选 段选 数码管显示T1 5 100 1011011时钟信号数码管位选三个输入信号,分别是 5,9,E的二进制。数码管段选周期 100ns结束时间:2微秒EDA 实验报告王丹 计科一班 201208010122T2 9 010 1110011T3 E 001 0001111上面除了 5 之外其他的显示异常,是因为 7449 七段译码器有时候无法识别,会出现乱码,因此最好是用 VHDL 语言自己写一个七段译码器。于是,我重新写了一个七段译码器。代码如下:library IEEE;use IEEE.std_logic_1164.all;entity myself isport( din:in std_logic_vector(3 downto 0);dou:out std_logic_vector(6 downto 0);end myself;architecture myself_arc of myself isbegindou Pins,弹出窗口,它包含器件封装试图,以不同的颜色和符号表示不同类型的引脚,并以其他符号表示 I/O 块。(4) 解释功能仿真和时序仿真流程是什么,区别在哪里?

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

当前位置:首页 > 研究报告 > 综合/其它

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