EDA数码管的显示整个流程实验报告.docx_第1页
EDA数码管的显示整个流程实验报告.docx_第2页
EDA数码管的显示整个流程实验报告.docx_第3页
EDA数码管的显示整个流程实验报告.docx_第4页
EDA数码管的显示整个流程实验报告.docx_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

EDA 实验报告王丹 计科一班 201208010122EDA 第一次实验报告实验目的:利用Quartus软件,采用自上而下或自下而上的模块化层次设计数码管扫描显示电路,通过仿真波形及硬件实验平台验证设计,从而熟悉Quartus的数字系统设计流程以及FPGA开发模式。一、 实验设计方案1. 原理说明:几个数码管在同一时间进行显示利用人眼的视觉暂留效应,把多个数码管按一定顺序(从左至右或从右至左)循环进行点亮,当点亮的频率足够高时,我们可以看到全部同时显示(点亮)。因此,我们只要给数码管驱动电路一个足够高的扫描工作频率,就可以实现几个数码管同时点亮。而用来产生这个扫描频率的驱动电路,可以通过BCD七段译码器的输入数据切换电路,通过计数器的输出来控制几个多路数据选择器电路的实现,只要计数频率足够高,就可以实现我们的要求。2. 结构框图:3选1多路选择器模4计数器7段译码器产生00,01,10,11一次选择其中一组信号2-3译码器abcdefg不同的段位发光形成数字对数码管进行选择位选其中,3选1多路选择器以及2-3译码器的输入信号是由模4计数器统一输出控制,以达到数码管的位选以及段选同时变化的效果。二、 实验流程:1、 模4计数器设计并进行仿真,下载到电路板上测试2、 3选1多路选择器设计3、 2-3译码器设计并进行仿真4、 综合利用模4计数器,3选1多路选择器以及2-3译码器完成数码管扫描显示电路的设计并进行仿真,下载到电路板上测试2-3译码器设计(仿真)3选1多路选择器设计模4计数器设计(仿真、下载测试)数码管扫描显示电路设计(仿真、下载测试)综合模4计数器与2-3译码器大同小异。所以,我就以2-3译码器为例简单的讲述一下演示工程的创建过程。3选1多路选择器:1) 打开Quartus,创建工程,点击File-New Project Wizard注意工程文件名一定要和顶层实体名一致,否则到后面编译的时候就有可能会报错并且还很难找出错误原因。2) 点击Next,下一步是添加工程所需子模块设计源文件及设置用户库,我们目前不需要,直接单击Next。3) 选择目标器件我在实验室里截了图,其实可以看出,上面器件的选取和电板上的芯片型号相同。因此,一定要根据实际情况对器件进行选取,否则,仿真时就会出现问题。4) 点击Next,是用户根据需求确定工程所用的第三方综合、仿真、时序分析工具。本工程默认None,直接点击Next。5) 工程信息的确认核实工程信息设置,如果需要修改则可单击black返回相关页面重新设置。再单击Finish结束工程创建。6) 创建设计文件:选择File-New,弹出如图所示对话框,选择Block Diagram/Schematic File选项,弹出空白图形编辑器窗口。7) 元件的放置,命名及连接在空白处双击鼠标左键,弹出如图对话框,可以直接在Name里面输入要找的器件(这样做会比较快一些),也可以一个一个打开查找。然后单击OK或者键盘Enter,放置元器件。右击选中器件并在快捷菜单中选择Properties命令,在Name栏中输入器件名。8) 连好的元件电路如图所示然后保存文件,选择File-save或者ctrl+s,弹出对话框,默认保存工程文件名为decoder2_3.bdf9) 编译选择菜单Processing-Compiler Tool命令,然后单击Start进行全编译。10) 仿真验证1. 建立波形文件:选择File-New,弹出的对话框中选择Vector Waveform File。2. 添加节点:选择菜单Edit-Insert-Insert Node or Bus,弹出对话框,单击Node Finder,弹出如图所示对话框。然后按照如图示进行选择编辑。3. 参数设置:有两个重要的参数需要设置End Time和Grid Size。 Edit-End Time弹出结束时间对话框如图,设置Time时间为2微秒。 Edit-Grid Size,弹出网格大小设置框,Period设置为100纳秒。4. 输入信号激励:选中节点clk,使其变为蓝色高亮,然后选择左侧按钮,弹出时钟设置。总体设置如图所示5. 保存波形文件:File-Save,弹出Save as,保存为默认decoder2_3.vwf,并选中Add to current project。6. 进行功能仿真以及时序仿真:功能仿真:选择Processing-Generate Fuctional Simulation Netlist产生功能仿真网表。选择Assignments-Setting,做如图设置:然后File-Start Simulation启动功能仿真。功能仿真结果:data输入为00时,译出的seg为100,data输入为01时,译出的seg为010,其他情况为001.时序仿真只需要Assignments-Setting,将Simulation mode改为Timing然后再重复上述步骤就行了。时序仿真结果:7. 接下来进行管脚分配:Assignments-Pin中分配管脚,具体如图所示:注意:input需要输入的是时钟信号,所以管脚的分配要对照你的电板进行分配。并且分配完之后还要再进行一次全编译。8. 最后是将你所做的下载到电板上:Tools-Programming,进入下载界面,单击Hardware Setup,弹出电缆配置对话框,下拉中选择ByteBlasterMV就好了,最后点击start进行下载显示。我这里只对模4计数器进行了下载显示,显示如图:以上流程无论是模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计数器产生的信号并译出,进行数码管的位选4) 7499七段译码器接受3选1多路选择器输出的一次信号并将其在数码管上显示12) 波形仿真以下是数码管扫描显示电路的仿真波形图,用以在实际电路检测前发现逻辑错误。结束时间:2微秒周期100ns数码管段选三个输入信号,分别是5,9,E的二进制。数码管位选时钟信号13) 结果解释及验证:模4计数器产生时钟信号(clk)00,01,10,11通过sel传递给了2-3译码器对数码管进行位选。同时在din0,din1,din2输入你想要数码管显示的数据通过dout传递给了数码管,bsg则为数码管位选,根据周期性时间对数码管进行选择,而abcdefg则对应数码管的发光段。仿真图的数据提取如下:(时间段用T1,T2,T3表示)时间输入位选段选数码管显示T151001011011T290101110011T3E0010001111上面除了5之外其他的显示异常,是因为7449七段译码器有时候无法识别,会出现乱码,因此最好是用VHDL语言自己写一个七段译码器。于是,我重新写了一个七段译码器。代码如下:library IEEE;use IEEE.std_logic_1164.all;entity myself isport( din:in std_logic_vector(3 downto 0); dou:out

温馨提示

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

评论

0/150

提交评论