版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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译码器完成数码管扫描显示电路的设计并进行仿真,下载到电路板上测试2-3
3、译码器设计(仿真)3选1多路选择器设计模4计数器设计(仿真、下载测试)数码管扫描显示电路设计(仿真、下载测试)综合模4计数器与2-3译码器大同小异。所以,我就以2-3译码器为例简单的讲述一下演示工程的创建过程。3选1多路选择器:1) 打开Quartus,创建工程,点击File->New Project Wizard注意工程文件名一定要和顶层实体名一致,否则到后面编译的时候就有可能会报错并且还很难找出错误原因。2) 点击Next,下一步是添加工程所需子模块设计源文件及设置用户库,我们目前不需要,直接单击Next。3) 选择目标器件我在实验室里截了图,其实可以看出,上面器件的选取和电板上的芯
4、片型号相同。因此,一定要根据实际情况对器件进行选取,否则,仿真时就会出现问题。4) 点击Next,是用户根据需求确定工程所用的第三方综合、仿真、时序分析工具。本工程默认None,直接点击Next。5) 工程信息的确认核实工程信息设置,如果需要修改则可单击black返回相关页面重新设置。再单击Finish结束工程创建。6) 创建设计文件:选择File->New,弹出如图所示对话框,选择Block Diagram/Schematic File选项,弹出空白图形编辑器窗口。7) 元件的放置,命名及连接在空白处双击鼠标左键,弹出如图对话框,可以直接在Name里面输入要找的器件(这样做会比较快一些
5、),也可以一个一个打开查找。然后单击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-&g
6、t;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,并选中
7、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然后再重复上述步骤就行了
8、。时序仿真结果:7. 接下来进行管脚分配:Assignments->Pin中分配管脚,具体如图所示:注意:input需要输入的是时钟信号,所以管脚的分配要对照你的电板进行分配。并且分配完之后还要再进行一次全编译。8. 最后是将你所做的下载到电板上:Tools->Programming,进入下载界面,单击Hardware Setup,弹出电缆配置对话框,下拉中选择ByteBlasterMV就好了,最后点击start进行下载显示。我这里只对模4计数器进行了下载显示,显示如图:以上流程无论是模4计数器、2-3译码器还是3选1多路选择器都差不多,只不过3选1多路选择器用的是VHDL语言,除
9、了一开始创建的时候是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微秒周期100
10、ns数码管段选三个输入信号,分别是5,9,E的二进制。数码管位选时钟信号13) 结果解释及验证:模4计数器产生时钟信号(clk)00,01,10,11通过sel传递给了2-3译码器对数码管进行位选。同时在din0,din1,din2输入你想要数码管显示的数据通过dout传递给了数码管,bsg则为数码管位选,根据周期性时间对数码管进行选择,而abcdefg则对应数码管的发光段。仿真图的数据提取如下:(时间段用T1,T2,T3表示)时间输入位选段选数码管显示T15100T29010T3E001上面除了5之外其他的显示异常,是因为7449七段译码器有时候无法识别,会出现乱码,因此最好是用VHDL语言
11、自己写一个七段译码器。于是,我重新写了一个七段译码器。代码如下: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 <= "1111110" when din="0000" else"0110000"
12、 when din="0001" else"1101101" when din="0010" else"0110011" when din="0011" else"1011011" when din="0100" else"1011111" when din="0101" else"1110000" when din="0110" else"1111111"
13、 when din="0111" else"1110011" when din="1000" else"1110111" when din="1001" else"1110111" when din="1010" else"0011111" when din="1011" else"1001110" when din="1100" else"0111101"
14、 when din="1101" else"1001111" when din="1110" else"1000111" when din="1111" else"0000000"end myself_arc;并且编译通过后原图修改为我自己的七段译码器(myself):产生的刚好是正确的波形:时间输入位选段选数码管显示T1E100T2C010T3B00100111114) 管脚分配说明clk分配给125号管脚,为了产生一个快速的频率,使肉眼分辨不出数码管的显示是周期性扫描的结
15、果。三、 实验日志:问题一:数码管扫描器那里总是编译不过去,并且我发现和书上有不一样的地方,decoder2_3的名字以及文件夹名字命名都不是书上的。解决方法:重新创建一个decoder2_3文件夹并将原来的文件改名为decoder2_3.bfd,重新打开Quartus创建一个工程,打开decoder2_3.bdf并重新进行编译以及仿真问题二:数码管的顶层电路图怎么也编译不过去解决方法:(1)找了一下图,发现本来应该是粗导线的地方用的是细导线(2)并未将counter4.bdf,mux4_3_1.vhd,decoder2-3.bdf复制到新建工程所在文件夹中四、 实验总结:随着示波管上显示出我
16、所想要的数据,这次试验圆满完结。通过这次试验,我了解了Quartus的平台和基本操作。对于这次的实验,我感觉熟练程度真的是逼出来的。由于一开始完全没有任何基础并且对EDA没有任何了解,所以出现了种种困难,比如模4计数器做了5遍都还是忘记要将工程保存,比如由对整个实验流程完全看不懂到最后能够熟练的操作Quartus平台,这是我这次实验的最大的收货。五、 思考题:(1) 图形输入法与硬件描述语言法优缺点是什么?举例说明一个Quartus最小工程必须维护哪些类型文件。答:图形输入法:(优点)能直接的用元件连接电路图,容易理解和思考,直观,连线简洁方便。(缺点)连线容易出错,器件容易搞混。硬件描述语言:(优点)逻辑性强,对实现电路器件和连线较多的逻辑电路较方便。(缺点)设计代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店品牌推广总结
- 软件行业采购管理心得
- 手机数码销售员工作总结
- 金融规划行业财务规划培训体验
- 云南省昆明市九县区人教版(PEP)2023-2024学年六年级上学期英语期末质量检测试卷
- 2021年广东省中山市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年四川省自贡市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2021年江苏省苏州市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2023年浙江省绍兴市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 简单辞职报告怎么写
- 2024年度医院内分泌与代谢科述职报告课件
- 手术室无菌操作流程
- 农业机械控制系统硬件在环测试规范
- 翁潭电站大王山输水隧洞施工控制网设计说明书
- 隆胸术培训课件
- 钢筋焊接培训课件
- 行政内勤培训课件
- 化纤企业(化学纤维纺织企业)安全生产操作规程
- 重大事故隐患专项排查检查表
- 中建住宅二次结构专项施工方案
- 红薯淀粉加工项目可行性研究报告
评论
0/150
提交评论