实验一:一位二进制全减器设计

合集下载

QuartesII全减器实验报告

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选项将两个文件制作成元件。

实验一 1位二进制全加器的设计

实验一  1位二进制全加器的设计

实验一基于原理图输入法的1位二进制全加器的设计一、实验目的1、学习、掌握QuartusⅡ开发平台的基本使用。

2、学习基于原理图输入设计法设计数字电路的方法,能用原理图输入设计法设计1位二进制半加器、1位二进制全加器。

3、学习EDA-V型实验系统的基本使用方法。

二、实验内容1、根据1位二进制半加器、1位二进制全加器的真值表,设计并画出1位二进制半加器的原理框图,由半加器及门电路设计并画出1位二进制全加器的原理框图(最终设计的是1位二进制全加器)。

2、用QuartusⅡ原理图输入输入法输入1位二进制半加器的原理框图,并进行编译。

如有输入错误,修改后再进行编译。

4、根据1位二进制半加器的工作原理,选择输入合适的输入信号和波形及其输出信号,进行仿真,得到器件的输入与输出波形,验证设计是否正确。

5、创建1位二进制半加器的的元件图形符号。

6、用QuartusⅡ原理图输入输入法输入1位二进制半加器的原理框图(要求用半加器及门电路设计),并进行编译,仿真。

7、确定实验箱电源关闭的情况下,连接好下载线,然后打开实验箱电源,对器件进行编程下载。

8、编程下载成功后,关闭实验箱电源,拆除下载线,按器件引脚设定及功能要求,连接好各测试线,进行硬件测试验证。

三、实验预习要求1、学习、掌握QuartusⅡ的基本使用,学习本EDA-V实验开发系统。

2、根据1位二进制半加器、1位二进制全加器的真值表,设计并画出1位二进制半加器的原理框图,由半加器及门电路设计并画出1位二进制全加器的原理框图。

3、根据1位二进制半加器、1位二进制全加器的工作原理,设计并画出它们的输入、输出的理论工作波形。

4、初步制定全加器的引脚锁定。

四、实验要求1、实验原理中详细写出1位二进制半加器、1位二进制全加器的设计过程,及它们的输入、输出的理论工作波形。

2、根据实验内容,详细写出实验的各个步骤,方法。

3、记录实验现象或波形,并与理论值比较、分析。

(如仿真波形与理论工作波形的比较分析,硬件测试与理论真值表的比较分析)。

实验一1位二进制全减器设计

实验一1位二进制全减器设计

实验一 1位二进制全减器设计实验一:1位二进制全减器设计一、实验目的本实验旨在通过硬件设计和编程,实现一个1位二进制全减器的设计。

通过本实验,希望学生能够深入理解二进制数的减法运算规则,掌握硬件电路的基本设计和调试方法,提高实践能力和编程技能。

二、实验原理二进制全减器是一种实现两个二进制数相减的逻辑电路。

在一个二进制全减器中,我们需要考虑两个输入位(被减数和减数)以及一个借位输入(来自低位的借位输出)。

根据这些输入,二进制全减器会生成一个输出位(差)和一个借位输出(向低位的借位)。

三、实验步骤1.确定设计方案:根据实验要求,选择合适的硬件设计和编程语言。

本实验中,我们采用Verilog语言进行编程,并使用FPGA(现场可编程门阵列)来实现硬件电路。

2.编写代码:根据二进制全减器的设计要求,编写Verilog代码。

代码应包括模块定义、输入输出端口声明、逻辑设计和时序控制等部分。

3.编译与仿真:将编写的Verilog代码进行编译,生成可被FPGA识别的二进制文件。

然后,使用仿真工具进行功能仿真,验证设计的正确性。

4.硬件调试:将生成的二进制文件下载到FPGA开发板上,进行硬件调试。

通过观察硬件电路的输出结果,验证全减器功能的正确性。

5.性能分析:对设计的全减器进行性能评估,包括运算速度、功耗、资源利用率等指标。

通过对比不同设计方案,分析优劣并提出改进意见。

四、实验结果与分析1.实验结果:通过本次实验,我们成功地设计并实现了一个1位二进制全减器。

在功能仿真和硬件调试中,均验证了该全减器的正确性。

2.结果分析:在设计过程中,我们充分考虑了电路的简洁性和高效性。

在满足设计要求的前提下,尽量减少了逻辑门的数量和复杂度。

这使得我们的全减器在资源利用率、运算速度和功耗等方面均表现出较好的性能。

