EDA实验报告实验一:一位二进制全减器的设计
【设计】一位二进制全减器设计
【关键字】设计南昌大学实验报告学生姓名:学号:89 专业班级:电子081实验类型:□ 验证□ 综合设计□ 创新实验日期:实验成绩:实验一1位二进制全减器设计一、实验目的1)熟悉实验设备和软件,掌握Quartus II 的VHDL文本设计及原理图设计全过程;2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件尝试结果;二、实验内容与要求1)完成一位二进制全减器的设计,用LED显示输出结果;2)用分层设计的方法设计,顶层为全减器(文本输入法),底层为半减器(原理图输入法)和逻辑门组成;3)自行完成设计与仿真、波形分析、下载与硬件尝试等全过程,验证设计是否正确;三、设计思路/原理图首先根据一位二进制半减器运行原理,列出半减器真值表(如图一所示),并由真值表设计出半减器原理图(如图二),根据全减器真值表(图三)可用两个半减器和一个或门组成一位二进制全减器。
a b so co0 0 0 00 1 1 11 0 1 01 1 0 0图一半减器真值表a b c cout sub0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 1 01 0 0 0 11 0 1 0 01 1 0 0 01 1 1 1 1图三全减器真值表图四由半减器组成的全减器原理图四、实验程序(顶层程序参考EDA教材88页一位二进制全加器顶层文本设计)底层(原理图输入)半加器连接图:定义或门:顶层(文本输入)LIBRARY IEEE; --1位二进制全减器顶层描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_m IS --定义f_m实体PORT (ain,bin,cin :IN STD_LOGIC;cout,sub:OUT STD_LOGIC);END ENTITY f_m;ARCHITECTURE one OF f_m IS --描述结构体COMPONENT h_m --定义h_m各引脚PORT ( a,b : IN STD_LOGIC ;co,so : OUT STD_LOGIC) ;END COMPONENT ;COMPONENT or2a --定义or2a各引脚PORT (a,b : IN STD_LOGIC;c : OUT STD_LOGIC) ;END COMPONENT ;SIGNAL d,e,f : STD_LOGIC ; --定义信号d,e,f的类型BEGIN --描述底层各元件的连接u1 : h_m PORT MAP (a=>ain, b=>bin, co=>d, so=>e) ;u2 : h_m PORT MAP (a=>e, b=>cin, co=>f, so=>sub);u3 : or2a PORT MAP (a=>d, b=>f, c=>cout);END ARCHITECTURE one ; --结束结构体描述五、实验步骤1.建立工作库文件夹和编辑设计文件1)在D盘新建立一个文件夹命名为f_m,选择ACEX1K芯片,保存下面的工程文件;2)打开quartus II,选择菜单File→New→Block diagram/schematic file,点击OK,输入半减器原理图,保存为h_m.bdf并选择菜单file→create/update→createVHDL component declaration files for current file2.选择菜单File→New→Block diagram/schematic file,点击OK,定义或门,保存为or2a.bdf并选择菜单file→create/update→create VHDL component declarati on filesfor current file3.选择菜单File→New→VHDL file,点击OK后在打开的界面下输入已设计的程序,保存为f_m.vhd;4.对f_m.vhd进行编译5.创建仿真文件f_m.vwf,将所有引脚拉入仿真文件,设定end time以及ain,bin,cin输入值,进行仿真6.选择assignments→pins 设置各引脚,并编译;7.下载程序,验证实验结果;六、仿真波形分析下图为实验所得的波形图:a b c d e f g h i区间ain bin cin cout sub LED6 LED5 a-b 0 0 0 0 0 灭灭b-c 0 0 1 1 1 亮亮c-d 0 1 0 1 1 亮亮d-e 0 1 1 1 0 亮灭e-f 1 0 0 0 1 灭亮f-g 1 0 1 0 0 灭灭g-h 1 1 0 0 0 灭灭h-i 1 1 1 1 1 亮亮借位情况,cout为本位输出,sub为向上借位的值,由上表可知,仿真结果与理论值(全减器真值表)一致,故仿真成功。
一位全减器
实验一 1位二进制全减器设计一、实验目的1.熟悉Quartes II集成开发软件的使用;2.初步熟悉PH-1V型实验装置的使用;3 . 学习用原理图输入法和文本输入法进行简单的数字电路设计,掌握系统仿真,学会分析硬件测试结果。
二、实验内容与要求1.采用原理图输入法和文本输入法分别实现,分层设计,底层由半减器(也用原理图输入法)和逻辑门组成;2.建立波形文件,并进行系统仿真,用软件验证设计结果;3. 在仿真正确的情况下,对1位二进制半加/减器分别下载到实验箱中做硬件测试三、实验原理及设计思路根据一位二进制全减器的工作原理,可得其真值表为(如下:cin表示低位向本位借位。
cout 表示本位向高位借位)由EDA教程中全加器的顶层设计描述及半加器调用可类比到全减器的设计,可由先对半减器进行描述,然后进行两次调用。
半减器的工作时的逻辑表达式为:so=a XOR b ;co=(NOT a)AND b 四、实验程序(程序来源:EDA技术实验教程)LIBRARY IEEE ; ——或门逻辑描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT (a, b :IN STD_LOGIC;c : OUT STD_LOGIC );END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b ;END ARCHITECTURE one;LIBRARY IEEE; ——半减器描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_suber ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY h_suber;ARCHITECTURE fh1 OF h_suber isBEGINso <= a xor b ;co <= (not a )AND b ;END ARCHITECTURE fh1;LIBRARY IEEE; ——1位二进制全减器顶层设计描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_suber ISPORT (ain,bin,cin : IN STD_LOGIC;cout,sum : OUT STD_LOGIC );END ENTITY f_suber;ARCHITECTURE fd1 OF f_suber ISCOMPONENT h_suber ——调用半减器声明语句PORT ( a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END COMPONENT ;COMPONENT or2a ——调用或门声明语句PORT (a,b : IN STD_LOGIC;c : OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f : STD_LOGIC; ——定义3个信号作为内部的连接线BEGINu1 : h_suber PORT MAP(a=>ain,b=>bin,co=>d,so=>e); ——例化语句u2 : h_suber PORT MAP(a=>e, b=>cin,co=>f,so=>sum);u3 : or2a PORT MAP(a=>d, b=>f,c=>cout);END ARCHITECTURE fd1 ;五、实验步骤:1.打开Quartes II软件,建立工程文件,注意工程名要与实体名一致:2、打开QuartusII,选择菜单File->New->VHDL.File,建立vhdl文件,将以上程序输入并进行编译;3、建立波形文件,并进行系统仿真,注意设置仿真结束时间以及添加结点;4、输入信号波形Tools->Options->Waveform Editor,进行功能仿真Tools->Simulator Tools,在Simulator Mode选择Functional,仿真表生成后点击Start开始仿真,完成后点击Report结果如下图所示;5、引脚锁定,及设置流程对各管脚进行分配,将ain分配给53,bin分配给54,cin分配给55。
EDA实训资料1·全加器&全减器程序
给出1位全减器的VHDL描述。
首先设计1位半减器,然后用例化语句将它们连接起来底层文件半减器(h_suber)程序设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_suber ISPORT ( x , y : IN STD_LOGIC;diff , s_out : OUT STD_LOGIC ) ;END ENTITY h_suber;ARCHITECTURE fh1 OF h_suber ISSIGNAL abc : STD_LOGIC_VECTOR ( 1 DOWNTO 0 ) ;BEGINabc <= x & y ;PROCESS ( abc )BEGINCASE abc ISWHEN "00" => diff <= '0'; s_out <= '0' ;WHEN "01" => diff <= '1'; s_out <= '1' ;WHEN "10" => diff <= '1'; s_out <= '0' ;WHEN "11" => diff <= '0'; s_out <= '0' ;WHEN OTHER => NULL ;END CASE;END PROCESS;END ARCHITECTURE fh1 ;底层文件或门(or2a)程序设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT ( a , b : IN STD_LOGIC;c : OUT STD_LOGIC ) ;END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINC <= a OR b ;END ARCHITECTURE one;根据连接图,顶层文件全减器(f_suber)程序设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_suber ISPORT ( xin , yin , sub_in : IN STD_LOGIC;diffout , sub_out : OUT STD_LOGIC ) ;END ENTITY f_suber;ARCHITECTURE fd1 OF f_suber ISCOMPONENT h_suberPORT ( x , y : IN STD_LOGIC;diff , s_out : OUT STD_LOGIC ) ;END COMPONENT ;COMPONENT or2aPORT ( a , b : IN STD_LOGIC;c : OUT STD_LOGIC ) ;END COMPONENT ;SIGNAL d , e , f : STD_LOGIC;BEGINu1 : h_suber PORT MAP ( x => xin , y => yin , diff => d , s_out => e );u2 : h_suber PORT MAP ( x => d , y => sub_in , diff => diffout , s_out => f ); u3 : or2a PORT MAP ( a => f , b => e , c => sub_out );END ARCHITECTURE fd1;全加器程序参照自动化同学课本,原理与全减器类似。
实验一1位二进制全减器设计
实验一 1位二进制全减器设计实验一:1位二进制全减器设计一、实验目的本实验旨在通过硬件设计和编程,实现一个1位二进制全减器的设计。
通过本实验,希望学生能够深入理解二进制数的减法运算规则,掌握硬件电路的基本设计和调试方法,提高实践能力和编程技能。
二、实验原理二进制全减器是一种实现两个二进制数相减的逻辑电路。
在一个二进制全减器中,我们需要考虑两个输入位(被减数和减数)以及一个借位输入(来自低位的借位输出)。
根据这些输入,二进制全减器会生成一个输出位(差)和一个借位输出(向低位的借位)。
三、实验步骤1.确定设计方案:根据实验要求,选择合适的硬件设计和编程语言。
本实验中,我们采用Verilog语言进行编程,并使用FPGA(现场可编程门阵列)来实现硬件电路。
2.编写代码:根据二进制全减器的设计要求,编写Verilog代码。
代码应包括模块定义、输入输出端口声明、逻辑设计和时序控制等部分。
3.编译与仿真:将编写的Verilog代码进行编译,生成可被FPGA识别的二进制文件。
然后,使用仿真工具进行功能仿真,验证设计的正确性。
4.硬件调试:将生成的二进制文件下载到FPGA开发板上,进行硬件调试。
通过观察硬件电路的输出结果,验证全减器功能的正确性。
5.性能分析:对设计的全减器进行性能评估,包括运算速度、功耗、资源利用率等指标。
通过对比不同设计方案,分析优劣并提出改进意见。
四、实验结果与分析1.实验结果:通过本次实验,我们成功地设计并实现了一个1位二进制全减器。
在功能仿真和硬件调试中,均验证了该全减器的正确性。
2.结果分析:在设计过程中,我们充分考虑了电路的简洁性和高效性。
在满足设计要求的前提下,尽量减少了逻辑门的数量和复杂度。
这使得我们的全减器在资源利用率、运算速度和功耗等方面均表现出较好的性能。
五、结论与展望通过本次实验,我们成功地设计并实现了一个1位二进制全减器。
该全减器在功能仿真和硬件调试中均表现出良好的性能。
整理实验一-一位二进制全加器设计实验
整理人 尼克 实验一一位二进制全加器设计实验目录实验一Protel DXP 2004认识实验 (1)实验二两级阻容耦合三极管放大电路原理图设计 (1)实验三原理图元件库建立与调用 (3)实验四两级阻容耦合三极管放大电路PCB图设计 (5)实验五集成电路的逻辑功能测试 (7)实验六组合逻辑电路分析与设计 (12)实验七Quartus II 的使用 (17)实验八组合逻辑器件设计 (17)实验九组合电路设计 (25)实验一 Protel DXP 2004 认识实验一、实验目的1.掌握Prot e l DXP 2004 的安装、启动和关闭。
2.了解Protel DXP 2004 主窗口的组成和各部分的作用。
3.掌握Prot e l DXP 2004 工程和文件的新建、保存、打开。
二、实验内容与步骤1、Protel_DXP_2004 的安装(1)用虚拟光驱软件打开Protel_DXP_2004.iso 文件(2)运行setup\Setup.exe 文件,安装Protel DXP 2004(3) 运行破解程序后,点击“导入模版”,先导入一个ini文件模版(如果要生成单机版的License选择Unified Nexar-Protel License.ini;要生成网络版的License选择Unified Nexar-Protel Network License.ini),然后修改里面的参数:TransactorName=Your Name(将“Your Name”替换为你想要注册的用户名);SerialNumber=0000000(如果你只有一台计算机,那么这个可以不用修改,如果有两台以上的计算机且连成局域网,那么请保证每个License文件中的SerialNumber=为不同的值。
修改完成后点击“生成协议文件”,任意输入一个文件名(文件后缀为.alf)保存,程序会在相应目录中生成1个License文件。
点击“替换密钥”,选取DXP.exe (在DXP 2004安装目录里,默认路径为C:\Program Files\Altium2004\),程序会自动替换文件中的公开密钥。
实验一:一位二进制全减器设计
南昌大学实验报告学生姓名:刘志强学号: 6100409222 专业班级:电子091班实验类型:验证□综合□设计■创新□实验日期:实验成绩:实验一一位二进制全减器设计一、实验目的(1)掌握QuartusII的VHDL原理图设计和文本设计全过程;(2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。
二、实验内容与要求(1)设计一个二进制全减器,用分层设计方法,顶层为全减器,底层为半减器和逻辑门组成;(2)进行波形仿真,并分析仿真波形图;(3)下载测试全减法器是否正确。
三、设计思路/原理图一位全减器可以由两个半减器和一个或门连接而成,根据半减器真值表对半减器进行描述,再对或门的VHDL描述,而后根据原理图对全减器的VHDL描述。
图1 全减器f_suber电路图四、实验程序(程序来源:教科书本)library ieee; --半减器描述use ieee.std_logic_1164.all;entity h_suber is --定义半减器h_suber实体port(a,b:in std_logic;do,vo:out std_logic);end entity h_suber;architecture fs1 of h_suber issignal abc:std_logic_vector (1 downto 0);beginabc <= a&b ;process (abc)begincase abc iswhen "00" => do<='0';vo<='0';when "01" => do<='1';vo<='1';when "10" => do<='1';vo<='0';when "11" => do<='0';vo<='0';when others => null;end case;end process;end architecture fs1;library ieee; --一位二进制全减器顶层设计描述use ieee.std_logic_1164.all;entity f_suber is --定义全减器f_suber实体port (ain,bin,cin:in std_logic;v,sub:out std_logic);end entity f_suber;architecture fs of f_suber iscomponent h_suber ---调用半减器声明语句port (a,b:in std_logic;do,vo:out std_logic);end component;component or2a --调用或逻辑门声明语句port (m,n:in std_logic;h:out std_logic);end component;signal e,f,g:std_logic; ---定义3个信号作为内部的连接线beginu1:h_suber port map(a=>ain,b=>bin,do=>e,vo=>f); ---例化语句u2:h_suber port map(a=>e,b=>cin,do=>sub,vo=>g);u3:or2a port map(m=>g,n=>f,h=>v);end architecture fs;五、实验步骤1. 利用Quartus II 7.2建立工程在file中打开【】→【】→在【】中选择存放的目录→【】f_suber要与顶层文件中entity f_suber相同→点击next→点击next→选择芯片→next完成;再在file下面点【】→【】→点击ok→编写程序→编译并保存在f_suber文件中(改动程序后,再保存,再编译)→管脚【】→【】→而后对芯片设置,即打开device→点【】→点【】与【】→选如【】与【】→选芯片→确定ok ;重新编译→点下载,后选【】硬件有“JTAG【】”和“ASP【】手动添加以扩展名为.pof的文件【】”两个接口其一(要看硬件接口),选中【】”→添加【】中的驱动程序→【】→点【】开始下载。
一位二进制全加减器的设计
一位二进制全加减器的设计在咱们的生活中,数字无处不在,没错,不管是买东西还是算账,数字就是我们的好伙伴。
说到数字,大家一定听说过二进制。
二进制就像是数字的二重奏,只有0和1这两个小家伙,真是简单又有趣。
不过,今天我们不聊二进制的故事,而是聊聊它的一个超级英雄,二进制全加减器。
这家伙可是个了不起的角色,能够让我们轻松进行加法和减法,简直就像是厨房里的万能调料,随时随地为你解闷。
想象一下,你正在和朋友玩游戏,突然间需要计算得分,这时候二进制全加减器就像那救星般闪亮登场。
咱们先来说说加法吧。
二进制的加法其实跟咱们平常的加法差不多,不过就是多了点小规则。
比如说,0加0当然是0,0加1或者1加0就是1,1加1则会产生进位,变成0再加1,这个时候就像是变魔术一样,瞬间升华了。
把这简单的加法放在一起,嘿,整个过程简直就像是舞蹈,轻松而优雅。
再来看看减法。
哦,减法在二进制里也是大有可为。
想象一下,你手里有一块大蛋糕,想给朋友分,但是蛋糕不够,怎么办?这时候就需要用到借位的技巧。
二进制减法就像是抢夺蛋糕的小朋友,借位就是从旁边的小朋友那里借来一口,然后再继续分蛋糕。
这样看似复杂,但实际上只要理解规则,嘿,就能轻松搞定。
那好,咱们再深入一点,聊聊这个全加减器是怎么工作的。
它就像一个聪明的管家,负责所有的数字进出。
内部的结构就像一座精密的机器,采用逻辑门电路,真是科技的结晶。
这个小家伙有两部分,一部分是加法器,另一部分是减法器,它们就像两位默契的舞者,在舞台上完美配合。
每当有输入数字的时候,它们立刻就开始工作,快速而高效,仿佛时间都为它们停驻。
听到这里,大家可能会想,二进制全加减器有什么用呢?别急,咱们就来聊聊它的应用。
无论是计算机还是电子设备,都离不开这位全加减器。
想想看,咱们每天都在用手机,玩游戏,浏览网页,这些背后可都是二进制全加减器在默默奉献。
它就像一位无名英雄,虽然不显山露水,却是整个系统运作的基石。
说到这里,可能有人会觉得,哎呀,二进制这玩意儿真复杂。
EDA实验报告实验一:一位二进制全减器的设计
实验一、一位二进制全减器的设计一、实验目的:(1)掌握Quartus II 的VHDL 文本设计的全过程;(2)熟练和掌握EDA设计流程;熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。
(3)学习PH-1V型实验装置上发光二极管和按键的使用方法。
二、实验内容与要求:(1)用文本方法实现半减器,再利用半减器完成全减器的设计,熟悉层次设计概念;(2)给出此项设计的仿真波形;(3)选择实验电路NO.1验证, 用发光管指示显示结果。
三、设计原理:(1)半减器真值表:xx yy Diff1 S_out10 0 0 00 1 0 11 0 0 01 1 0 0(表中Diff1表示本位向高位的借位,S_out1表示本位)(2)全减器真值表:x y Sub_in diffr Sub_out0 0 0 0 00 0 1 1 10 1 0 1 10 1 1 0 11 0 0 1 01 0 1 0 01 1 0 0 01 1 1 1 1(表中Sub_in表示低位向本位的借位,diffr表示本位向高位的借位,Sub_out表示本位)四、实验程序:(1)对半减器进行描述:(2)对全减器进行原理图编辑:五、实验步骤:1.建立工作库文件夹和编辑设计文件(1)在D盘下建立一个文件夹保存工程文件;(2)打开QuartusII,建立新的VHDL文件,再打开的页面下输入程序。
2.编译过程(1)输入完程序之后逐个编译(2)逐个编译无错之后进行全程编译3.系统仿真(1)建立新的波形激励文件(2)在波形编辑器窗口添加节点(3)通过Edit->End Time 来设定仿真结束时间(4)点击save保存(5)通过Tools下的Simulator Tools项进行仿真,然后观察输出波形。
4.引脚锁定(1)通过Assignment->Assignment Editor->Pin查找到所有的引脚(2)选择各个输入输出信号来锁定到不同引脚,进行全编译。
电子技术基础实验报告-全加减器设计
《电子技术基础实验报告》实验名称:组合逻辑电路设计1、实验名称:全加/减器设计与仿真2、实验设计要求以及内容:全加器要求两个二进制数相加时,要考虑低位进位的相加。
并输出本位计算结果和高位进位结果。
全减器是两个二进制的数进行减法运算时使用的一种运算单元,采用本位结果和借位来显示,二进制中是借一当二,所以可以使用两个输出变量的高低电平变化来实现减法运算。
3、实验具体设计:本实验采用行为描述方式编写描述全加/减器具体功能的Verilog HDL语句。
通过使用case语句和if语句组合对真值表中的各种情况进行描述来实现全加/减器的功能。
通过改变输入信号T的电平来决定使用全加器还是全减器。
当T输入低电平时为全加器,当T输入为高电平时为全减器。
下图为全加/减器的真值表:在全加器的输入输出中A为被加数、B为加数、Ci为低位进位数、S为本位和数、Co为向高位进位数。
在全减器的输入输出中A为被减数、B为减数、Ci表示低位是否向本位借位、S为本位最终运算结果、Co表示本位是否向高位借位。
具体设计语句如下:module ck1701wdh(T,A,B,Ci,Co,S);input A,B,Ci,T;reg Co,S;output Co,S;always @ (A or B or Ci or T)if(T==0)//当T输入为低电平时调用全加器begin//以下为设计全加器的verilog语言case({A,B,Ci})//根据A、B、Ci的输入信号分别改变S、Co的输出电平3'd0: begin S=0; Co=0; end3'd1: begin S=1; Co=0; end3'd2: begin S=1; Co=0; end3'd3: begin S=0; Co=1; end3'd4: begin S=1; Co=0; end3'd5: begin S=0; Co=1; end3'd6: begin S=0; Co=1; end3'd7: begin S=1; Co=1; enddefault: begin S=0; Co=0; endendcaseendelse//当T输入为高电平时调用全减器begin//以下为设计全减器的verilog语言case({A,B,Ci})//根据A、B、Ci的输入信号分别改变S、Co的输出电平3'd0: begin S=0; Co=0; end3'd1: begin S=1; Co=1; end3'd2: begin S=1; Co=1; end3'd3: begin S=0; Co=1; end3'd4: begin S=1; Co=0; end3'd5: begin S=0; Co=0; end3'd6: begin S=0; Co=0; end3'd7: begin S=1; Co=1; enddefault: begin S=0; Co=0; endendcaseendendmodule4、输入输出设计:(按键,数码管,发光管等说明)管脚分配如下(格式:输入/输出通道名:对应引脚名→开发板上对应开关名):信号输入Input: A:PIN_J6→SW[0], B:PIN_H5→ SW[1], Ci:PIN_H6→ SW[2], T:PIN_G4→ SW[3].信号输出Output: S:PIN_J2→LEDG[1], Co:PIN_J1→ LEDG[0].SW[]为拨动开关,LEDG[]为绿色发光二极管。
EDA实验一全减器
实验一 1位二进制全减器设计一、实验目的1. 熟悉EDA 技术开发流程;2. 熟悉Quartes II 集成开发软件的使用;3. 学习用原理图输入法和文本输入法进行简单设计;4. 熟悉简单组合电路设计,掌握系统仿真,学会分析硬件测试结果;5. 初步熟悉EDA 实验装置的使用。
二、实验内容与要求1.完成全减器的设计:分别使用原理图输入法和文本输入法设计一位二进制全减器,用分层设计方法,顶层为全减器,底层由半减器(也用原理图输入法)和逻辑门组成;2.进行波形仿真,并分析仿真波形图;3.下载测试减法器是否正确。
三、设计思路/原理图由课本P79:1位二进制全加器的设计可以仿照出1位二进制全减器的设计。
实验框图如真值表画出卡诺图并化简可得: Ca=M N ;Re=(M N)+(M ·N)。
选择相应组合逻辑器件可以构成半减器和全减器。
四、 实验程序:按照实验要求:底层半减器用原理图输入法,顶层为全减器,可知只需写出全减器和或门程序如下:(1)全减器程序:library ieee; --1位二进制全减器顶层设计描述 use ieee.std_logic_1164.all; entity f_suber isport (min, nin, lin : in std_logic; --减数、被减数和低位来的借位 cary, sub : out std_logic); --进位和结果end entity f_suber;architecture fs1 of f_suber iscomponent h_suber--对要调用的元件h_suber的界面端口进行定义port ( m, n: in std_logic;ca, re: out std_logic);end component;component or2a --对要调用的元件or2a的界面端口进行定义port (a, b: in std_logic;c:out std_logic);end component;signal g, h, y: std_logic;begins1 : h_suber port map (m=>min, n=>nin, ca=>g, re=>h);--例化一个1位二进制半减器s2 : h_suber port map (m=>h, n=>lin, ca=>y, re=>sub);--例化一个1位二进制半减器s3 : or2a port map (a=>g, b=>y, c=>cary); --例化一个或门end architecture fs1;(2)或门程序:library ieee;use ieee.std_logic_1164.all;entity or2a isport (a,b :in std_logic;c :out std_logic);end entity or2a;architecture one of or2a isbeginc<=a or b;end architecture one;五、实验步骤1.用原理图输入法设计半减器(1)打开Quartus II软件,进入编辑环境。
2020年(OA自动化)电子设计自动化(eda)实验指导书
(OA自动化)电子设计自动化(eda)实验指导书电子设计自动化(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设计人才,动手能力是关键。
只有通过理论学习,加上现场实验,在使用软件编程加硬件调试的过程中真正获得锻炼,增长技能。
实验一一位二进制全加器设计实验
大学实验报告学生: 学 号: 专业班级: 中兴101实验类型:■ 验证 □ 综合 □设计 □ 创新 实验日期: 2012 9 28 实验成绩:实验一 一位二进制全加器设计实验一.实验目的(1)掌握Quartus II 的VHDL 文本设计和原理图输入方法设计全过程; (2)熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果; (3) 熟悉设备和软件,掌握实验操作。
二.实验容与要求(1)在利用VHDL 编辑程序实现半加器和或门,再利用原理图连接半加器和或门完成全加器的设计,熟悉层次设计概念;(2)给出此项设计的仿真波形;(3)参照实验板1K100的引脚号,选定和锁定引脚,编程下载,进行硬件测试。
三.设计思路一个1位全加器可以用两个1位半加器及一个或门连接而成。
而一个1位半加器可由基本门电路组成。
(1) 半加器设计原理能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器。
或:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器。
图1为半加器原理图。
其中:a 、b 分别为被加数与加数,作为电路的输入端;so 为两数相加产生的本位和,它和两数相加产生的向高位的进位co 一起作为电路的输出。
半加器的真值表为表1 半加器真值表absoco0 0 0 0 0 1 1 0 1 0 1 0 111由真值表可分别写出和数so ,进位数co 的逻辑函数表达式为:b a b a b a so ⊕=+=--(1)ab co = (2)图1半加器原理图(2) 全加器设计原理除本位两个数相加外,还要加上从低位来的进位数,称为全加器。
图2全加器原理图。
全加器的真值表如下:表2全加器真值表c a b co so0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1其中a为加数,b为加数,c为低位向本位的进位,co为本位向高位的进位,so为本位和。
EDA实验报告二(一位全加器的设计)
实验二:一位全加器的设计一、实验目的1、了解和学习Quartus II 7.2软件设计平台。
2、了解EDA的设计过程。
3、通过实例,学习和掌握Quartus II 7.2平台下的文本输入法。
4、学习和掌握全加器的设计原理。
5、初步掌握该实验的软件仿真过程。
二、实验仪器PC机,操作系统为Windows7,本课程所用系统均为Windows7(下同),Quartus II 7.2设计平台。
三、实验步骤1、创建工程,在File菜单中选择New Project Wizard,弹出对话框如下图所示在这个窗口中第一行为工程保存路径,第二行为工程名,第三行为顶层文件实体名,和工程名一样。
2、新建设计文本文件,在file中选择new,出现如下对话框:选择VHDL File 点击OK。
2、文本输入,在文本中输入如下程序代码:library ieee;use ieee.std_logic_1164.all;ENTITY xor31 isport (a,b,cin:in std_logic;sum:out std_logic);end xor31;ARCHITECTURE d1 OF xor31 isbeginsum<=a xor b xor cin;end d1;library ieee;use ieee.std_logic_1164.all;ENTITY and21 isport (a,b:in std_logic;c:out std_logic);end and21;ARCHITECTURE d2 OF and21 isbeginc<=a and b;end d2;library ieee;use ieee.std_logic_1164.all; ENTITY or31 isport (s1,s2,s3:in std_logic;y:out std_logic);end or31;ARCHITECTURE d3 OF or31 isbeginy<=s1 or s2 or s3;end d3;library ieee;use ieee.std_logic_1164.all; ENTITY f_adder1 isport (a,b,cin:in std_logic;cout,sum:out std_logic); end f_adder1;ARCHITECTURE bhv OF f_adder1 iscomponent and21 isport(a,b:in std_logic;c:out std_logic);end component;component xor31 isport(a,b,cin:in std_logic;sum:out std_logic);end component;component or31 isport(s1,s2,s3:in std_logic;y:out std_logic);end component;signal s1,s2,s3:std_logic;beginu1:xor31 port map(a,b,cin,sum); u2:and21 port map(a,b,s1);u3:and21 port map(b,cin,s2);u4:and21 port map(a,cin,s3);u5:or31 port map(s1,s2,s3,cout); end bhv;然后保存到工程中,结果如下图所示:4、编译,如果有多个文件要把这个文件设为当前顶层实体,这样软件编译时就只编译这个文件。
EDA一位二进制全减器设计
实验一 1位二进制全减器设计一、实验目的1.熟悉EDA 技术开发流程;2.熟悉Quartes II 集成开发软件的使用;3.初步熟悉PH-1V 型实验装置的使用;4.学习用原理图输入法和文本输入法进行简单的数字电路设计。
二、实验要求1.用文本输入法和原理图输入法分别实现一位二进制全减器的设计。
2.进行时序波形仿真,并分析仿真波形图3.在仿真正确的情况下,对1位二进制全减器分别下载到实验箱中做硬件测试。
三、设计思路/原理图(1)一位全减器的设计表一、半减器真值表(so 差值 co 向高位的借位)表二表二、全减器真值表(cin 低位来的借位 cout 向高位的借位)根据半减器真值表可以用文本输入法(VHDL 语言)设计出半减器,,再根据全减器的真值表通过文本输入法(VHDL 语言)调用两个半减器构成一个全减器。
此外还可以通过原理图输入法设计出半减器,然后通过两个半减器和一个或门构成一个全减器。
实验原理图如下(1)由半减器真值表可画出其原理图如下:将半减器设计成可调用元件如下:h_sub insta bco so(2)由全减器的真值表可以画出原理图如下:四、实验程序(1)一位半减器文本描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_sub ISPORT(a,b:IN STD_LOGIC; co,so:OUT STD_LOGIC); END ENTITY h_sub;ARCHITECTURE fh1 OF h_sub is BEGINso<=NOT(a XOR (NOT b));co<=(NOT a)AND b; END ARCHITECTURE fh1; (2)或门逻辑描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY or2a ISPORT(a,b:IN STD_LOGIC; c:OUT STD_LOGIC); END ENTITY or2a;ARCHITECTURE one OF or2a IS BEGIN c<=a OR b;END ARCHITECTURE one;ne;(3)一位二进制全减器顶层文件描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_sub ISPORT (ain,bin,cin:IN STD_LOGIC; cout,sub:OUT STD_LOGIC); END ENTITY f_sub;ARCHITECTURE fd1 OF f_sub ISCOMPONENT h_sub—调用半减器的声明语句PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END COMPONENT;COMPONENT or2a—调用或门的声明语句PORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END COMPONENT;SIGNAL d,e,f:STD_LOGIC;BEGINu1:h_sub PORT MAP(a=>ain,b=>bin,co=>d,so=>e);--例化语句u2:h_sub PORT MAP(a=>e,b=>cin,co=>f,so=>sub);u3:or2a PORT MAP(a=>d,b=>f,c=>cout);END ARCHITECTURE fd1;五、实验步骤1、建立工作库文件和编辑设计文件(1)在D盘新建一个文件夹用来保存工程文件(2)打开QuartusⅡ8.0软件,选择菜单File->New->VHDL File,点击OK后在打开的界面下输入已经设计好的程序。
EDA 大作业一终结报告_2014011541_林子坤
EDA 大作业一二进制运算器及其数码管扫描显示电路林子坤(自45班2014011541)一、预习报告1.根据实验任务中的步骤提示,写出要用到的电路模块及其功能。
(1)四选一数据选择器功能:根据两位地址位的输入,从四个数据位的输入中选取一个作为输出。
(2)1位二进制加法器功能:根据两个1位二进制数和进位的输入进行加法运算,输出1位二进制数运算结果以及向上级的进位。
(3)4位二进制加法器(由1位二进制加法器级联而成)功能:根据两个4位二进制数的输入进行加法运算,输出4位二进制数运算结果以及向上级的进位。
(4)补码运算器(由门电路和4位2进制加法器组合而成)功能:根据4位二进制数的输入,输出其补码。
(5)二进制运算器(由4位二进制加法器和补码运算器组合而成)功能:实现S=M+N。
M和N为3位二进制数,其中1位是符号位,2位是有效数字。
输出计算结果与正负数标志。
(6)扫描显示电路(由四选一数据选择器、二进制运算器和7448芯片组合而成)功能:根据两个三位二进制数的输入,输出数码管和二极管的显示情况。
(7)分频器功能:输入端接收CLK时钟信号,时钟信号经过262144周期后对输出进行改变。
(8)两输出分频器(由分频器和74161芯片组合而成)功能:输入端接收CLK时钟信号,输出端每间隔262144时钟周期进行00、01、10、11之间的跳变。
2.阅读附录了解FPGA 实验板提供的外设资源,并掌握其工作原理。
二、阐述设计思路1、搭建一位全加器:与电子技术实验3思路相同。
2、搭建四位全加器:使用四个一位全加器级联而得。
3、搭建二进制运算器:为了实现实现运算功能,根据二进制运算规律,我们需要进行((M的补码+N的补码)的补码)的运算,因此在此之前我们需要搭建一个补码运算器,记为第2.5步。
2.5、搭建补码运算器:补码运算,所有位与最高位取异或,实现“负数取反,正数不变”,之后再接入四位全加器进行“负数加1,正数不变”,那么就实现了补码运算——“负数取反加1,正数不变”。
eda全减器
学生姓名:学号:专业班级:实验类型:■验证□综合□设计□创新实验日期:2010.10.14 实验成绩:实验一一位二进制全减器设计一、实验目的(1)熟悉和掌握Quartus II软件的各模块功能和使用方法。
(2)熟悉掌握EDA设计流程,复习简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。
(3)熟悉EDA实验箱内各模块的元器件。
二、实验要求采用原理图输入法和文本输入法分别实现,分层设计,底层由半加器(也用原理图输入法)和逻辑门组成。
三、设计原理㈠:原理图输入法设计原理全减器可由两个半减器和或门组成。
,so是结果)由真值表可以画出实验电路原理图图1:h-suber的原理图表C是地位向本位的借位)再由全减器真值表得到实验电路原理图图2:f_suber的原理图(二)、文本输入法设计原理(——程序根据书本P80的例4—17完成。
)用VHDL语言对一位二进制全减器进行描述:(利用CASE语句按照真值表来描述)LIBRARY IEEE; --全减器描述,真值表描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_suber2 ISPORT (a,b,c : IN STD_LOGIC; --信号输入端口,a为被减数,b为减数,c为来自低位的借位F,co : OUT STD_LOGIC ) ; --信号输出端口,F为本位差,co为向高位的借位(相当于符号位)END ENTITY f_suber2;ARCHITECTURE one OF f_suber2 ISSIGNAL abc : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINabc <= a&b&c; --a,b,c的并置操作PROCESS(abc)BEGINCASE abc IS --赋值法实现全减器功能WHEN"000"=> F<='0'; co<='0' ;WHEN"010"=> F<='1'; co<='1' ;WHEN"100"=> F<='1'; co<='0' ;WHEN"110"=> F<='0'; co<='0' ;WHEN"001"=> F<='1'; co<='1' ;WHEN"011"=> F<='0'; co<='1' ;WHEN"101"=> F<='0'; co<='0' ;WHEN"111"=> F<='1'; co<='1' ;WHEN OTHERS => NULL ;END CASE;END PROCESS;END ARCHITECTURE;四、实验设备PC机一台,Quartus II软件一套,EDA实验箱一个五、实验步骤(一)、原理图输入法步骤1.启动Quartus II软件,按照File→New Project Wizart…→。
实验一一位二进制全加器设计
南昌大学实验报告学生姓名:学号:专业班级:实验类型:验证□综合□设计□创新实验日期:实验一一位二进制全加器设计实验一、实验目的1、学习Quartus II的文本和原理图输入方法设计简单组合电路以熟悉QuartusII的使用;2、熟悉设备和软件,掌握实验操作。
二、实验内容与要求(1)在利用VHDL编辑程序实现半加器和或门,再利用原理图连接半加器和或门完成全加器的设计,熟悉层次设计概念;(2)给出此项设计的仿真波形;(3)参照实验板的引脚号,选定和锁定引脚,编程下载,进行硬件测试。
三、设计思路一个1位全加器可以用两个1位半加器及一个或门连接而成。
而一个1位半加器可由其中a为被加数,b为加数,so为本位和,co为本位向高位进位,因而可得表达式为:so=NOT(a XOR (NOT b)) ;而co=a AND b ;其原理图形如下而全加器的真值表如下;其中ain为被加数,bin为加数,cin为低位向本位的进位,sum为本位向高位的进位,cout为本位和其原理图如图所示:四、原理图输入法设计1、首先设计半加器(1)、在File菜单中选择New项,将出现新建文件对话框。
选择“Device Design Fi le->Block Diagram->Schematic File”项。
点击“OK”,在主界面中将打开“Block Editor”窗口。
(2)元件的添加:在绘图区点击鼠标右键->Insert->Symbol…或双击鼠标左键,弹出相应的Symbol对话框,在name栏输入需添加的元件,input(输入引脚),and2(二输入与非门),not(非门),xor(异或)、output(输出引脚)等,回车或点击ok,此时在鼠标光标处将出现该元件图标,并随鼠标的移动而移动,在合适的位置点击鼠标左键,放置一个元件。
也可以利用插入器件工具来添加元器件,方法类似。
设计好的半加器如下图所示半加器原理图保存文件:从“File”菜单下选择“Save”,出现文件保存对话框,选择文件夹d:suber。
QuartesII全减器实验报告
实验一一名二进制全减器设计一、实验目的1.学习一般的数字电路设计;2.学习数码管的输出方式;3.进一步熟悉Quartes II集成开发软件的利用和PH-1V型实验装置的利用二、实验内容与要求采用原理图输入法和文本输入法别离实现,分层设计,底层由半减器和逻辑组成。
三、设计思路半减器真值表如下X Y DIFF SUB_OUT0 0 0 00 1 1 11 0 1 01 1 0 0XIN YIN SUB_IN DIFF SUB_OUT0 0 0 0 01 0 0 1 00 1 0 1 11 1 0 0 00 0 1 1 10 1 1 0 11 0 1 0 01 1 1 1 1原理图如下四、实验程序半减器:LIBRARY IEEE;USE h_suber IsPORT(X,Y:IN STD_LOGIC;Diff1,s_out1:OUT STD_LOGIC);END ENTITY h_suber;ARCHITECTURE fh1 OF h_suber IsBEGINDiff1<=X XOR Y;s_out1<=(NOT X)AND Y;END ARCHITECTURE fh1;或门:LIBRARY IEEE;USE or2a ISPORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc<=a OR b;END ARCHITECTURE one;五、实验步骤成立工作库文件夹和编辑设计文件;1)打开quartusII,成立新的工程文件,命名为f_suber保留在E:\object\。
2)新成立一个VHDL文件,输入半减器文本和或门文本,别离保留为h_suber和or2a。
3)编译无误后,在File菜单下选择Create下拉菜单里的Creat Symbol选项将两个文件制作成元件。
全减器实验报告
全减器实验报告实验目的,通过实验掌握全减器的工作原理,了解其在数字电路中的应用以及实际电路中的连接方法。
实验器材,全减器芯片、示波器、数字电压表、示教板、导线等。
实验原理,全减器是数字电路中的一种重要逻辑门电路,它的作用是实现减法运算。
全减器有两个输入端A、B和两个输出端差(D)、借位(Br)。
当A、B和借位输入为1时,差输出为1,借位输出为1;当A、B和借位输入为1、1、0时,差输出为0,借位输出为0;当A、B和借位输入为1、1、1时,差输出为1,借位输出为1;当A、B和借位输入为0时,差输出为0,借位输出为0。
实验步骤:1. 将全减器芯片插入示教板中,并连接示波器和数字电压表。
2. 设置A、B和借位输入端的电平,观察差输出和借位输出的变化。
3. 调节输入端的电平,记录不同输入组合下的输出情况。
4. 分析实验数据,验证全减器的工作原理。
实验结果,经过实验,我们得到了不同输入组合下的输出数据,验证了全减器的工作原理。
在实际电路中,我们可以根据实验结果进行相应的连接,实现减法运算的功能。
实验总结,通过本次实验,我们深入了解了全减器的工作原理,掌握了其在数字电路中的应用以及实际电路中的连接方法。
同时,实验过程中我们也学会了使用示波器和数字电压表进行实验数据的采集和分析,提高了实验操作和数据处理能力。
通过这次实验,我们不仅加深了对数字电路中全减器的理解,也提高了实验操作的技能,为今后的学习和研究打下了坚实的基础。
希望通过不断的实验和学习,能够更深入地理解数字电路中各种逻辑门电路的原理和应用,为将来的工程实践打下坚实的基础。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一、一位二进制全减器的设计
一、实验目的:
(1)掌握Quartus II 的VHDL 文本设计的全过程;
(2)熟练和掌握EDA设计流程;熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。
(3)学习PH-1V型实验装置上发光二极管和按键的使用方法。
二、实验内容与要求:
(1)用文本方法实现半减器,再利用半减器完成全减器的设计,熟悉层次设计概念;
(2)给出此项设计的仿真波形;
(3)选择实验电路NO.1验证, 用发光管指示显示结果。
三、设计原理:
(1)半减器真值表:
xx yy Diff1 S_out1
0 0 0 0
0 1 0 1
1 0 0 0
1 1 0 0
(表中Diff1表示本位向高位的借位,S_out1表示本位)
(2)全减器真值表:
x y Sub_in diffr Sub_out
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
(表中Sub_in表示低位向本位的借位,diffr表示本位向高位的借位,Sub_out表示本位)
四、实验程序:
(1)对半减器进行描述:
(2)对全减器进行原理图编辑:
五、实验步骤:
1.建立工作库文件夹和编辑设计文件
(1)在D盘下建立一个文件夹保存工程文件;
(2)打开QuartusII,建立新的VHDL文件,再打开的页面下输入程序。
2.编译过程
(1)输入完程序之后逐个编译
(2)逐个编译无错之后进行全程编译
3.系统仿真
(1)建立新的波形激励文件
(2)在波形编辑器窗口添加节点
(3)通过Edit->End Time 来设定仿真结束时间
(4)点击save保存
(5)通过Tools下的Simulator Tools项进行仿真,然后观察输出波形。
4.引脚锁定
(1)通过Assignment->Assignment Editor->Pin查找到所有的引脚
(2)选择各个输入输出信号来锁定到不同引脚,进行全编译。
5.编程下载
(1)选择Tools->Programmer菜单,点击Hardware Setup窗口完成硬件设置
(2)点击Start开始编程下载
六、仿真波形分析:
引脚的锁定:x锁定为引脚55,y锁定为引脚56,Sub_in锁定为引脚168,Sub_out锁定为引脚169,diffr锁定为引脚167。
七、实验结果:
由编程下载之后实验箱上显示的数据与波形图完全一致,符合全减器真值表。