欢迎来到天天文库
浏览记录
ID:37953994
大小:320.00 KB
页数:6页
时间:2019-06-03
《3-8译码器报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验报告学院:专业:电子信息工程班级:姓名学号实验组实验时间指导教师成绩课程名称硬件描述语言实验项目名称3-8译码器实验目的1.学习组合逻辑电路、编码器的功能与定义,学习Verilog和VHDL语言2.熟悉利用QuartusII开发数字电路的基本流程和QuartusII软件的相关操作3.学会使用VectorWave波形仿真实验要求按照老师的要求完成实验,编写实验报告实验原理在数字系统中,常常需要将某一信息(输入)变换为某一特定的代码(输出)。把二进制码按一定的规律排列,例如8421码、格雷码等,使每组代码具有一特定的含义(代表某个数字或是控制信号)称为编码。具有编码功能的逻辑电路称为
2、编码器。编码器有若干个输入,在某一时刻只有一个输入被转换为二进制码。例如8线‐3线编码器和10线‐4线编码器分别有8输入、3位输出和10位输入、4位输出。由真值表可见,需要有一组8bit的可变输入作为输入数据,故此处选择开发板上的SW0—SW7,作为输入(注意,每一次只能有一位为高,比如00001000)。为使输出特征明显,便于观察,故采用LED显示,此处采用D0—D2依次显示。实验仪器软件:AlteraQuartusII9.0集成开发环境。实验步骤1.选择“开始”→“所有程序”→“Altera”→“QuartusII9.0”→“QuartusII9.0(32bit)”,启动软件。2
3、.选择“File”→“NewProjectWizard”,出现“Introduction”页面,如图所示,该页面介绍所要完成的具体任务。3.单击“Next”按钮,进入工程名称的设定、工作目录的选择。4.在对话框中第一行选择工程路径;第二行输入工程名,第三行输入顶层文件的实体名(注意:工程名必须与顶层实体名相同,工程目录可以随意设置,但必须是英文的目录,工程名跟顶层实体名必须也是英文开头。不要将文件夹设在计算机已有的安装目录中,更不要将工程文件直接放在安装目录中。文件夹所在的路径名和文件夹名不能用中文,不能用空格,不能用括号,也不能以数字开头)这里输入encoder8_3;单击“Nex
4、t”按钮5.单击“Next”进入图1.1‐8所示的对话框,用户指定在QuartusII之外的用于设计输入、综合、仿真、时序分析的第三方EDA工具对话框,这里都不选,直接单击“Next”进入工程信息对话框6.新建设计文件,选择“File
5、New”,在New对话框中选择DeviceDesignFiles下的VerilogFile,单击OK,完成新建设计文件。7.在新建设计文件中输入Verilog程序.8.用户需要进行引脚分配9.选择“Processing→StartCompilation”,或者单击工具栏中的StartCompilation按钮进行全程编译,也可以在“Processing
6、”菜单中选择“Start”子菜单中的分布编译操作10.编译的时候,QuartusII会给出编译进度,“CompilationReport”窗口会给出编译结果,编译结果会随着编译进度随时更新。Message窗口会给出编译过程的具体情况,包括“information,warning,error”等。“information”多是完成的一些编译的进展描述;可能会出现很多warning但并不影响编译的进行;如果出现error,那么设计是不成功的,用户需要改正这些错误,然后重新编译。可以对错误进行定位,选中错误信息,右击,在弹出的菜单中选择Locate来实现对错误的定位。编译成功以后,会出现如
7、图所示的提示。11.结果仿真。选择“File
8、New”,在New对话框中选择DeviceDesignFile下的“VectorWaveformFile”文件,单击OK。12.在工具栏里面右键“NodeFinder”,或者按快捷键“Alt+1”,出现图所示对话框.在出现的对话框中,在Filter的下拉菜单中选择“Pins:all”,然后点击“List”.实验内容编写3-8译码器的和VHDL代码并仿真,编译下载验证实验数据一:引脚图:二:程序代码:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder3_8ISPORT(a,b,c,g1,
9、g2a,g2b:INSTD_LOGIC;y:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDdecoder3_8;ARCHITECTURErtlOFdecoder3_8ISSIGNALindata:STD_LOGIC_VECTOR(2DOWNTO0);BEGINindata<=c&b&a;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1=‘1’ANDg2a=‘0’ANDg2b=‘0’)THENCASEindataI
此文档下载收益归作者所有