五、结论与展望通过本次实验,我们成功地设计并实现了一个1位二进制全减器。

该全减器在功能仿真和硬件调试中均表现出良好的性能。

一位全减器word版本

一位全减器word版本

实验一 1位二进制全减器设计一、实验目的1.熟悉Quartes II集成开发软件的使用;2.初步熟悉PH-1V型实验装置的使用;3 . 学习用原理图输入法和文本输入法进行简单的数字电路设计,掌握系统仿真,学会分析硬件测试结果。

二、实验内容与要求1.采用原理图输入法和文本输入法分别实现,分层设计,底层由半减器(也用原理图输入法)和逻辑门组成;2.建立波形文件,并进行系统仿真,用软件验证设计结果;3. 在仿真正确的情况下,对1位二进制半加/减器分别下载到实验箱中做硬件测试三、实验原理及设计思路根据一位二进制全减器的工作原理,可得其真值表为(如下:cin表示低位向本位借位。

cout 表示本位向高位借位)ain bin cin cout sum0 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教程中全加器的顶层设计描述及半加器调用可类比到全减器的设计,可由先对半减器进行描述,然后进行两次调用。

半减器的工作时的逻辑表达式为: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。

整理实验一-一位二进制全加器设计实验

整理实验一-一位二进制全加器设计实验

整理人 尼克 实验一一位二进制全加器设计实验目录实验一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\),程序会自动替换文件中的公开密钥。

全减器实验报告

全减器实验报告

全减器实验报告全减器实验报告引言:全减器是数字电路中常见的逻辑电路之一,用于实现两个二进制数相减的运算。

在本次实验中,我们将学习全减器的原理和实现方式,并通过实验验证其正确性和可靠性。

一、实验目的本次实验的目的是:1. 了解全减器的基本原理和工作方式;2. 学会使用逻辑门电路和布尔代数来实现全减器;3. 验证全减器的正确性和可靠性。

二、实验原理1. 全减器的基本原理全减器是一种三输入、二输出的逻辑电路,用于实现两个二进制数相减的运算。

它接受两个输入数和一个借位输入,输出一个差值和一个借位输出。

2. 全减器的实现方式全减器可以通过逻辑门电路和布尔代数来实现。

常见的实现方式有两种:基于逻辑门的实现和基于布尔代数的实现。

基于逻辑门的实现方式使用与门、或门和非门来实现全减器的功能。

通过组合这些逻辑门,可以实现全减器的差值输出和借位输出。

基于布尔代数的实现方式则使用布尔代数的运算规则和等式来推导全减器的逻辑表达式,并通过逻辑门电路来实现这些逻辑表达式。

三、实验步骤1. 准备实验所需材料和器件,包括逻辑门电路芯片、电路连接线等。

2. 根据实验原理,设计并搭建全减器的逻辑电路。

可以选择基于逻辑门的实现方式或基于布尔代数的实现方式。

3. 进行电路的连线和连接,确保电路的正确性和可靠性。

4. 进行实验测试。

选择不同的输入数和借位输入,观察输出的差值和借位输出是否符合预期。

5. 记录实验数据和结果。

将实验测试的输入和输出数据进行记录,并进行分析和总结。

四、实验结果与分析通过实验测试,我们得到了一系列的输入和输出数据。

根据这些数据,我们可以进行结果的分析和总结。

在实验中,我们发现全减器能够正确地计算两个二进制数的差值和借位输出。

无论输入数和借位输入的取值如何,全减器都能给出正确的结果。

通过分析实验数据,我们还可以得出全减器的一些性质和特点。

例如,当输入数相等时,差值输出为0,借位输出为0;当输入数不相等时,差值输出为1,借位输出为1。

实验一:一位二进制全减器设计

实验一:一位二进制全减器设计

南昌大学实验报告学生姓名:刘志强学号: 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,这个时候就像是变魔术一样,瞬间升华了。

把这简单的加法放在一起,嘿,整个过程简直就像是舞蹈,轻松而优雅。

再来看看减法。

哦,减法在二进制里也是大有可为。

想象一下,你手里有一块大蛋糕,想给朋友分,但是蛋糕不够,怎么办?这时候就需要用到借位的技巧。

二进制减法就像是抢夺蛋糕的小朋友,借位就是从旁边的小朋友那里借来一口,然后再继续分蛋糕。

这样看似复杂,但实际上只要理解规则,嘿,就能轻松搞定。

那好,咱们再深入一点,聊聊这个全加减器是怎么工作的。

它就像一个聪明的管家,负责所有的数字进出。

