电子设计自动化EDA技术实验三报告模板-8线-3线优先编码器设计
- 格式:doc
- 大小:367.00 KB
- 文档页数:8
EDA实验报告班级:学号:学生:指导老师:实验一:组合逻辑设计一、实验目的:1、通过一个简单的3—8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步了解quartusⅡ原理图输入设计的全过程。
二、实验的硬件要求:1、输入:DIP拨码开关3位。
2、输出:LED灯。
3、主芯片:EP1K10TC100-3.三、实验原理:三-八译码器三输入,八输出。
当输入信号按二进制方式的表示值为N时(输入端低电平有效),输出端从零到八记,标号为N输出端低电平表示有信号产生,而其他则为高电平表示无信号产生。
因为三个输入端产生的组合状态有八种,所以输出端在每种组合中仅有一位为低电平的情况下,能表示所有的输入组合,因此不需要像编码器实验那样再用一个输出端指示输出是否有效。
但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码。
当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。
本例设计中没有考虑使能输入端。
三个输入端:A0: 01010101A1: 00110011A2: 00001111三个输出端真值:Y0:10000000 Y1:01000000 Y2:00100000Y3:00010000 Y4:00001000 Y5:00000100 Y6:00000010Y7:00000001四、实验步骤:1、打开quartusⅡ,点击file\new菜单,选择block diagram。
根据实验要求选择器件并连线。
原理图如下:2、连好之后,单击保存,将文件保存到之前新建好的文件夹内。
3、点击Assignment\Device.选择实验要求的相关内容,截图如下:4、然后单击快键编译菜单,进行编译,编译成功后进行仿真。
根据真值表数据设置输入端的波形,点击开始仿真后,就会出现输出波形,并与真值表进行对照。
波形如下:波形与真值表一一对应,实验成功!实验二:扫描显示电路的驱动一、实验目的:了解教学系统中八位七段数码管显示模块的工作原理,设计标准扫描驱动电路模块,以备后面实验调用。
电子设计自动化(EDA)实验指引书前言近些年来,电子设计自动化(EDA)技术发展迅速。
一方面,各种大容量、高性能、低功耗可编程逻辑器件不断推出,使得专用集成电路(ASIC)生产商感受到空前竞争压力。
另一方面,浮现了许多EDA设计辅助工具,这些工具大大提高了新型集成电路设计效率,使更低成本、更短周期复杂数字系统开发成为也许。
于是一场ASIC 与FPGA/CPLD之争在所难免。
然而PLD器件具备先天竞争优势,那就是可以重复编程,在线调试。
EDA技术正是这场较劲推动引擎之一。
普通来说,EDA技术就是以计算机为平台,以EDA软件工具为开发环境,以HDL为设计语言,以可编程器件为载体,以ASIC、SOC芯片为目的器件,以电子系统设计为应用方向电子产品自动化设计过程。
设计者只需编写硬件描述语言代码,然后选取目的器件,在集成开发环境里进行编译,仿真,综合,最后在线下载调试。
整个过程,大某些工作由EDA软件完毕。
全球许多知名可编程器件提供商都推出了自己集成开发工具软件,如Altera公司MAX+PLUSⅡ、Quartus Ⅱ软件;Xilinx公司Foundation 、ISE软件,Lattice公司ispExpert 软件,Actel公司Libero软件等。
这些软件推出,极大地增进了集算法设计、芯片编程、电路板设计于一体EDA技术发展。
此外,在以SOC芯片为目的器件电子系统设计规定下,可编程器件内部开始集成高速解决器硬核、解决器软核、DSP模块、大量存储资源、高速串行收发模块、系统时钟管理器、多原则I/O接口模块,亦使得设计者更加得心应手,新一轮数字革命由此引起。
EDA技术是一门实践性很强学科,要培养出具备竞争力一流IC 设计人才,动手能力是核心。
只有通过理论学习,加上现场实验,在使用软件编程加硬件调试过程中真正获得锻炼,增长技能。
ZY11EDA13BE型实验系统采用主板加适配板加扩展板灵活构造,可以便进行基于不同PLD芯片实验开发,并易于升级,符合当前高校在此方面对人才培养规定。
Verilog⼋线-三线优先编码器设计(74LS148)if语句法1//8线-3线优先编码器设计(74LS148)2//3//EI | A7 A6 A5 A4 A3 A2 A1 A0 | Y2 Y1 Y0 GS EO4//0 | 0 x x x x x x x | 0 0 0 0 15//0 | 1 0 x x x x x x | 0 0 1 0 16//0 | 1 1 0 x x x x x | 0 1 0 0 17//0 | 1 1 1 0 x x x x | 0 1 1 0 18//0 | 1 1 1 1 0 x x x | 1 0 0 0 19//0 | 1 1 1 1 1 0 x x | 1 0 1 0 110//0 | 1 1 1 1 1 1 0 x | 1 1 0 0 111//0 | 1 1 1 1 1 1 1 0 | 1 1 1 0 112//0 | 1 1 1 1 1 1 1 1 | 1 1 1 1 013//1 | x x x x x x x x | 1 1 1 1 1141516module encoder_83 (din, EI, GS, EO, dout);17input [7:0] din; //编码输⼊端data_in,低电平有效18input EI; //使能输⼊端EI(选通输⼊端),EI为 0 时芯⽚⼯作,即允许编码19output [2:0] dout; //编码输出端data_out20output GS; //⽚优先编码输出端,优先编码器⼯作⼯作状态标志GS,低电平有效21output EO; //使能输出端EO(选通输出端)22reg [2:0] dout;23reg GS, EO;24always @(din or EI)25if(EI) begin dout <= 3'b111; GS <= 1; EO <= 1; end //所有输出端被锁存在⾼电平26else if (din[7] == 0) begin dout <= 3'b000; GS <= 0; EO <= 1; end27else if (din[6] == 0) begin dout <= 3'b001; GS <= 0; EO <= 1; end28else if (din[5] == 0) begin dout <= 3'b010; GS <= 0; EO <= 1; end29else if (din[4] == 0) begin dout <= 3'b011; GS <= 0; EO <= 1; end30else if (din[3] == 0) begin dout <= 3'b100; GS <= 0; EO <= 1; end31else if (din[2] == 0) begin dout <= 3'b101; GS <= 0; EO <= 1; end32else if (din[1] == 0) begin dout <= 3'b110; GS <= 0; EO <= 1; end33else if (din[0] == 0) begin dout <= 3'b111; GS <= 0; EO <= 1; end34else if (din == 8'b11111111) begin dout <= 3'b111; GS <= 1; EO <= 0; end//芯⽚⼯作,但⽆编码输⼊35else begin dout <= 3'b111; GS <= 1; EO <= 1; end //消除锁存器(latch)36endmodule3738//EI = 0 表⽰允许编码,否则所有输出端被封锁在⾼电平(控制芯⽚⼯作)39//EO = 0 表⽰电路⼯作,但⽆编码输⼊(⽤于级联)40//GS = 0 表⽰电路⼯作,且有编码输⼊(判断输⼊端是否有输⼊)testbench:1 `timescale 1 ps/ 1 ps2module encoder_83_vlg_tst();3reg EI;4reg [7:0] din;5wire EO;6wire GS;7wire [2:0] dout;8 encoder_83 i1 (.EI(EI), .EO(EO), .GS(GS), .din(din), .dout(dout));9initial10begin11 EI = 1;12 din = 8'b11111111;13 #10 EI = 0;14 #10 din = 8'b01010101;15 #10 din = 8'b10101010;16 #10 din = 8'b11010101;17 #10 din = 8'b11101010;18 #10 din = 8'b11110101;19 #10 din = 8'b11111010;20 #10 din = 8'b11111101;21 #10 din = 8'b11111110;22 #10 din = 8'b11111111;23end24endmoduleView Codecase语句法1//8线-3线优先编码器设计(74LS148)2//3//EI | A7 A6 A5 A4 A3 A2 A1 A0 | Y2 Y1 Y0 GS EO4//0 | 0 x x x x x x x | 0 0 0 0 15//0 | 1 0 x x x x x x | 0 0 1 0 16//0 | 1 1 0 x x x x x | 0 1 0 0 17//0 | 1 1 1 0 x x x x | 0 1 1 0 18//0 | 1 1 1 1 0 x x x | 1 0 0 0 19//0 | 1 1 1 1 1 0 x x | 1 0 1 0 110//0 | 1 1 1 1 1 1 0 x | 1 1 0 0 111//0 | 1 1 1 1 1 1 1 0 | 1 1 1 0 112//0 | 1 1 1 1 1 1 1 1 | 1 1 1 1 013//1 | x x x x x x x x | 1 1 1 1 1141516module encoder_83_case (din, EI, GS, EO, dout);17input [7:0] din; //编码输⼊端data_in,低电平有效18input EI; //使能输⼊端EI(选通输⼊端),EI为 0 时芯⽚⼯作,即允许编码19output [2:0] dout; //编码输出端data_out20output GS; //⽚优先编码输出端,优先编码器⼯作⼯作状态标志GS,低电平有效21output EO; //使能输出端EO(选通输出端)22reg [2:0] dout;23reg GS, EO;24always @(din or EI)25if(EI)26begin dout <= 3'b111; GS <= 1; EO <= 1; end //所有输出端被锁存在⾼电平27else28casez (din) //建议⽤casez语句,casez把z/?匹配成任意。
组合逻辑3-8译码器的设计一、实验目的:1、掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步掌握Max+PlusII软件的基本操作与应用。
4、初步了解可编程器件的设计全过程。
二、实验步骤:(一)设计输入:1、软件的启动:单击“开始”进入“程序”选中“Max+PlusII 10.1 BASELINE”,打开“”MaxplusII软件,如图4.1-1所示。
图4.1-12、启动File\New菜单,弹出设计输入选择窗口,如图4.1-2所示:图4.1-23、选择Graphic Editor File ,单击OK ,打开原理图编辑器,进入原理图设计输入电路编辑状态,如图4.1-3所示:4、设计输入1)放置一个器件在原理图上a 、在原理图的空白处双击鼠标右键,出现图4.1-4:图4.1-3图4.1-4b 、在光标处输入元件名称(如:input ,output ,and2,and3,nand2,or2,not ,xor ,dff 等)或用鼠标点击库元件,按下OK 即可。
c 、如果安放相同的元件,只要按住Ctrl 键,同时用鼠标按左键拖动该元件复制即可。
d 、一个完整的电路包括:输入端口input 、电路元件集合、输出端口output 。
e 、图4.1-5为3-8译码器元件安放结果。
2)添加连线到器件的引脚上:把鼠标移到元件引脚附近,则鼠标自动由箭头变为十字,按住鼠标左键拖动,即可画出连线。
3-8译码器原理图连线后如图4.1-6所示。
图4.1-5图4.1-63)标记输入/输出端口属性分别双击输入端口的“PINNAME ”,当变成黑色时,即可输入标记符并回车确认;输出端口标记方法类似。
本译码器的三输入端分别标记为:A 、B 、C ;其八输出端分别为:D0、D1、D2、D3、D4、D5、D6、D7。
如图4.1-7所示。
4)保存原理图单击保存按钮图表,对于新建文件,出现类似文件管理器图框,请选择保存路径/文件名称保存原理图,原理图的扩展名为.gdf ,本实验中取名为test1.gdf 。
Xxxx大学课程设计任务书课程硬件课程设计题目 8-3优先级编码器设计专业姓名学号主要内容、基本要求等一、主要内容:利用EL教学实验箱、微机和QuartusⅡ软件系统,使用VHDL语言输入方法设计8-3优先编码器。
可以利用层次设计方法和VHDL语言,完成硬件设计设计和仿真。
最后在EL教学实验箱中实现。
二、基本要求:设计并实现一个8-3优先级编码器,要求I0优先级最高,I7优先级最低,编码输出为原码。
三、扩展要求:输入端加使能端,在使能端为有效的低电平时,进行编码;在使能端为无效的高电平时,输出高阻状态。
四、参考文献:[1] 杨刚,龙海燕.现代电子技术-VHDL与数据系统设计.北京:电子工业出版社,2004[2] 黄仁欣.EDA技术实用教程.北京:清华大学出版社,2006[3] 潘松.VHDL实用教程[M].成都:电子科技大学出版社,2000[4] 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,2000[5] 宋振辉. EDA技术与VHDL.北京:北京大学出版社,2008完成期限18-19周指导教师张岩专业负责人富宇2011年6月28日目录第1章概述 (1)1.1 EDA的概念 (1)1.2 EDA技术及应用 (2)1.3 EDA技术发展趋势 (2)1.4 Quartus II特点介绍 (3)第2章硬件描述语言——VHDL (4)2.1 VHDL的简介 (4)2.2 VHDL语言的特点 (4)2.3 VHDL的设计流程 (5)第3章 8-3优先编码器的设计 (6)3.1 编码器的工作原理 (6)3.2 8-3优先编码器的设计 (6)3.3 8-3优先编码器仿真及分析 (7)3.4 在实验箱上实现8-3优先编码器 (8)结论 (11)参考文献 (12)第1章概述1.1EDA的概念EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
8-3编码器程序设计与仿真实验1 实验目的(1) 熟悉软件的使用,了解使用EDA工具进行设计的全过程。
(2) 学会用VHDL语言进行逻辑电路设计。
2 实验原理8-3编码器有八个输入信号,输出是(2n=8, n=3)三位二进制代码。
其编码表如表3.3.1所示。
表3.3.1 三位二进制编码器的编码表输入输出Y2 Y1Y0I0 0 0 0I10 0 1I20 1 0I30 1 1I4 1 0 0I5 1 0 1I6 1 1 0I7 1 1 1由编码表写出逻辑表达式如下:Y2=I4+I5+I6+I7Y1=I2+I3+I6+I7Y0=I1+I3+I5+I73 实验内容(1) 用VHDL语言编写8-3编码器源程序。
(2) 进行综合、优化及功能仿真。
4 实验预习与思考(1) 熟悉8-3编码器的工作原理。
(3) 如何在波形测试台窗口编辑输入信号。
(4) 在结构体中有几类功能描述语句,各起什么作用。
5 VHDL仿真实验(1)为此工程新建一个文件夹。
双击图标,启动QuartusⅡ软件工作平台。
新建工程设计文件名为encoder8_3.vhd。
在新建的VHDL模型窗口下编写的源程序如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity encoder8_3 is --实体说明Port ( reset : in std_logic;input : in std_logic_vector(7 downto 0);output : out std_logic_vector(2 downto 0));end encoder8_3;architecture Behavioral of encoder8_3 is --结构体beginprocess(reset,input) --进程beginif ( reset = '1') thenoutput <= "000";elsecase input iswhen "00000001" => output <= "000";when "00000010" => output <= "001";when "00000100" => output <= "010";when "00001000" => output <= "011";when "00010000" => output <= "100";when "00100000" => output <= "101";when "01000000" => output <= "110";when "10000000" => output <= "111";when others=> output<="000";end case;end if;end process;end Behavioral;(2) 创建工程及全程编译完成源代码输入后即可创建工程。
实验三: 二位比较器的设计与实现一.实验简介:这个实验将指导你通过使用ISE软件进行简单的二位比较器的设计与实现。
二.实验目的:•使用ISE软件设计并仿真。
•学会程序下载。
三.实验原理:1.ISE软件是一个支持数字系统设计的开发2.用ISE软件进行设计开发时基于相应器件型号的。
注意:软件设计时选择的器件型号是与实际下载板上的器件型号相同。
3.图2-1所示为二位比较器的真值表,本实验中用Verilog语句来描述。
b[1] b[0] a[1] d[0]0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1a_eq_b a_gt_b a_lt_b1 0 00 1 00 1 00 1 00 0 11 0 00 1 00 1 00 0 10 0 11 0 00 1 00 0 10 0 10 0 11 0 0四.实验步骤:1.新建工程(1)双击桌面上“”图标,启动ISE软件(也可从开始菜单启动)。
每次打开ISE都会默认恢复到最近使用过的工程界面。
当第一次使用时,由于还没有历史工程记录,所以工程管理区显示空白。
选择File—New Project选项,在弹出的对话框中输入工程名称并指定工程路径。
(2)点击Next按钮进入下一页,选择所使用的芯片及综合、仿真工具。
计算机上安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中找到。
在图中我们选用了Spartan6 XC6SLX16芯片,采用CSG324封装,这是NEXYS3开发板所用的芯片。
另外,我们选择Verilog作为默认的硬件描述语言。
(3)再点击Next按钮进入下一页,这里显示了新建工程的信息,确认无误后,点击Finish 就可以建立一个完整的工程了。
(1)在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New Source命令,选择Verilog Module输入,并输入Verilog文件名。
EDA技术实验报告—3-8译码器的设计一.实验目的1.通过一个简单的3-8译码器的设计,掌握组合逻辑电路的设计方法。
2.掌握组合逻辑电路的静态测试方法。
3.初步了解QUARTUSⅡ软件的基本操作和应用。
4.初步了解可编程逻辑器件的设计全过程。
二.实验原理3-8译码器的三输入,八输出。
输入信号N用二进制表示,对应的输出信号N输出高电平时表示有信号产生,而其它则为低电平表示无信号产生。
其真值表如下图所示:当使能端指示输入信号无效或不用对当前的信号进行译码时,输出端全为高电平,表示任何信号无效。
三.实验内容用三个拨动开关来表示三八译码器的三个输入(A,B,C),用八个LED来表示三八译码器的八个输出(D0-D7)。
通过与实验箱的FPGA接口相连,来验证真值表中的内容。
表1-2拨动开关与FPGA管脚连接表表1-3LED 灯与FPGA管脚连接表(当FPGA与其对应的接口为高电平时,LED会发亮)四.实验歩骤1.建立工程文件2.建立图形设计软件(1)将要选择的器件符号放置在图形编辑器的工作区域,用正交节点工具将原件安装起来,然后定义端口的名称。
结果如下图:3.编译前设置(1)选择目标芯片(2)选择目标芯片的引脚状态4.对设计文件进行编译五.管脚的分配根据表1-2和1-3的数据进行管脚的设置1六.对文件进行仿真按下Report按钮观察仿真结果,如下:6.从设计文件到目标器件的加载七.实验现象以及结果文件加载到目标器件后,拨动拨动开关,LED灯会按照真值表对应的灯点亮。
八.实验心得通过本次实验,加深了自己对EDA技术的理解并提高了操作能力。
但是,在实验中仍然遇到了很多困难,还需提高。
电子设计自动化eda技术实验三报告模板-8线-3线优先编码器设计篇一:电子设计自动化EDA技术实验三报告模板-8线-3线优先编码器设计[1]湖南安全职业技术学院实验报告课程名称实验项目名称 8线-3线优先编码器设计实验学生班级电信0901 实验时间实验地点 EDA实训室实验成绩评定指导教师签字年月日篇二:EDA课程设计报告8线-3线优先编码器Xxxxx学院《EDA技术》课程报告设计题目:8线-3线优先编码器班级:应用电子1101班姓名:学号:指导老师:日期:目录一、8-3优先编码器设计原理分析 (3)二、8-3优先编码器模块的源程序 .............. 3 三、8-3优先编码器仿真结果 .................. 4 四、设计总结和心得体会 ...................... 5 五、参考资料 (5)一、8-3优先编码器设计原理分析8-3优先编码器输入信号为din0,din1,din2,din3,din4,din5,din6和din7,输出信号为out2、out1、out0。
输入信号中din7的优先级别最低,依次类推,din0的优先级别最高。
也就是说若din0输入为1(即为高电平)则无论后续的输入信号怎么样,对应的这种状态一样,如若din0输入为0(即为低电平)则看优先级仅次于din0的din1状态决定,依次类推。
因为din0到din7共8中状态,可以用3位二进制编码来表示。
8-3优先编码器真值表如下表所示。
表1 8-3优先编码器真值表二、8-3优先编码器模块的源程序8-3优先编码器由VHDL程序来实现,VHDL语言描述如下:LIBRARY IEEE;USE _LOGIC_; ENTITY coder ISPORT ;output : OUT STD_LOGIC_VECTOR;EANABLE: in std_logic ); END coder;ARCHITECTURE behav OF coder ISSIGNAL SINT : STD_LOGIC_VECTOR; BEGINPROCESS BEGINIF THENIF ='1') THEN output 篇三:实验三-8线3线优先编码器实验三基本组合逻辑电路的PLD实现(2)实验名称:利用原理图输入法与VerilogHDL输入法设计一个8线-3线优先编码器实验目的:1. 熟悉用可编程器件实现基本组合逻辑电路的方法。