欢迎来到天天文库
浏览记录
ID:49924778
大小:651.90 KB
页数:16页
时间:2020-03-05
《EDA数码管的显示整个流程实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、EDA第一次实验报告实验目的:利用QuartusⅡ软件,采用自上而下或自下而上的模块化层次设计数码管扫描显示电路,通过仿真波形及硬件实验平台验证设计,从而熟悉QuartusⅡ的数字系统设计流程以及FPGA开发模式。一、实验设计方案1.原理说明:几个数码管在同一时间进行显示利用人眼的视觉暂留效应,把多个数码管按一定顺序(从左至右或从右至左)循环进行点亮,当点亮的频率足够高时,我们可以看到全部同时显示(点亮)。因此,我们只要给数码管驱动电路一个足够高的扫描工作频率,就可以实现几个数码管同时点亮。而用来产生这个扫描频率的驱动电路,可以通过BCD七段译码器的输入数据切换电路,通过计数
2、器的输出来控制几个多路数据选择器电路的实现,只要计数频率足够高,就可以实现我们的要求。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译码器完成数码管扫描显示电路的设计并进行仿真,下
3、载到电路板上测试2-3译码器设计(仿真)3选1多路选择器设计模4计数器设计(仿真、下载测试)数码管扫描显示电路设计(仿真、下载测试)综合模4计数器与2-3译码器大同小异。所以,我就以2-3译码器为例简单的讲述一下演示工程的创建过程。3选1多路选择器:1)打开Quartus,创建工程,点击File->NewProjectWizard注意工程文件名一定要和顶层实体名一致,否则到后面编译的时候就有可能会报错并且还很难找出错误原因。1)点击Next,下一步是添加工程所需子模块设计源文件及设置用户库,我们目前不需要,直接单击Next。2)选择目标器件我在实验室里截了图,其实可以看出,上
4、面器件的选取和电板上的芯片型号相同。因此,一定要根据实际情况对器件进行选取,否则,仿真时就会出现问题。1)点击Next,是用户根据需求确定工程所用的第三方综合、仿真、时序分析工具。本工程默认None,直接点击Next。2)工程信息的确认核实工程信息设置,如果需要修改则可单击black返回相关页面重新设置。再单击Finish结束工程创建。1)创建设计文件:选择File->New,弹出如图所示对话框,选择BlockDiagram/SchematicFile选项,弹出空白图形编辑器窗口。2)元件的放置,命名及连接在空白处双击鼠标左键,弹出如图对话框,可以直接在Name里面输入要找的
5、器件(这样做会比较快一些),也可以一个一个打开查找。然后单击OK或者键盘Enter,放置元器件。右击选中器件并在快捷菜单中选择Properties命令,在Name栏中输入器件名。1)连好的元件电路如图所示然后保存文件,选择File->save或者ctrl+s,弹出对话框,默认保存工程文件名为decoder2_3.bdf2)编译选择菜单Processing->CompilerTool命令,然后单击Start进行全编译。1)仿真验证1.建立波形文件:选择File->New,弹出的对话框中选择VectorWaveformFile。2.添加节点:选择菜单Edit->Insert->I
6、nsertNodeorBus,弹出对话框,单击NodeFinder,弹出如图所示对话框。然后按照如图示进行选择编辑。3.参数设置:有两个重要的参数需要设置EndTime和GridSize。①Edit->EndTime弹出结束时间对话框如图,设置Time时间为2微秒。②Edit->GridSize,弹出网格大小设置框,Period设置为100纳秒。1.输入信号激励:选中节点clk,使其变为蓝色高亮,然后选择左侧按钮,弹出时钟设置。总体设置如图所示1.保存波形文件:File->Save,弹出Saveas,保存为默认decoder2_3.vwf,并选中Addtocurrentpro
7、ject。2.进行功能仿真以及时序仿真:功能仿真:选择Processing->GenerateFuctionalSimulationNetlist产生功能仿真网表。选择Assignments->Setting,做如图设置:然后File->StartSimulation启动功能仿真。功能仿真结果:data输入为00时,译出的seg为100,data输入为01时,译出的seg为010,其他情况为001.时序仿真只需要Assignments->Setting,将Simulationmode改为Timing然后
此文档下载收益归作者所有