EDA实验报告-实验1-简单组合逻辑设计
实验一组合逻辑电路设计
实验一 组合逻辑电路的设计一、实验目的:1、 掌握组合逻辑电路的设计方法。
2、 掌握组合逻辑电路的静态测试方法。
3、 加深FPGA 设计的过程,并比较原理图输入和文本输入的优劣。
4、 理解“毛刺”产生的原因及如何消除其影响。
5、 理解组合逻辑电路的特点。
二、实验的硬件要求:1、 EDA/SOPC 实验箱。
2、 计算机。
三、实验原理1、组合逻辑电路的定义 数字逻辑电路可分为两类:组合逻辑电路和时序逻辑电路。
组合逻辑电路中不包含记忆单元(触发器、锁存器等),主要由逻辑门电路构成,电路在任何时刻的输出只和当前时刻的输入有关,而与以前的输入无关。
时序电路则是指包含了记忆单元的逻辑电路,其输出不仅跟当前电路的输入有关,还和输入信号作用前电路的状态有关。
通常组合逻辑电路可以用图1.1所示结构来描述。
其中,X0、X1、…、Xn 为输入信号, L0、L1、…、Lm 为输出信号。
输入和输出之间的逻辑函数关系可用式1.1表示: 2、组合逻辑电路的设计方法组合逻辑电路的设计任务是根据给定的逻辑功能,求出可实现该逻辑功能的最合理组 合电路。
理解组合逻辑电路的设计概念应该分两个层次:(1)设计的电路在功能上是完整的,能够满足所有设计要求;(2)考虑到成本和设计复杂度,设计的电路应该是最简单的,设计最优化是设计人员必须努力达到的目标。
在设计组合逻辑电路时,首先需要对实际问题进行逻辑抽象,列出真值表,建立起逻辑模型;然后利用代数法或卡诺图法简化逻辑函数,找到最简或最合理的函数表达式;根据简化的逻辑函数画出逻辑图,并验证电路的功能完整性。
设计过程中还应该考虑到一些实际的工程问题,如被选门电路的驱动能力、扇出系数是否足够,信号传递延时是否合乎要求等。
组合电路的基本设计步骤可用图1.2来表示。
3、组合逻辑电路的特点及设计时的注意事项①组合逻辑电路的输出具有立即性,即输入发生变化时,输出立即变化。
(实际电路中图 1.1 组合逻辑电路框图L0=F0(X0,X1,···Xn) · · ·Lm=F0(X0,X1,···Xn)(1.1)图 1.2 组合电路设计步骤示意图图还要考虑器件和导线产生的延时)。
EDA石倩倩 第一次实验
实验一利用原理图输入法设计简单组合电路一、实验目的:熟悉QuartusII软件界面, 学习简单组合电路的多层次化电路设计方法,掌握文本输入和原理图输入设计方法。
掌握时序仿真测试及测试结果分析的方法。
二、实验原理:三选一数据选择器可以由两个二选一数据选择器构成,原理图如图1 所示。
图1 三选一数据选择器上图中,二选一数据选择器MUX21A的功能如下:当s=0时,y=a;当s=1时,y=b 。
两个MUX21A 如上图连接后,实现三选一功能s1s0=00,outy=a3;s1s0=01,outy=a2;s1s0=10,outy=a1;s1s0=11,outy=a1。
三、实验内容:1.利用QuartusⅡ完成2选1多路选择器MUX21A的文本编辑输入,然后编译、仿真,检查程序设计正确无误后,生成一个元件待用。
给出文本设计文件和仿真波形图。
2.利用原理图输入法,按照图1进行连线,完成三选一电路的设计。
然后编译、仿真测试,结果正确后锁定管脚,下载到FPGA芯片中,进行硬件测试。
给出原理图设计文件和仿真设计图。
四、实验图形及仿真结果:(1)图形:1 原理图2 仿真电路图3仿真波形图(2)仿真结果分析:当s1s0=11时,输出y值即为a1的输入电平。
Y值随s1s0的输入电平改变而改变。
当输出y从一种电平跳变到另一电平时,会有时间的延迟。
五.管脚锁定说明:1.输入管脚锁定:a1 -> SW2(35) ;a2 -> SW3(36) ;a3-> SW4 (37) ;s0 -> SW5 (38) ;s1 -> SW6 (39) .2.输出管脚锁定:y -> LED1 (16) .六.硬件测试及结果分析:1.测试情况:当输入s1s0=00时,a3=1,测试灯亮,改变a0a1的电平,灯还是亮着;a3=0,测试灯灭,改变a0a1电平,灯还是灭。
以此类推,s1s0=01时,只有a2才能控制灯亮灭,s1s0=11或10时都是只有a1控制亮灭。
EDA组合逻辑、时序电路设计报告
E D A电路设计一、组合逻辑电路设计1、设计内容人的血型有A 、B 、AB 、O 四种。
输血时输血者的血型与受血者血型必须符合授受关系。
判断输血者与受血者的血型是否符合献血和输血 ,要求用八选一数据选择器(74LS151)及与非门(74LS00)实现。
(用两个逻辑变量的4种取值表示输血者的血型,例如00代表A 、01代表B 、10代表AB 、11代表O 。
)献血的授受关系如下:A B AB OA B AB O2、根据设计内容的要求,分析其逻辑关系定义四个变量a 、b 、c 、d ,它们的逻辑状态为“0”和“1”,则在表示血型上可以这样实现:例如,a 和b 为“00”表示A 型,代表输血者的血型,则对应的以c 和d 的组合代表受血者的血型,因为A 型血可以输给A 型(00)和AB 型(10),满足输血和受血的规则时,输出p 则为“1”,不满足则为“0”。
则根据这一分析,得到输血者和受血者对应的组合为:输血者a b 血型 0 0 A 0 1 B 1 0 AB 11O受血者得到真值表:c d 血型 0 0 A 0 1 B 1 0 AB 1 1O输血者血型受血者血型满足与否a b c d P0 0 0 0 10 0 0 1 00 0 1 0 10 0 1 1 00 1 0 0 00 1 0 1 10 1 1 0 10 1 1 1 01 0 0 0 01 0 0 1 01 0 1 0 11 0 1 1 01 1 0 0 11 1 0 1 11 1 1 0 11 1 1 1 1根据真值表得到逻辑表达式如下:p+++++=+++bdd c b aabcabcdababdaccbc3、源程序设计由逻辑表达式在EDA中编写的程序如下所示:ENTITY exchange_blood ISPORT(a,b,c,d:IN BIT;p:OUT BIT);END exchange_blood;ARCHITECTURE blood OF exchange_blood ISBEGINp<=((NOT a) AND (NOT b) AND (NOT c) AND (NOT d))OR c OR (b AND d) OR (b AND d) OR (b AND c) OR (a AND c) OR (a AND b) OR (a AND b AND d) OR (a AND b AND c) OR (a AND b AND c AND d);END blood;4、编译仿真根据设计的真值表输入,在编译完成无误后,进行波形仿真,按照真值表输入高低电平,最终仿真结果如下:5、结论对照真值表观察仿真结果,可以知道从波形仿真上输入输出波形确实满足了真值表的情况,但在输出波形上还存在着一些时间上的延迟,总体的来说,是实现了设计内容,完成了组合逻辑电路的设计。
EDA实验三组合逻辑电路设计(一)--编译码器设计
西安邮电学院实验中心实验报告院系电子工程学院班级学号姓名成绩教师签字实验日期实验名称组合逻辑电路设计(一)--编译码器设计_______________________________________________________一、实验目的二、实验所用仪表及主要器材三、实验原理简述四、实验测量记录:(如数据、表格、曲线、计算等)五、实验遇到的问题及解决办法:(余留问题,体会等)一、实验目的(1)熟悉组合逻辑电路的VHDL描述方法。
(2)掌握利用CPL器件实现组合逻辑数字电路的方法和过程。
(3)熟练掌握“case”语句与“if…else…”语句的用法。
二、实验所用仪表及主要器材PC,可编程逻辑实验电路板,下载线,USB电源线,双踪示波器,数字万用表,导线若干。
三、实验原理简述应用VHDL设计简单的逻辑电路四、实验内容在MAX+PULSII环境下,用VHDL语言按照输入—>编译—>仿真。
(1)8421BCD码转换为余3码转换表.在MAX+plusII 环境下,用VHDL 语言描述下列逻辑电路,并编译,仿真。
程序仿真结果:(2)设计一个优先编码器。
程序实现如下:仿真结果:五、实验结果见上述内容。
六、实验心得在本次实验中我学会了使用MAX+PLUSII软件的文本编程的方式设计电路。
在本次实验的文本编译环节中出现不少问题:(1)保存时文件名与实体名不一致,导致程序编译结果不正确。
(2)写程序时没有按照语法规则编写,使得文件编译频繁报错,标点的错误也会导致整个程序无法编译。
经过本次实验,加深了我对VHDL的文本编译设计的理解,今后我应该多练习MAX+PLUSII软件以减少错误。
EDA实验报告(组合逻辑、梁祝、步进机)
基础实验实验一组合逻辑设计一、实验目的:1.通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2.掌握组合逻辑电路的静态测试方法。
3.初步了解MAXPLUSII原理图输入设计的全过程。
二、实验的硬件要求:1、主芯片:EP1K10TC100—32、时钟源3、八位七段数码显示管4、四位拨码开关。
5、输入:DIP拨码开关3位。
6、输出:LED灯。
三、实验器材:1.超想-3000TB综合实验仪1台2.HK51TB仿真板 1块四、实验内容:1、用拨码开关产生8421BCD码,用CPLD产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后进行设计实现,适配化分。
调节时钟频率,感受“扫描”的过程,并观察字符亮度和显示刷新的效果。
2、编一个简单的从0~F轮换显示十六进制的电路。
五、实验原理:三八译码器三输入,八输出。
当输入信号按二进制方式的表示为N时,输出端从零标记到八。
因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位有效的情况下,能表示所有的输入组合。
四位拨码开关提供8421BCD码,经译码电路后成为7段数码管的字形显示驱动信号。
(A…G)扫描电路通过可调时钟输出片选地址SEL[2..0]。
由SEL[2..0]和A..G决定了8位中的哪一位显示和显示什么字形.SEL[2..0]变化的快慢决定了扫描频率的快慢。
1、参考电路(时钟频率>40HZ,如图2—4—1)图1—5—12、参考电路(时钟频率<2HZ,如图2—4—2)图1—5—2六、实验连线:输入信号:D3,D2,D1,D0所对应的管脚同四位拨码开关相连;清零信号RESET 所对应的管脚同按键开关相连;时钟CLK 所对应的管脚同实验箱上的时钟源相连;输出信号:代表扫描片选地址信号SEL2,SEL1,SEL0的管脚同四位扫描驱动地址的低3位相连,最高位地址接“0”(也可悬空);代表7段字码驱动信号A,B,C,D,E,F,G的管脚分别同扫描数码管的段输入a,b,c,d,e,f,g相连。
《EDA技术及应用》实验指导书
实验一组合逻辑器件设计一、实验目的1、通过一个简单的3-8译码器的设计,掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步了解QUARTUS II原理图输入设计的全过程。
二、实验主要仪器与设备1、输入:DIP拨码开关3位。
2、输出:LED灯。
3、主芯片:EP1K10TC100-3。
三、实验内容及原理三-八译码器即三输入,八输出。
输出与输入之间的对应关系如表1-1-1所示。
表1-1 三-八译码器真值表四、预习要求做实验前必须认真复习数字电路中组合逻辑电路设计的相关内容(编码器、译码器)。
五、实验步骤1、利用原理图设计输入法画图1-1-1。
2、选择芯片ACEX1K EP1K10TC100-3。
3、编译。
4、时序仿真。
5、管脚分配,并再次编译。
6、实验连线。
7、编程下载,观察实验结果。
图1-1 三-八译码器原理图六、实验连线用拨码开关的低三位代表译码器的输入(A,B,C),将之与EP1K10TC100-3的管脚相连;用LED灯来表示译码器的输出(D0~D7),将之与EP1K10TC100-3芯片的管脚相连。
拨动拨档开关,可以观察发光二极管与输入状态的对应关系同真值表中所描述的情况是一致的。
七、实验结果八、思考题在输入端加入使能端后应如何设计?附:用硬件描述语言完成译码器的设计::LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY T2 ISPORT(A: IN STD_LOGIC_VECTOR(2 DOWNTO 0);Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END T2;ARCHITECTURE A OF T2 ISBEGINWITH A SELECTY <= "00000001" WHEN "000","00000010" WHEN "001","00000100" WHEN "010","00001000" WHEN "011","00010000" WHEN "100","00100000" WHEN "101","01000000" WHEN "110","10000000" WHEN OTHERS;END A;实验二组合电路设计一、实验目的1、掌握组合逻辑电路的设计方法。
EDA技术实验报告完整版
福建农林大学金山学院信息工程类实验报告课程名称:EDA技术姓名:邱彬彬系:信息与机电工程系专业:电子信息工程专业年级:2010级学号:100201079指导教师:蔡剑卿职称:讲师2013年05月03日实验项目列表福建农林大学金山学院信息工程类实验报告系:信息与机电工程系专业:电子信息工程年级: 2010级姓名:邱彬彬学号: 100201079 实验课程: EDA技术实验室号:__田实405 实验设备号: 2B 实验时间: 2013年4月13日指导教师签字:成绩:实验一Quartus II 9.0软件的使用1.实验目的和要求本实验为验证性实验,其目的是熟悉Quartus II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。
2.实验原理利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。
Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。
3.主要仪器设备(实验用的软硬件环境)实验的硬件环境是:微机一台GW48 EDA实验开发系统一套电源线一根十芯JTAG口线一根USB下载线一根USB下载器一个实验的软件环境是:Quartus II 9.0软件4.操作方法与实验步骤利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。
利用Quartus II 9.0软件实现引脚锁定和编译文件下载。
利用Quartus II 9.0软件实现原理图输入设计文件的编辑和产生相应的原理图符号元件。
5.实验内容及实验数据记录安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
eda 时序逻辑电路实验报告
实验报告姓名:吴克亮学号:1053305016班级:电气一班一、实验名称:组合逻辑电路设计二、实验目的:1、掌握用VHDL 语言和EPLD 进行组合逻辑电路的设计方法。
2、加深对EPLD 设计全过程的理解。
三、实验要求学习常用组合逻辑的可综合代码的编写,学习VHDL语言的编程思想与调试方法,学习通过定制LPM元件实现逻辑设计,通过波形仿真设计的正确与否。
四、实验设备:MAX+plus 2五、实验步骤:1、采用文本编辑器输入VHDL 语言源程序,建立工程。
2、编译。
3、仿真。
4、对芯片进行编程。
5、根据管脚分配情况连线。
实验程序:LIDRART IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PAN4_5 ISPORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0); y:OUT STD_LOGIC);END PAN4_5;ARCHITECTURE DEHA OF PAN4_5 ISSIGNAL DATAIN:INTEGER;BEGINDA TA<=CONV_INTEGER(D);PROCESSBEGINIF(DATAIN>=5)THENY<='1';ELSEY<='0';END PROCESS;END DEHA;编译结果编译通过后进行波形仿真实验心得体会做完EDA实验,我感到受益匪浅。
这不仅使我了解了EDA 的实验系统,学习了MAX+PLUSⅡ软件的使用,掌握了基本的电路设计流程、方法以及技巧,更增强了我对EDA设计的兴趣。
在实验的过程中,老师又结合实际详细的教了我们VHDL 语言的基本指令及编程方法,教我们熟悉了在PC机上运用MAX+PLUSⅡ软件和EPLD进行电路设计的设计和仿真过程。
实验用EDA软件设计组合逻辑电路
实验六 用EDA软件设计组合逻辑电路实验目的:1. 熟悉EWB能和使用方法2. 熟悉逻辑分析仪、逻辑转换仪等实验仪器的使用3. 掌握组合逻辑电路的设计和应用方法实验预备知识:1. 字信号发生器:为数字电路的分析提供快速编辑数字线路激励信号源的方便工具。
2. 逻辑分析仪:应用于数字电子系统的调试、故障查找、性能分析等,是数字电子系统设计中对数据域进行分析所必备的测量仪器。
3. 逻辑转换器:可以完成真值表、逻辑表达式和逻辑电路三者之间相互转换。
方便设计和应用逻辑电路,实际工作中并不存在。
演示电路:0010100111001011101112. 设计一位的全加器,根据真值表,用基本门电路来搭接电路a) 设计一个一位的全加器,其中A为加数,B为被加数,C为低位的进位,输出为S i(值)和向高位的进位C O输入逻辑状态输出A B C Si(值)C O(进位)0000000110010100110110010101011100111111b) 根据真值表列出逻辑表达式进行卡诺图化简得c) 根据化简表达式连接电路图,如下3. 利用逻辑转换仪,逻辑分析仪和字信号发生器分别设计第二题的电路实验内容:1. 测试74LS86(四输入异或门)的逻辑功能,测量输出电压2. 仿照演示习题二,设计半加器输入逻辑状态输出A B Si(值)C O(进位)00000110101011013. 仿照习题三,利用字信号发生器作为信号输入装置,通过逻辑分析仪观察电路,设计半加器4. 练习逻辑转换器的使用a) 通过逻辑转换器,将半加器电路转换出真值表和与非门电路b) 结合逻辑转换器功能,设计A'BC+ABC'+ABC的相对应的真值表和电路c) 结合逻辑转换器功能,化简A'B'CD+A'BCD+ABC'D'+ABCD,并作出相对应的门电路。
EDA实验报告
EDA实验报告一、实验目的本次 EDA 实验的主要目的是熟悉电子设计自动化(EDA)软件的使用,掌握数字电路的设计、仿真和实现流程,提高对数字逻辑电路的理解和设计能力。
二、实验设备与环境1、计算机一台2、 EDA 软件(如 Quartus II 等)三、实验原理1、数字逻辑基础数字电路中的基本逻辑门包括与门、或门、非门、与非门、或非门等。
通过这些基本逻辑门的组合,可以实现各种复杂的数字逻辑功能。
2、组合逻辑电路组合逻辑电路的输出仅取决于当前的输入,不存在存储单元。
常见的组合逻辑电路有加法器、编码器、译码器等。
3、时序逻辑电路时序逻辑电路的输出不仅取决于当前的输入,还与电路的过去状态有关。
常见的时序逻辑电路有计数器、寄存器等。
四、实验内容1、设计一个简单的加法器使用基本逻辑门设计一个两位加法器,输入为两个两位的二进制数A 和 B,输出为它们的和 S 以及进位 C。
2、设计一个 4 位计数器实现一个 4 位的计数器,能够在时钟信号的上升沿进行计数,计数范围为 0 到 15。
3、设计一个数码管显示译码器将输入的 4 位二进制数转换为数码管的 7 段显示编码,实现数字 0 到 9 的显示。
五、实验步骤1、加法器设计(1)打开 EDA 软件,创建一个新的项目。
(2)使用原理图输入方式,绘制出加法器的逻辑电路图,包括两个半加器和一个或门。
(3)对设计进行编译,检查是否存在语法错误。
(4)创建仿真文件,设置输入信号的激励,进行功能仿真,观察输出结果是否符合预期。
2、计数器设计(1)在项目中新建一个模块,使用 Verilog HDL 语言描述计数器的功能。
(2)编写测试代码,对计数器进行仿真验证。
(3)将计数器下载到硬件开发板上,通过观察实际的输出结果验证其功能。
3、数码管显示译码器设计(1)同样使用原理图输入方式,设计数码管显示译码器的逻辑电路。
(2)进行编译和仿真,确保译码器的功能正确。
(3)将译码器与计数器连接起来,实现数码管的动态显示。
EDA实验报告-实验1-简单组合逻辑设计
暨南大学本科实验报告专用纸课程名称EDA实验成绩评定实验项目名称简单组合逻辑设计指导教师郭江陵实验项目编号01 实验项目类型验证实验地点B305 学院电气信息学院系专业物联网工程组号:A6一、实验前准备本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。
EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为3.3V;EDAPRO/240H实验仪主板的VCCIO跳线器组中“VCCIO3.3V”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为 2.5V;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为3.3V。
请参考前面第二章中关于“电源模块”的说明。
二、实验目的1、熟悉Max+Plus II下简单的VHDL文本方式设计。
2、学习使用JTAG接口下载逻辑电路到CPLD并能调试到正常工作。
3、熟悉数字电路集成设计的过程。
三、实验原理译码器是把输入的数码解出其对应的数码,例如:BCD至7段显示器执行的动作就是把一个四位的BCD码转换成7个码的输出,以便在7段显示器上显示这个十进制数。
译码器有N个二进制选择线,那么最多可译码转换成2N个数据。
当一个译码器有N条输入线及M条输出线时,则称为N×M的译码器。
3×8译码器是依此而来。
3×8译码器真值表如下表所示:四、实验内容把译码器的输入接到拨码开关,输出端接8个LED灯,通过拨码开关改变输入的逻辑电平变化来观察LED输出情况,验证3×8译码器的工作状态。
五、实验要求学习使用Max+Plus II 的使用VHDL 语言组成简单的数字逻辑电路。
六、设计框图及原理图首先判断使能端口EN 状态,当其满足高电平时,判断三个输入端口A2、A1、A0的状态来决定输出,如使能端口为低电平则固定输出不受三个逻辑输入A2、A1、A0的影响,使能有效时按照三个输入状态来决定八个输出的状态。
EDA实验报告 常用组合逻辑电路设计
EDA实验报告实验目的:1.常用组合逻辑电路设计方法2.VHDL设计思想与调试方法3.LPM元件定制4.电路设计的仿真验证和硬件验证实验要求:学习常用组合逻辑的可综合代码的编写,学习VHDL语言的编程思想与调试方法,学习通过定制LPM元件实现逻辑设计,通过波形仿真及硬件实验箱验证设计的正确与否。
实验流程:1.利用VHDL代码实现2.利用LPM元件定制实现3.运用分析调试工具RTL viewer查看景软件解释生成的原理图并分析实验具体步骤:1.利用VHDL代码实现(1)VHDL代码(2)编译通过后进行波形仿真2.利用LPM元件定制实现(1)Tools→ Mega Wizard Plug_in Manager或在图形编辑窗口空白处双击(2)Create a new custom megafunction variation(3)Installed Plug_Ins→ Arithmetic lpm_compare(4)然后进行相应的设置,Generate netlist ,选择要生成的文件,完成生成的VHDL语言代码:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY lpm;USE lpm.all;ENTITY lpm_compare2 ISPORT(dataa : IN STD_LOGIC_VECTOR (1 DOWNTO 0);datab : IN STD_LOGIC_VECTOR (1 DOWNTO 0);AeB : OUT STD_LOGIC ;AgB : OUT STD_LOGIC ;AgeB : OUT STD_LOGIC ;AlB : OUT STD_LOGIC ;AleB : OUT STD_LOGIC ;AneB : OUT STD_LOGIC);END lpm_compare2;ARCHITECTURE SYN OF lpm_compare2 ISSIGNAL sub_wire0 : STD_LOGIC ;SIGNAL sub_wire1 : STD_LOGIC ;SIGNAL sub_wire2 : STD_LOGIC ;SIGNAL sub_wire3 : STD_LOGIC ;SIGNAL sub_wire4 : STD_LOGIC ;SIGNAL sub_wire5 : STD_LOGIC ;COMPONENT lpm_compareGENERIC (lpm_representation : STRING;lpm_type : STRING;lpm_width : NA TURAL);PORT (dataa : IN STD_LOGIC_VECTOR (1 DOWNTO 0);datab : IN STD_LOGIC_VECTOR (1 DOWNTO 0);AgeB : OUT STD_LOGIC ;AlB : OUT STD_LOGIC ;AleB : OUT STD_LOGIC ;AneB : OUT STD_LOGIC ;AgB : OUT STD_LOGIC ;AeB : OUT STD_LOGIC);END COMPONENT;BEGINAgeB <= sub_wire0;AlB <= sub_wire1;AleB <= sub_wire2;AneB <= sub_wire3;AgB <= sub_wire4;AeB <= sub_wire5;lpm_compare_component : lpm_compareGENERIC MAP (lpm_representation => "UNSIGNED",lpm_type => "LPM_COMPARE",lpm_width => 2)PORT MAP (dataa => dataa,datab => datab,AgeB => sub_wire0,AlB => sub_wire1,AleB => sub_wire2,AneB => sub_wire3,AgB => sub_wire4,AeB => sub_wire5);END SYN;生成的波形图:生成的RTL viewer原理图思考题1、VHDL实体描述方式有哪些类型?优缺点是什么?答:(1)结构描述:使用元件例化方法描述硬件构造特征,定义实现实体的信号与实体的精确互连结构。
EDA技术实验报告
EDA技术实验报告实验⼀利⽤原理图输⼊法设计4位全加器⼀、实验⽬的:掌握利⽤原理图输⼊法设计简单组合电路的⽅法,掌握MAX+plusII 的层次化设计⽅法。
通过⼀个4位全加器的设计,熟悉⽤EDA 软件进⾏电路设计的详细流程。
⼆、实验原理:⼀个4位全加器可以由4个⼀位全加器构成,全加器的进位以串⾏⽅式实现,即将低位加法器的进位输出cout 与相邻的⾼位加法器的低位进位输⼊信号cin 相接。
1位全加器f-adder 由2个半加器h-adder 和⼀个或门按照下列电路来实现。
半加器h-adder 由与门、同或门和⾮门构成。
四位加法器由4个全加器构成三、实验内容:1. 熟悉QuartusII 软件界⾯,掌握利⽤原理图进⾏电路模块设计的⽅法。
QuartusII 设计流程见教材第五章:QuartusII 应⽤向导。
2.设计1位全加器原理图(1)⽣成⼀个新的图形⽂件(file->new->graphic editor )(2)按照给定的原理图输⼊逻辑门(symbol ->enter symbol)COCO 1S 2S 3S 4(4)为管脚和节点命名:在管脚上的PIN_NAME处双击⿏标左键,然后输⼊名字;选中需命名的线,然后输⼊名字。
(5)创建缺省(Default)符号:在File菜单中选择Create Symbol Files for Current File项,即可创建⼀个设计的符号,该符号可被⾼层设计调⽤。
3.利⽤层次化原理图⽅法设计4位全加器(1)⽣成新的空⽩原理图,作为4位全加器设计输⼊(2)利⽤已经⽣成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.4.新建波形⽂件(file->new->Other Files->Vector Waveform File),保存后进⾏仿真(Processing ->Start Simulation),对4位全加器进⾏时序仿真。
EDA综合实验设计报告
Beijing Jiaotong University EDA实验设计报告指导老师:刘彪学院:电子信息工程学院姓名:黄家维学号:13213012班级:电子1301实验地点:电气楼406实验日期:2014年5月29日星期四实验一熟悉QuartusII软件的安装及使用(4学时)我们通过下载及安装,可在电脑上运行Altera Quartus II。
打开软件,新建一个工程,在工程底下新建一个VHDL File,即可实现编程功能。
编完程序后点击Start Compilation可试运行程序,待编写的程序运行无误后,再在此工程下新建一个Vector Waveform File,给程序中的输入变量赋值,保存后点击Start Simulation即可实现程序的仿真。
实验二、组合逻辑电路的设计实验方案设计、实验方法、1.实验方案8-3优先编码器的VHDL描述有多种方法,设计过程中可以根据真值表采用case…when语句、with…select语句、if…then结构等多种手段实现,也可以根据真值表分析输入输出间的逻辑关系,根据逻辑关系写出其布尔表达式,根据布尔代数式调用基本逻辑门元件实现8-3优先编码器。
本实验中根据真值表用if-then结构实现8-3优先编码器2.实验方法首先根据前文所述,对照真值表的列出的不同输入逻辑状态,分情况依次输出于输入的对应关系,而后编译综合,由开发系统自行实现电路功能。
实验步骤1.设计输入利用FILE\New菜单输入VHDL源程序,创建源文件2.设计项目的创建1)原文件存储…..2)利用FILE\Project\Set Project…3.设计编译….4.器件选择及管脚分配…..5.设计仿真…..6.时序分析…..7.编程下载(可选)….LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ENCODER ISPORT(D:IN STD_LOGIC_VECTOR(0 TO 7);A:OUT STD_LOGIC_VECTOR(0 TO 2));END ;ARCHITECTURE XIANI OF ENCODER IS BEGINPROCESS(D)BEGINIF (D(7)='0')THEN A<="111";ELSIF (D(6)='0')THEN A<="110";ELSIF (D(5)='0')THEN A<="101";ELSIF (D(4)='0')THEN A<="100";ELSIF (D(3)='0')THEN A<="011";ELSIF (D(2)='0')THEN A<="010";ELSIF (D(1)='0')THEN A<="001";ELSIF (D(0)='0')THEN A<="000";ELSE A<="ZZZ";END IF;END PROCESS;END;1用CASE语句设计一个4-16译码器。
EDA组合逻辑电路实验
实验报告实验一基本组合逻辑实验一、实验目的与要求1、熟悉Quartus II的verilog文本设计流程全过程,学习基本组合逻辑电路的设计、模块化设计、仿真和硬件验证二、实验设备STAR系列实验仪一套、PC机一台三、实验内容左图是实验仪的发光二极管的原理图注意:发光二极管低电平点亮1、编写一个2选1的多路选择器模块;2、编写程序,实现几个基本的门(与、或、非、与非、或非、异或、同或),并实例应用多路选择器四、实验原理图01AB selectoutoutmux2 2选1的多路选择器模块A BselectoutandLogicorLogicxnorLogicxorLogicA BselectandLogic orLogic notLogicnandLogicnorLogicxnorLogicxorLogicmuxoutmux2:mux2五、实验步骤1、编写程序,然后对其编译、综合、仿真,并对仿真波形作出分析说明2、引脚锁定以及硬件下载测试(可重配置区域E4 使用模式选择按键选择 模式一)六、设计程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux2 ISPORT(A,B,C:IN BOOLEAN;Y:OUT BOOLEAN);END ENTITY mux2;ARCHITECTURE ART OF mux2 ISBEGINPROCESS(A,B,C)ISVARIABLE N:BOOLEAN;BEGINIF A THEN N:=B;ELSE N:=C;END IF;Y<=N;END PROCESS;END ARCHITECTURE ART;七、实验扩展及思考利用组合逻辑电路,设计1)一位全加器;2)以一位全加器为基本元件,设计一个8位全加器。
一位全加器程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder ISPORT(ain,bin,cin:IN STD_LOGIC;cout,sum:OUT STD_LOGIC);END ENTITY f_adder;ARCHITECTURE fd1 OF f_ader ISCOMPONENTPORT(A,B:IN STD_LOGIC;Y:OUT STD_LOGIC);END COMPONENT;COMPONENTPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END COMPONENT;SIGNAL net1,net2,net3:STD_LOGIC;BEGINU1:h_ader PORT MAP (A>=ain,B>=bin,CO>=net2,SO>=net1); U2: h_ader PORT MAP (net1,cin,net3,sum);U3: or2a PORT MAP (a=>net2,b=>net3,c=>cout);END ARCHITECTURE fd1;8位全加器程序如下LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ADDER8B ISPORT(A,B:IN STD_LOGIC;CIN:IN STD_LOGIC;COUT:OUT STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY ADDER8B;ARCHITECTURE BHV OF ADDER8B ISSIGNAL DATA :STD_LOGIC_VECTOR(8 DOWNTO 0);BEGINDATA<=(‘0’&A)+(‘0’&B)+(“00000000”&CIN);COUT<=DATA(8);DOUT<=DATA(7 DOWNTO 0);END ARCHITECTURE BHV;八、实验感想通过实验初步了解了VHDL语言的使用方法和特点,还学会了进行实验仿真,引脚锁定等。
EDA实验报告1组合逻辑电路的设计
学院电子系实验报告学生姓名:班级:学号:课程:EDA技术实用教程一、实验题目:组合逻辑电路的设计二、实验地点:三、实验目的:1.熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
2.加深FPGA\CPLD设计的过程,并比较原理图输入和文本输入的优劣。
四、实验内容:1.首先利用QuartusⅡ完成2选1多路选择器(如图S1-1)的文本编辑输入(mux21a.vhd)和仿真测试等步骤。
最后在实验系统上进行硬件测试,验证本项设计的功能。
图S1-12.将此多路选择器看成是一个元件mux21a,利用原理图输出法完成图s1-2,并将此文件放在同一目录中。
图s1-2编译、综合、仿真本例程,并对其仿真波形作出分析说明。
最后在实验系统上进行硬件测试,验证本项设计的功能。
3.七段数码管译码器(Decoder)七段数码管译码器(Decoder)的输入为4位二进制代码,输出为7个表征七段数码管代码的状态信号。
下面为一个七段数码管译码器的VHDL源代码模型:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY display ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END;ARCHITECTURE ONE OF display ISBEGINPROCESS(A)BEGINCASE A ISWHEN "0000"=>LED7S<="0111111";--X"3F"->0WHEN "0001"=>LED7S<="0000110";--X"06"->1WHEN "0010"=>LED7S<="1011011";--X"5B"->2WHEN "0011"=>LED7S<="1001111";--X"4F"->3WHEN "0100"=>LED7S<="1100110";--X"66"->4WHEN "0101"=>LED7S<="1101101";--X"6D"->5WHEN "0110"=>LED7S<="1111101";--X"7D"->6WHEN "0111"=>LED7S<="0000111";--X"07"->7WHEN "1000"=>LED7S<="1111111";--X"7F"->8WHEN "1001"=>LED7S<="1101111";--X"6F"->9WHEN "1010"=>LED7S<="1110111";--X"77"->10WHEN "1011"=>LED7S<="1111100";--X"7C"->11WHEN "1100"=>LED7S<="0111001";--X"39"->12WHEN "1101"=>LED7S<="1011110";--X"5E"->13WHEN "1110"=>LED7S<="1111001";--X"79"->14WHEN "1111"=>LED7S<="1110001";--X"71"->15WHEN OTHERS=>NULL;END CASE;END PROCESS;END;编译、综合、仿真本例程,并对其仿真波形作出分析说明。
EDA组合电路实验报告
电信0702 1402070208 范万亮EDA组合电路实验报告实验目的:1.通过进行简单与非门的VHDL设计,了解、掌握好用Quartus进行设计的基本原理、方法以及其具体的步骤。
2. 用Quartus进行全加器的VHDL设计,进一步地了解用Quartus进行比较复杂的的组合电路的设计方法及其步骤。
3.掌握如何验证VHDL设计的正确与否的方法。
实验步骤:1.简单与门的VHDL设计首先,先建立一个新的工程文件夹,并选择好编译文件的语言类型,这里选择了VHDL File,如下图所示。
建立完成后,就开始在窗口中编写程序,如图所示:具体程序如下:entity anddoor isport(a,b:in bit;c:out bit);end entity anddoor;architecture one of anddoor isbeginc <= not(a and b);end architecture one;上面的与门还可以用原理图输入的设计方法来完成:建立了一个新的工程文件夹,选择编译文件的语言类型时,这里应该选择Block Diagram/Schematic File,如下图所示。
然后就可以通过查找各种元件并将之进行连接即可。
如下图所示:实验验证:1.先在Quartus上运行,结果程序正确。
如下图:接着,设计端口的链接:点击tools-programmer,将程序文件加载到芯片中,设计端口号,a为152,b为151,c为50。
然后,在机箱上拨动与a、b相对应的开关,同时观察与c相对应的指示灯,发现它们之间的关系符合与非门的关系,则证明了以上程序和作图的正确。
2.一位全加器的VHDL设计实验步骤:同上所示的,先建立一个新的工程文件夹,并选择好编译文件的语言类型,这里选择VHDL File。
设计半加器。
其程序如下所示:Library ieee;Use ieee.std_logic_1164.all;entity b-adder isport(a,b:in std_logic;co,so:out std_logic);end entity b-adder;architecture fhl of b-adder isbeginso <= not(a xor (not b));co <= a and b;end architecture fhl;接着,设计一或门。
0523 eda实验报告(组合电路设计)
0523 eda实验报告(组合电路设计)电子设计自动化课程实验报告学号:08291117姓名: 图尔荪。
依明班级:电气0804任课老师:李景新EDA第二次实验报告第二次实验报告2EDA第二次实验报告组合电路设计(一)课题:设计一个四位全加器,进位输出是快速进位位一、实验内容设计一个四位的全加器,进位输出是快速进位位;二、实验设计及过程(1)设计思路快速进位加法器,也就是超前进位加法器,其原理简单地说就是使各位的进位直接由加数和被加数来决定,即有如下逻辑表达式:Ci?AiBi?AiCi?1?BiCi?1?AiBi?(Ai?Bi)Ci?1而不需要依赖低位进位。
逻辑表达式解释:当第i位被加数Ai和加数Bi均为1时,有AiBi?1,由“或”的原理可知,不论低位运算(Ai?Bi)Ci?1结果如何,本位必然有进位输出(C1时,有AiBi?0i?1)。
当Ai和Bi中只有一个为。
所以,四且Ai?Bi?1,因此Ci?Ci?1位二进制全加器的“和”与“进位”相结合,可得到表达式:3EDA第二次实验报告Si?Ai?Bi?Ci?1从而构成快速进位加法器。
(2)流程图4 EDA第二次实验报告(3)程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY quanjiaqi ISPORT(A0,A1,A2,A3,B0,B1,B2,B3,Ci:IN STD_LOGIC;S0,S1,S2,S3,Co:OUT STD_LOGIC );END quanjiaqi;ARCHITECTURE beth OF quanjiaqi IS BEGINPROCESS(A0,A1,A2,A3,B0,B1,B2,B3,Ci) VARIABLE U0,U1,U2:STD_LOGIC; BEGINS0<=(A0 xor B0) xor Ci;U0:=(A0 AND B0) OR ((A0 OR B0) AND Ci);S1<=(A1 xor B1) xor U0;U1:=(A1 AND B1) OR ((A1 OR B1) AND A0 and B0) or((A1 or B1) and (A0 or B0) and Ci);5感谢您的阅读,祝您生活愉快。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
暨南大学本科实验报告专用纸
课程名称EDA实验成绩评定
实验项目名称简单组合逻辑设计指导教师郭江陵
实验项目编号01 实验项目类型验证实验地点B305 学院电气信息学院系专业物联网工程
组号:A6
一、实验前准备
本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。
EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为3.3V;EDAPRO/240H实验仪主板的VCCIO跳线器组中“VCCIO3.3V”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为 2.5V;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为3.3V。
请参考前面第二章中关于“电源模块”的说明。
二、实验目的
1、熟悉Max+Plus II下简单的VHDL文本方式设计。
2、学习使用JTAG接口下载逻辑电路到CPLD并能调试到正常工作。
3、熟悉数字电路集成设计的过程。
三、实验原理
译码器是把输入的数码解出其对应的数码,例如:BCD至7段显示器执行的动作就是把一个四位的BCD码转换成7个码的输出,以便在7段显示器上显示这个十进制数。
译码器有N个二进制选择线,那么最多可译码转换成2N个数据。
当一个译码器有N条输入线及M条输出线时,则称为N×M的译码器。
3×8译码器是依此而来。
3×8译码器真值表如下表所示:
四、实验内容
把译码器的输入接到拨码开关,输出端接8个LED灯,通过拨码开关改变输入的逻辑电平变化来观察LED输出情况,验证3×8译码器的工作状态。
五、实验要求
学习使用Max+Plus II 的使用VHDL 语言组成简单的数字逻辑电路。
六、设计框图及原理图
首先判断使能端口EN 状态,当其满足高电平时,判断三个输入端口A2、A1、A0的状态来决定输出,如使能端口为低电平则固定输出不受三个逻辑输入A2、A1、A0的影响,使能有效时按照三个输入状态来决定八个输出的状态。
七、实验电路连线与使用操作
A0、A1、A2:为独立扩展下载板上第53、47、46脚,内部已锁定,无需连线。
Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7:为独立扩展下载板上的第12、13、14、15、17、18、19、24脚,内部已锁定,并已连接至“红色信号指示灯L1-8”的“L1~L8”。
EN :为使能输入信号脚,定义在独立扩展下载板上第68脚,应接“多功能复用按键F1-F12”信号接线组“F1_12(T)”的F12~F9中任意一个引线插孔,即高电平有效。
使用操作:
使用拨码开关SW6、SW7、SW8来实现三个数字状态的开关量输入A2、A1、A0,通过“红色信号指示灯L1-8”的“L1~L8”8个LED 指示灯来观察Y0~Y7的译码输出变化。
使能输入端口高电平有效。
八、波形仿真分析
输入信号:
EN:使能信号高电平下工作,通过多功能复位按键F9~F12中任意一键来控制。
A2、A1、A0:三个数字状态输入端口,决定八个状态输出情况,由8位数字开关组SW6、SW7、SW8分别对应A2、A1、A0来实现对Y0至Y7的译码输出。
输出信号:
Y0~Y7:8个状态输出,输出点亮红色指示灯组L1~L8。
波形结果分析:
当A2、A1、A0对应于:“100”时,Y(八位)输出“00010000”,当输入信号跳变为“000”时Y(八位)输出“00000001”。
满足设计要求。
九、VHDL源程序及其解释
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY demo1 IS
PORT (A : IN STD_LOGIC_VECTOR( 2 DOWNTO 0) ;
--输入端a表示的是3位二进制数,可以根据它来决定输出端有且只有一位是高电平。
EN : IN STD_LOGIC ;
--使能键的功能:当使能键是高电平时,38译码器正常工作。
当使能键是低电平时,输出端输出的八位全1。
Y : OUT STD_LOGIC_VECTOR( 7 DOWNTO 0)) ;
--输出端y输出的是38译码器译码之后的结果。
END demo1;
ARCHITECTURE DEC_BEHA VE OF demo1 IS
SIGNAL SEL : STD_LOGIC_VECTOR( 3 DOWNTO 0) ;
BEGIN
SEL(0) <= EN ;
SEL(1) <= A(0) ;
SEL(2) <= A(1) ;
SEL(3) <= A(2) ;
--设置SEL为临时信号,其中EN的值赋给0位,a0的值赋给第1位,a1的值赋给第2位,a2的值赋给第3位,这四位合并成SEL信号。
WITH SEL SELECT
Y<= "00000001" WHEN "0001",
"00000010" WHEN "0011",
"00000100" WHEN "0101",
"00001000" WHEN "0111",
"00010000" WHEN "1001",
"00100000" WHEN "1011",
"01000000" WHEN "1101",
"10000000" WHEN "1111",
"11111111" WHEN OTHERS ;
--SELECT语句用真值表的方法来实现38译码器。
END DEC_BEHAVE ;
十、课堂提问
1.源代码还可以怎么修改?
修改1:可以用if……else if……的结构来改下面的真值表部分的SELECT语句,但是要在上面加上个进程语句(process),因为if语句必须包含在进程语句中。
修改2:可以用case语句来修改真值表部分,同时也要在上面加上进程语句。
修改3:可以用并字符来修改给SEL信号赋值的四个语句。
SEL<= A(2 DOWNTO 0)& EN;
2.为什么有时候会出现不能仿真或仿真不成功的问题?
①项目里没有设置需要用到的仿真波形。
②在同一个工程里建立了两个或以上的项目导致不能仿真成功。
③没有手动将我要仿真的波形文件放到simulation input。
3.如何通过仿真知道电路是对的?
因为当使能键是高电平时,电路按照38译码器正常的逻辑进行工作,当使能键是低电平时,输出端y的所有位都是1,因此分别设置使能键为高电平和低电平,看输出端是否符合上述所说的规律。
若符合,则说明电路是对的,若不符合,则说明电路中存在缺陷。
4.怎么设置波形?
图标可以设置出一个数值在规定时间间隔后逐个递增的A信号
5.怎么改变十进制,二进制?
在信号properties的radix中修改。
6.仿真波形的输出需要什么?
源代码文件,顶层文件、仿真输入波形的数据
7.毛刺产生原因?在本次实验中能否解决?
竞争与冒险现象,举例,当Y的状态由“00000010”变为“00000001”时,会短暂的出现“00000011”这个状态,因为其出现时间很短所以产生了毛刺。
由于该电路是组合电路,电路间的跳变有时延,所以不能解决。
十一、实验结果
拨动数字开关是A=“100”,Y输出“00001000”,但由于Y和LED灯的端口是相反的,所以L5灯亮。