内部的结构就像一座精密的机器,采用逻辑门电路,真是科技的结晶。

这个小家伙有两部分,一部分是加法器,另一部分是减法器,它们就像两位默契的舞者,在舞台上完美配合。

每当有输入数字的时候,它们立刻就开始工作,快速而高效,仿佛时间都为它们停驻。

听到这里,大家可能会想,二进制全加减器有什么用呢?别急,咱们就来聊聊它的应用。

无论是计算机还是电子设备,都离不开这位全加减器。

想想看,咱们每天都在用手机,玩游戏,浏览网页,这些背后可都是二进制全加减器在默默奉献。

它就像一位无名英雄,虽然不显山露水,却是整个系统运作的基石。

说到这里,可能有人会觉得,哎呀,二进制这玩意儿真复杂。

实验一 一位二进制全减器的设计

实验一 一位二进制全减器的设计

实验一、一位二进制全减器的设计一、实验目的:(1)掌握Quartus II 的VHDL 文本设计的全过程;(2)熟练和掌握EDA设计流程;熟悉简单组合电路的设计,掌握系统仿真,学会分析硬件测试结果。

(3)学习PH-1V型实验装置上发光二极管和按键的使用方法。

二、实验内容与要求:(1)用文本方法实现半减器,再利用半减器完成全减器的设计,熟悉层次设计概念;(2)给出此项设计的仿真波形;(3)选择实验电路NO.1验证, 用发光管指示显示结果。

三、设计原理:全减器可以有2个半减器和1个或门组成。

(1)半减器真值表: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开始编程下载六、仿真波形分析:波形分析:用波形与真值表进行比较即可。

有波形可以看出,100对应11,是对的。

再看111对应11也与理论相符。

引脚的锁定:x锁定为引脚60,y锁定为引脚61,Sub_in锁定为引脚63,Sub_out锁定为引脚169,diffr锁定为引脚167。

EDA实验一全减器

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软件,进入编辑环境。

用74LS138和门电路设计1位二进制全减器

用74LS138和门电路设计1位二进制全减器

1、用3线—8线译码器74LS138和门电路设计1位二进制全减器,输入为被减数、减数和来自低位的借位;输出为两数之差和向高位的借位信号(74LS138的逻辑框图如图1.1所示)。

CO-—-向高位的借位; Y ———两位数之差;C I —-—来自低位的借位;
Y=m 1+m 2+m 4+m 7;CO=m 3+m 5+m 6+m 7;
其逻辑图如下:
1
2、试用8选1数据选择器74LS152和必要的门电路设计一个路灯控制电路,要求在四个不同的地方都能独立地开灯和关灯,画出逻辑电路图(74LS152的逻辑框图如图2.1所示)。

7
D1D0
A0
A1
A2S 152 m m
3,210代表亮,或是开关闭合;0代表灯灭;Y=A3(m1+m2+m4+m0)
对照着所给的逻辑表达式可得:
D0=D1=D2=D4=A3
D3=D5=D6=D7=0; A2=A2;A1=A1;A0=A0;
故逻辑图如下所示:
A。

一位全减器的设计

一位全减器的设计

EDA技术实用教程
课题报告
课题名称:一位全减器的设计
院系:
专业:电子信息工程
组员:
设计流程:
一、一位半减器的设计
一位半减器程序如下; 其中x,y 是输入,diff 是输出差,s_out 是借位输出, sub_in 为借位输入。

library ieee;
use ieee.std_logic_1164.all; entity h_suber is
port (x,y : in std_logic; diff,s_out : out std_logic ); end h_suber;
architecture hdlarch of h_suber is begin process(x,y) begin
diff <= x xor y;s_out <= (not x) and y; end process; end hdlarch;
半减器逻辑表达式:
半减器真值表:
输入输出
x y diff s_sout
0000
0111
1010
1100半减器波形图如下:
半减器封装图:
二、一位全减器的设计
一位全减器设计结构图:sub_in为借位输入,clk是输入延迟信号用来消除仿真图中出现的毛刺现象
一位全减器逻辑表达式:
一位全减器真值表:
一位全减器波形图:
一位全减器封装图:。

全减器

全减器

南昌大学实验报告学生姓名: 学 号: 专业班级: 实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 实验成绩:实验一 一位二进制全减器设计(一)实验目的1.熟悉PH-1V 型实验装置和Quartus Ⅱ软件的使用;2.熟悉和掌握EDA 设计流程;3.学习简单组合的EDA 设计;4.学习PH-1V 型实验装置上发光二极管和按键的使用方法。

