一位全减器的设计
- 格式:docx
- 大小:235.05 KB
- 文档页数:6
【关键字】设计南昌大学实验报告学生姓名:学号: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为向上借位的值,由上表可知,仿真结果与理论值(全减器真值表)一致,故仿真成功。
《电子技术课程设计报告》题目:一位减法器学院:专业:班级:姓名:指导教师:2009年12月18日目录1.课程设计的目的 (1)2.课程设计题目描述和要求 (1)3.课程设计报告内容 (1)4.总结 (11)1.课程设计目的课程设计是某门课程的总结性教学环节,是培养学生综合运用本门课程及有关先修课程的基本知识去解决某一实际问题的基本训练,加深对该课程知识的理解。
在整个教学计划中,它起着培养学生独立工作能力的重要作用。
通过本课程设计, 主要训练和培养学生的以下能力:(1)查阅资料:搜集与本设计有关部门的资料(包括从已发表的文献中和从生产现场中搜集)的能力;(2)方案的选择:树立既考虑技术上的先进性与可行性,又考虑经济上的合理性,并注意提高分析和解决实际问题的能力;(3)迅速准确的进行工程计算的能力,计算机应用能力;(4)用简洁的文字,清晰的图表来表达自己设计思想的能力。
2.课程设计题目描述和要求2.1题目描述:本次课程设计是设计一个一位减法器。
任意输入两个一位数通过减法器进行减法运算。
2.2要求:(1)利用基本逻辑门电路和编码器,译码器及计数器完成电路(2)用LED管显示3.课程设计报告内容3.1 设计方案的选定与说明。
所设计的一位减法器由计数器是一种应用十分广泛的时序电路,除用于计数,分频外,还广泛用于数字测量,运算和控制,从小型数字仪表,到大型数字电子计算机,几乎无所不在,是任何现代数字系统中不可缺少的组成部分。
计数器可利用触发器和门电路构成.但在实际工作中,主要是利用集成计数器来构成.在用集成计数器构成N进制计数器时,需要利用清零端或置数控制端,让电路跳过某些状态来获得N进制计数器。
(1)但根据要求及设计的简单,此设计方案采用集成电路实现,设计框图如下图所示:(2)逻辑函数表达式1.补码加减运算的基本公式补码加法的基本公式为:整数 [A]补+[B]补=[A+B]补(mod 2n+1)小数 [A]补+[B]补=[A+B]补(mod 2)即补码表示肋两个数在进行加法运算时,可以把符号位与数位同等处理,只要结果不超出机器能表示的数值范围,运算后的结果按2n+1取模(对于整数);或按2取模(对于小数),就能得到本次加法的运算结果。
实验一 1位二进制全减器设计实验一:1位二进制全减器设计一、实验目的本实验旨在通过硬件设计和编程,实现一个1位二进制全减器的设计。
通过本实验,希望学生能够深入理解二进制数的减法运算规则,掌握硬件电路的基本设计和调试方法,提高实践能力和编程技能。
二、实验原理二进制全减器是一种实现两个二进制数相减的逻辑电路。
在一个二进制全减器中,我们需要考虑两个输入位(被减数和减数)以及一个借位输入(来自低位的借位输出)。
根据这些输入,二进制全减器会生成一个输出位(差)和一个借位输出(向低位的借位)。
三、实验步骤1.确定设计方案:根据实验要求,选择合适的硬件设计和编程语言。
本实验中,我们采用Verilog语言进行编程,并使用FPGA(现场可编程门阵列)来实现硬件电路。
2.编写代码:根据二进制全减器的设计要求,编写Verilog代码。
代码应包括模块定义、输入输出端口声明、逻辑设计和时序控制等部分。
3.编译与仿真:将编写的Verilog代码进行编译,生成可被FPGA识别的二进制文件。
然后,使用仿真工具进行功能仿真,验证设计的正确性。
4.硬件调试:将生成的二进制文件下载到FPGA开发板上,进行硬件调试。
通过观察硬件电路的输出结果,验证全减器功能的正确性。
5.性能分析:对设计的全减器进行性能评估,包括运算速度、功耗、资源利用率等指标。
通过对比不同设计方案,分析优劣并提出改进意见。
四、实验结果与分析1.实验结果:通过本次实验,我们成功地设计并实现了一个1位二进制全减器。
在功能仿真和硬件调试中,均验证了该全减器的正确性。
2.结果分析:在设计过程中,我们充分考虑了电路的简洁性和高效性。
在满足设计要求的前提下,尽量减少了逻辑门的数量和复杂度。
这使得我们的全减器在资源利用率、运算速度和功耗等方面均表现出较好的性能。
五、结论与展望通过本次实验,我们成功地设计并实现了一个1位二进制全减器。
该全减器在功能仿真和硬件调试中均表现出良好的性能。
一位全减器的VHDL设计理工学院03电信(2)班黄金凤0 一.实验目的1.熟悉Max+PlusII和GW48EDA开发系统的使用;2.掌握一位半减器的VHDL设计;3.掌握一位半减器构建一位全减器的方法;4.元件例化语句的使用。
二.实验原理表一. 半减器的真值表其次,一位全减器的逻辑表达式:表二.一位全减器的真值表根据上述的真值表了解半减器和全减器,并设计出VHDL的程序。
描述半减器的VHDL的程序如下:ENTITY halfsub ISPORT(A,B:IN BIT;T,C:OUT BIT);END halfsub;ARCHITECTURE halfsub_arc OF halfsub ISBEGINPROCESS(A,B)BEGINT<= A XOR B AFTER 10 ns;C <= (NOT A) AND B AFTER 10 ns;END PROCESS;END halfsub_arc;其波形图如下:描述或门的VHDL程序如下:ENTITY orgate ISPORT(A1,B1:IN BIT;O1:OUT BIT);END orgate;ARCHITECTURE orgate_arc OF orgate ISBEGINO1<= A1 OR B1;END orgate_arc;然后设计全减器, 以一些中间信号temp_T,temp_c1和temp_c2, 将两个半减器,一个或门的端口连接起来形成对全减器的结构描述。
图10-5(b)所示虚线框有各元件之间的连线命名。
下面是全减器的VHDL程序描述:ENTITY fullsub ISPORT(I1,I2,C_IN:IN BIT;FT,C_OUT:OUT BIT);END fullsub;ARCHITECTURE fullsub_arc OF fullsub ISSIGNAL temp_T,temp_c1,temp_c2:BIT;COMPONENT halfsubPORT(A,B:IN BIT; T,C:OUT BIT);END COMPONENT;COMPONENT orgatePORT(A1,B1:IN BIT; O1:OUT BIT);END COMPONENT;BEGINU0:halfsub PORT MAP(I1,I2,temp_T,temp_c1);U1:halfsub PORT MAP(temp_T,C_IN,FT,temp_c2);U2:orgate PORT MAP(temp_c1,temp_c2,C_OUT);END fullsub_arc;其波形图如下:三.实验步骤1.打开Max+PlusII软件,启动File/New菜单命令,选择Text Editor File,点击OK;2.在空白文件中输入如上的实验原理描述半减器的VHDL的程序,并保存。
实验一 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。
南昌大学实验报告学生姓名:刘志强学号: 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的文件【】”两个接口其一(要看硬件接口),选中【】”→添加【】中的驱动程序→【】→点【】开始下载。
一位全减器课程设计一、课程目标知识目标:1. 学生能理解全减器的基本原理,掌握全减器的电路组成和功能。
2. 学生能运用所学知识,分析全减器的逻辑功能,解释全减器在实际电路中的应用。
3. 学生了解全减器与其他逻辑门的关系,能正确区分全减器与半减器的区别。
技能目标:1. 学生能运用所学知识,设计简单的全减器电路,并进行模拟验证。
2. 学生能通过实际操作,分析全减器电路的故障现象,并提出解决方案。
3. 学生具备一定的电路图识别能力,能读懂并绘制全减器电路图。
情感态度价值观目标:1. 培养学生对电子电路的兴趣,激发他们探索电子世界的热情。
2. 培养学生的团队协作精神,使他们学会在小组合作中共同解决问题。
3. 培养学生具备良好的学习习惯,树立严谨的科学态度,提高他们的自主学习能力。
课程性质:本课程为电子技术基础课程,以理论教学与实践操作相结合的方式进行。
学生特点:学生具备一定的电子技术基础知识,对全减器有一定了解,但对实际应用和电路设计尚不熟练。
教学要求:结合学生特点,注重理论与实践相结合,注重培养学生的动手操作能力和创新能力。
在教学过程中,关注学生的个体差异,因材施教,使学生在掌握全减器知识的基础上,提高综合运用能力。
通过具体的学习成果,对学生的学习效果进行评估,确保课程目标的达成。
二、教学内容1. 全减器的基本原理:包括全减器的定义、作用及其在数字电路中的应用。
- 教材章节:第三章第三节《全减器与加法器》- 内容:全减器的工作原理、逻辑表达式、真值表。
2. 全减器的电路组成:分析全减器电路的各个部分,探讨其功能及相互关系。
- 教材章节:第三章第四节《全减器电路的设计》- 内容:全减器电路的组成部分,如输入端、输出端、借位端等。
3. 全减器与其他逻辑门的关系:介绍全减器与半减器、与非门等逻辑门的联系与区别。
- 教材章节:第三章第五节《各类逻辑门的特性与应用》- 内容:全减器与其他逻辑门的功能对比,应用场景。
实验一、一位二进制全减器的设计一、实验目的:(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技术实用教程
课题报告
课题名称:一位全减器的设计
院系:
专业:电子信息工程
组员:
设计流程:
一、一位半减器的设计
一位半减器程序如下; 其中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是输入延迟信号用来消除仿真图中出现的毛刺现象
一位全减器逻辑表达式:
一位全减器真值表:
一位全减器波形图:
一位全减器封装图:。