设计要求1.完成设计、仿真、调试、下载、硬件测试等环节,在PH-1V 型EDA 实验装置上实现一位二进制全加/减器功能,具体要求如下:2.设置一个按键控制改变加/减模式,另用按键输入作为运算输入,发光二极管作为运算输出。

(二)主要仪器设备 1.微机1台2.QuartusII 集成开发软件 1套3.PH-1V 型EDA 实验装置1套(三)实验总体设计根据下面的真值表,用变量m 来作为控制键,m=0时进行全加器功能,m=1时进行全减器功能。

VHDL 语言描述,采用if m=0,if=1,两个情况,两者根据各自的真值表采用case when 语句即可。

一.全减器真值表 ai 为被减数; bi 为减数;ci 为低位向本位的借位; so 为本位向高位的借位; co 为本位;(四)实验重难点设计用文本输入法设计全加全减器(1) 打开Quartus II 软件,进入编辑环境。

(2) 创建新的文本文件,命名为updown ,根据其真值表写出相应的语句如下: library ieee;输入 输出 ai bi ci so co 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 11111use ieee.std_logic_1164.all;entity updown isport(ai,bi,ci,m:in std_logic;so,co:out std_logic);end entity updown;architecture one of updown issignal abc:std_logic_vector(2 downto 0);beginabc<=ai&bi&ci;process(abc)beginif m='0' thencase abc iswhen "000"=>so<='0';co<='0';when "001"=>so<='1';co<='0';when "010"=>so<='1';co<='0';when "011"=>so<='0';co<='1';when "100"=>so<='1';co<='0';when "101"=>so<='0';co<='1';when "110"=>so<='0';co<='1';when "111"=>so<='1';co<='1';when others=>null;end case;end if;if m='1' thencase abc iswhen "000"=>so<='0';co<='0';when "001"=>so<='1';co<='1';when "010"=>so<='1';co<='1';when "011"=>so<='1';co<='0';when "100"=>so<='0';co<='1';when "101"=>so<='0';co<='0';when "110"=>so<='0';co<='0';when "111"=>so<='1';co<='1';when others=>null;end case;end if;end process;end one;3.对照引脚绑定表,绑定好引脚,下载到实验芯片中,进行硬件测试。

EDA一位二进制全减器设计

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后在打开的界面下输入已经设计好的程序。

一位二进制减法器

一位二进制减法器

一位二进制减法器在计算机科学中,二进制减法器是一种重要的计算机器件,能够完成二进制数的减法运算。

在现今的计算机领域,减法器的应用范围极为广泛,在数字电路设计、算法设计等方面都有着重要的作用。

本文将介绍一位二进制减法器的结构、工作原理、功能和应用范围。

一、结构一位二进制减法器通常由两个二进制四选一选择器、一个异或门和一个与非门等逻辑器件组成。

其中,二进制四选一选择器(MUX)用于选择输入的两个数中的一个数,异或门(XOR)用于计算相减的结果,而与非门(NAND)则用于得到借位。

二、工作原理在进行二进制数的减法运算时,可以将减数和被减数都用二进制表示。

对于每一位而言,如果减数的当前位值小于被减数的当前位值,那么就需要借位。

借位后,减数减去被减数和借位三个数字也要相应进行处理。

最终得到的结果是减数减去被减数的值。

三、功能二进制减法器的主要功能是完成二进制数的减法运算。

它可以计算多位二进制数的减法,相比手工计算速度更快,误差更少,精确度更高。

四、应用范围在计算机中的应用,减法器一般用于实现一些重要的算法,如加减法、逻辑运算、浮点运算等。

减法器经常被应用在诸如微处理器和硬件逻辑运算单元等电路中,以提高计算速度和精确度。

总之,一位二进制减法器虽然只是一个很小的电路,但它在计算机科学和数字电路设计中拥有重要的作用。

减法器能够有效地完成计算机的减法运算,具有较高的精度和速度。

未来,随着计算机技术的不断发展和进步,二进制减法器的应用将更加广泛化和多样化。

eda全减器

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、实验内容使用MAX+plus软件设计一位全减器2、实验目的与要求熟悉MAX+plus II软件的操作和使用,熟悉设计元件的构造和原理,熟悉各元件组之间的连接,设计一位全减器电路并进行编译和仿真。

3、实验环境编译环境:MAX+plus II 10.1平台:windows xp及以上版本4、设计思路分析(包括需求分析、整体设计思路、概要设计)首先设计一个半减器,然后由半减器和一个或门设计出全减器,半减器由非门,异或门和与门来实现。

5、详细设计一位半减器一位全减器设计:so=a异或bco=a非与b全减器设计:由两个半减器和一个或门设计出全减器,半减器由与门,非门和异或门来实现。

6、实验结果与分析1.对其进行编译,成功后,新建一个波形编辑文件,对波形进行修改,以进行测试,结果如下:一位半减器编译运行结果2. 对文件进行编译,新建一个波形编辑文件,将各项输入输出添加进去,并调整为测试波形,运行模拟器,显示测试结果。

一位全减器编译运行结果3. 全减器的制作需要半减器,首先建立工程文件,打开软件,点击文件,新建一个工程quanjia,然后新建一个图形编辑文件一位半减器元件设计图4. 新建一个图形编辑文件,名称为quanjia.gdf,添加器件,将刚刚封装好的半减器器件test添加进去,并连接好电路,具体链接如下图所示,其中,ain为输入的一个数,bin为输入的第二个数,cin为上一位的进位,sum为减数和,cout为进位。

一位全减器元件设计图7、实验体会与建议通过这次实验课的学习,我学会了MAX+plus的使用。

了解了半减器和全减器的设计原理和在MAX+plus中的实现方法。

在操作过程中虽然遇到了很多的困难,但在同学的帮助下都克服了,同学的帮助在学习过程中很重要。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学实验报告
学生姓名:刘志强学号: 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 is
signal abc:std_logic_vector (1 downto 0);
begin
abc <= a&b ;
process (abc)
begin
case abc is
when "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 is
component 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个信号作为内部的连接线
begin
u1: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的文件【】”两个接口其一(要看硬
件接口),选中【】”→添加【】中的驱动程序→【】
→点【】开始下载。

注:原理图输入法工程建立与文本输入法建立相似,而且原理图形与以前学习的Mutisim 相同,这里不再多说。

2. 用quartusII创建仿真工程
在已有的工程中,在file下面点【】→【】OK→在任务栏【】中双击,来添加管脚→【】→【】OK然后设置一下
输入引脚波形→保存一下→仿真【】→必要时还可以设置一下【】
中的【】改时间【】→再重新仿真一下。

六、仿真波形分析
下图为实验所得的波形图:
对实验所得的波形图作如上的标记,可以得到如下仿真信息表:
Value A B C D V
a 0 0 0 0 0
b 0 0 1 1 1
c 0 1 0 1 1
d 0 1 1 0 1
e 1 0 0 1 0
f 1 0 1 0 0
g 1 1 0 0 0
h 1 1 1 1 1
差值D的结果为A—B—C的值,与理论值一样借位输出V也与理论值一致;从波形图可以看出输出波形有一定的延时和毛刺,是因为经过元器件需要时间和冒险现象存在。

七、硬件测试
使用的芯片是EP1K00QC208-3。

ain、bin、cin分别连接引脚53(电平1)、54(电平2)、55(电平3),sub、v分别连接引脚167(LED1)、168(LED2);测试为:电平1、2、3分别为(低、低、低)、(低、低、高)、(低、高、低)、(低、高、高)、(高、低、低)、(高、低、高)、(高、高、高)、(高、高、高)对应的LED1、LED2分别为(灭、灭)、(亮、亮)、(亮、亮)、(灭、亮)、(亮、灭)、(灭、灭)、(灭、灭)、(亮、亮)。

八、实验小结
很幸运,我们这届学生遇上了全新的实验设备,可以放心做实验了。

首先,老师教我们如何破解Quartus II 7.2,接着就开始设计全减器。

对全减器的设计是比较简单的,而且在对全减器编译、仿真和下载之前,我已对Quartus II 7.2进行了多次操作,已经熟练地掌握了利用Quartus II 7.2建立工程和创建仿真等;通过此次试验,我可以向复杂的设计迈进,通过试验,一步一步地提高自己的设计能力、创新能力。

通过这个实验,掌握了利用QuartusII建立工程、创建仿真工程和编程下载;在第一次编译时,发现“or2a”没有定义,然后定义一下逻辑或门or2a,保存一下,重新编译通过;在第一次波形仿真后,改变输入波形和end time,保存,重新仿真,仿真后的波形没有变,之后才发现要改动Assignments下的setting-f_suber框中的Simulator Setting;在用原理图输入法设计时,底层用文本输入法创建半减器工程,顶层原理图连接之后,需要再在创建一个原理图工程,工程名是f_suber。

相关文档
最新文档