16位加法器设计
组成原理课程设计(16位全加器电路的设计与实现)

16位全加器电路的设计与实现学生姓名:杨传福指导老师:王新摘要本课程设计主要利用门电路完成一个16位的全加器电路的设计与实现。
本设计采用逐步求解的方法,即先设计一位全加器,再利用一位全加器设计出四位全加器,最后在四位全加器的基础上设计出16位全加器,并使用VHDL语言编写程序,在MAX-PLUSⅡ仿真平台上进行仿真。
仿真结果表明,本课程设计中设计出的16位全加器能正确完成16位二进制数的加法运算。
关键词全加器;门电路;先行进位Abstract:This curriculum design primarily use the gate circuit to complete a 16-bit full-adder circuit.The design solve this problem with step-by-step approach, namely start designing one full-adder, and then use one full-adder design a four full-adder , the last design the 16-bit full-adder based on the four full-adder,and use VHDL language programming, at MAX-PLUS Ⅱsimulation on simulation platform. The simulation results show that the design of the curriculum design of the 16-bit full-adder to add a 16-bit binary number addition operations.Keywords:Full-adder; Gate circuit; First binary1引言1.1课程设计的背景随着计算机科学技术的发展,人们获得信息的途径更加多样,获取信息的速度更加快捷。
EDA-16位加法计数器的设计

EDA-16位加法计数器的设计北京理工大学用程序输入方法设计一个16位二进制加法计数器学院:机械xxxx学院专业班级:10机械电子工程x班姓名:陈xx学号: 10xxxxxx指导教师:xxx 老师目录摘要 (1)1 绪论 (2)2 计数器的工作原理 (3)3 设计原理 (4)4 电路系统的功能仿真 (4)6 个人小结 (23)参考文献 (24)摘要计数器是数字系统中使用较多的一种时序逻辑器件。
计数器的基本功能是统计时钟脉冲的个数,即对脉冲实现计数操作。
计数器也可以作为分频、定时、脉冲节拍产生器和脉冲序列产生器使用。
计数器的种类很多,按构成计数器中的各触发器是否使用一个时钟脉冲源来分,可分为同步计数器和异步计数器;按进位体制的不同,可分为二进制计数器、十进制计数器和任意进制计数器;按计数过程中数字增减趋势的不同,可分为加法计数器、减法计数器和可逆计数器;还有可预制数和可编计数器等等。
本次课程设计将利用众多集成电路软件软件中的Quartus II软件,使用VHDL语言编程完成论文《用程序输入方法设计一个16位二进制加法计数器》,调试结果表明,所设计的计数器正确实现了计数功能。
关键词:二进制;加法计数器;VHDL语言1 绪论现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化,即EDA(Electronic Design Automation)技术。
EDA技术就是依赖功能强大的计算机,在集成电路软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。
16位超前进位加法器实验报告

实验名称:十六位超前进位加法器一、实验目的设计、验证并优化16位超前进位加法器的逻辑功能。
二、实验原理1、1位全加器原理全加器的求和输出信号和进位信号,定义为输入变量A、B、C的两种组合布尔函数:求和输出信号 = A ⊕ B ⊕ C进位信号 = AB + AC + BC实现这两个函数的门级电路如下图。
并不是单独实现这两个函数,而是用进位信号来产生求和输出信号。
这样可以减少电路的复杂度,因此节省了芯片面积。
上述全加器电路可以用作一般的n位二进制加法器的基本组合模块,它允许两个n 位的二进制数作为输入,在输出端产生二进制和。
最简单的n位加法器可由全加器串联构成,这里每级加法器实现两位加法运算,产生相应求和位,再将进位输出传到下一级。
这样串联的加法器结构称为并行加法器,但其整体速度明显受限于进位链中进位信号的延迟。
因此,为了能够减少从最低有效位到最高有效位的最坏情况进位传播延时,最终选择的电路是十六位超前加法器。
2、超前进位加法器原理超前进位加法器的结构如下图。
超前进位加法器的每一位由一个改进型全加器产生一个进位信号gi和一个进位传播信号pi,其中全加器的输入为Ai和Bi,产生的等式为:改进的全加器的进位输出可由一个进位信号和一个进位传输信号计算得出,因此进位信号可改写为:式中可以看出,当gi = 1(Ai = Bi = 1)时,产生进位;当pi = 1(Ai =1或Bi = 1)时,传输进位输入,这两种情况都使得进位输出是1。
近似可以得到i+2和i+3级的进位输出如下:下图为一个四位超前进位加法器的结构图。
信号经过pi和gi产生一级时延,经过计算C产生一级时延,则A,B输入一旦产生,首先经过两级时延算出第1轮进位值C’不过这个值是不正确的。
C’再次送入加法器,进行第2轮2级时延的计算,算出第2轮进位值C,这一次是正确的进位值。
这里的4个4位超前进位加法器仍是串行的,所以一次计算经过4级加法器,一级加法器有2级时延,因此1次计算一共经过8级时延,相比串行加法器里的16级时延,速度提高很多。
模可变16位加法计数器

《EDA设计》报告题目:模可变16位加法计数器设计专业班级:学生姓名:指导教师:武汉理工大学信息工程学院2014 年 1 月 6 日课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目: 模可变16位加法计数器设计初始条件:可用仪器: PC机(Quartus II软件)硬件:EDA-IV型实验箱。
要求完成的主要任务:(1)设计任务设计一个模可变16位加法计数器。
(2)设计指导设计可变16位加法计数器,可通过3个选择位M2、M1、M0实现最多8种不同模式的计数方式,例如可构成5、10、16、46、100、128、200、256进制,共8种计数模式。
(3)时间安排:2013.12.23 课程设计任务布置、选题、查阅资料2013.12.24 设计,软件编程、仿真和调试2013.12.29 实验室检查仿真结果,验证设计的可行性和正确性2013.12.30 设计的硬件调试2014.01.05 机房检查设计成果,提交设计说明书及答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract........................................................... I I1 绪论 (1)2 Quartus II简介 (2)3 计数器的工作原理 (3)4 设计原理 (4)4.1 整体设计原理 (4)4.2 单元模块的设计 (5)4.3 顶层模块(整体电子线路系统)的设计 (8)5 电路系统的功能仿真 (10)6 硬件调试 (12)7 个人小结 (14)参考文献 (15)摘要计数器是数字电子技术中应用的最多的时序逻辑电路。
计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。
但是并无法显示计算结果,一般都是要通过外接LCD 或LED屏才能显示。
计数器的种类按照计数器中的触发器是否同时翻转分类,可将计数器分为同步计数器和异步计数器两种,如果按照计数过程中数字增减分类,又可将计数器分为加法计数器、减法计数器和可逆计数器,随时钟信号不断增加的为加法计数器,不断减少的为减法计数器,可增可减的叫做可逆计数器,另外还有很多种分类不一一列举,但是最常用的是第一种分类,因为这种分类可以使人一目了然,知道这个计数器到底是什么触发方式,以便于设计者进行电路的设计。
电子设计自动化大作业_模可变16位加法计数器_2012301889韩博文

模可变16位加法计数器1、设计要求:模可变16位计数器,可以构成五进制、十进制、十六进制、四十六进制、一百进制、一百二十八进制、二百进制和二百五十六进制共8种计数模式(这些模式通过3个选择为M2、M1、M0实现)。
2、设计思路:在每个时钟的上升沿检测,当计数到达进制上限时,将计数值清零。
对应不同的模,将计数器进制上限根据M值变化,即可达到可变模的目的。
3、VHDL程序及注释LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY VHDL1ISPORT(CLK:IN std_logic;M:IN std_logic_vector(2DOWNTO0);Q:BUFFER std_logic_vector(15DOWNTO0));END VHDL1;//与示例程序不同,取名为VHDL1ARCHITECTURE behav OF VHDL1ISBEGINPROCESS(CLK,M)BEGINIF CLK'EVENT AND CLK='1'THENIF M=0THENIF Q<4THEN、//与示例程序不同,Q<5处理则会导致一个时钟周期内出现5这一计数值,即使进制变为6进制,故修改之。
下同。
Q<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=1THENIF Q<9THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=2THENIF Q<15THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=3THENIF Q<45THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=4THENIF Q<99THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=5THENIF Q<127THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=6THENIF Q<199THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSIF M=7THENIF Q<255THENQ<=Q+1;ELSEQ<="0000000000000000";END IF;ELSEQ<="0000000000000000";END IF;END IF;END PROCESS;END behav;4、实验仿真电路5、实验波形仿真结果取时钟周期CLK=2us,得到如下结果:5进制时:10进制时:16进制时:由于更高进制条件下,计数次数过多,仿真速度慢,结果密集难以分辨,故不再列出。
quartusII设计16位加法器

Exercise 1aObjectives:∙Build a 16-bit adder using the ‘+’ operator∙Practice coding ENTITY-ARCHITECTURE structure ∙See the effect of libraries references on compilationStep 1: Unzip the exercise files and open a Quartus II project____ 1.Unzip the lab project files, if necessary. In an Windows Explorer window, go to the directory C:\altera_trn\VHDL. (If you see a subfolder already there namedIntroduction_to_VHDL_91, please delete.) Double-click the executable filenamed Introduction_to_VHDL_9_1_v1.exe found in the C:\altera_trn\VHDLdirectory. If you still cannot find this directory or file, ask your instructor forassistance. After double-clicking, in the WinZip dialog box, simply click Unzipto automatically extract the files into a newly created folder namedIntroduction_to_VHDL_91. Close WinZip.____ 2.Start the Quartus II software. In the Windows Start menu from the All Programs list, go to the Altera folder and then the Quartus II 9.1 folder. ClickQuartus II 9.1 (32-Bit) to start the program. There may also be a shortcut onthe desktop.If using another operating system, please ask the instructor how to open theQuartus II software if you are unsure.____ 3.Open the adder project. From the Quartus II File menu, choose Open Project.Browse to the directory C:\altera_trn\VHDL\Introduction_to_VHDL_91\lab1aand select the file adder.qpf.The project opens and you are ready to start coding your adder block.Step 2: Write the code for a 16-bit adder____ 1.Create a VHDL file using the Quartus II text editor. From the Quartus II Filemenu select New or click on the button. The New File dialog box willappear; select VHDL File. Click OK.____ 2.Write the source code for a 16-bit adder using the ‘+’ operator. Use the following information as a guide:e the names in the diagram above to name your block and its ports (alllower-case)b.All inputs and outputs should be declared as standard logic.c.Do not worry about rollover with this adder. This adder is already wideenough to account for all the values it will be adding together.d.Make sure to include the library and package declarations at the beginningof the file. You will need the STD_LOGIC_1164 andSTD_LOGIC_UNSIGNED packages.e.If you would prefer using a different text editor, please feel free to do so.Just make sure you save your VHDL file in the project directory.____ 3.Save the file as adder.vhd. From the Quartus II File menu, select Save and save your VHDL file as adder.vhd. It should be located in theC:\altera_trn\VHDL\Introduction_to_VHDL_91\lab1a directory.Step 3: Synthesize the design & check the code for correctness____ 1.Synthesize the design. From the Quartus II Processing menu, select Start ⇒Start Analysis & Synthesis OR click on the button.This will perform checks on the source code to make sure it using valid VHDLsyntax as well as check the design for being synthesizable.____ 2.Correct any warnings and errors. Check the Messages window of the Quartus II software for any warning or error messages. Correct as needed. Be awarethat most error messages point to the line number that is causing the error. Youmay also right-click on the message itself and choose Help to access the onlinehelp within the Quartus II software for clues on how to fix your warning or error.Of course, ask your instructor if you are unsure how to fix a particular warning ormessage. Repeat synthesis and error checking until the Quartus II softwarereports that the “Analysis & Synthesis was successful.”Step 4: Check operator overloading____ ment out the second USE clause. In your adder.vhd file, use the VHDL comment character to comment out the second of the two USE clauses (the oneenabling the use of the STD_LOGIC_UNSIGNED package) at the beginning ofthe file. You should comment out only 1 line.____ 2.Synthesize the design. From the Processing menu, select Start ⇒ StartAnalysis & Synthesis again OR click on the button.What error messages did you receive? You should see the messages below.The reason for the error message is operator overloading. The VHDL compilerdoes not understand the arithmetic operation for STD_LOGIC_VECTOR datatypes. The STD_LOGIC_UNSIGNED package contains the function definitionthat describes this arithmetic operation when used on STD_LOGIC_VECTORdata types. Therefore, the library that contains this package and the packageitself need to be referenced in the design file.____ 3.Restore (uncomment) the USE clause in adder.vhd and save.Step 5: Perform an RTL simulationYou will now use the ModelSim-Altera Starter Edition simulation tool (or similar) to verify the functionality of your design. A VHDL testbench file (adder_tb.vhd)has already been created for you to provide the test vectors for your RTLsimulation.____ 1.Open the ModelSim-Altera simulation tool. In the Windows Start menu from the All Programs list, go to the Altera folder and then the ModelSim-Altera6.5b (Quartus II 9.1) Starter Edition folder. Click ModelSim-Altera 6.5b(Quartus II 9.1) Starter Edition to start the program. There may also be ashortcut on the desktop.If using another simulation tool, see your instructor for steps on how to open andexecute that tool.____ 2.Close the introductory window (if it appears).____ 3.Set the project directory. From the ModelSim File menu, select Change Directory. Browse to the locationC:\altera_trn\VHDL\Introduction_to_VHDL_91\lab1a.A ModelSim macro file called a .DO file has been created for you. This filenamed adder_tb.do contains all of the stepts to run the ModelSim tool and peformsimulation. This includes:a.Creating a working library using the vlib commandpiling all of the VHDL files into the working library with the vcomcommand.c.Loading the simulator with the top-level testbench file using the vsimcommand.d.Opening the waveform window with the wave command.e.Adding target signals to the wave window (and formatting them) using theadd wave command.f.Advancing simulation using the run command.You may open the adder_tb.do file in a text editor if you wish to view the specificcommands used.____ 4.Execute the macro file. From the ModelSim Tools menu, select Tcl ⇒ Execute Macro. Select the file adder_tb.do and click Open.The ModelSim tool will now compile all of the VHDL files and start simulation.The waveform window will open (as a separate window) with the dataa, datab andsum signals added so you can verify that your vhdl code is functioning correctly. ____ 5.Check simulation results for correct functionality. Bring the Wave window to the foreground. From the View menu, click Zoom ⇒ Zoom Full. Your resultsshould look similar to the image below.If your simulation does not match the above, edit your VHDL code as needed andthen save it. Re-run the adder_tb.do file (repeat #’s 4 and 5 above) to check your changes.____ 6.End your simulation. From the ModelSim Simulate menu, select End Simulation OR type quit –sim in the ModelSim Transcript window.Exercise Summary∙Coded a 16-bit adder block in VHDL using the STD_LOGIC data type and an overloaded ‘+’ operator∙Simulated the VHDL code in the ModelSim tool to verify correct functionality。
16位超前加法器实验报告

16位超前加法器设计实验一、实验分析:四位超前进位加法器HDL程序:module add4_head ( a, b, ci, s, pp, gg);input[3:0] a;input[3:0] b;input ci;output[3:0] s;output pp;output gg;wire[3:0] p;wire[3:0] g;wire[2:0] c;assign p[0] = a[0] ^ b[0];assign p[1] = a[1] ^ b[1];assign p[2] = a[2] ^ b[2];assign p[3] = a[3] ^ b[3];assign g[0] = a[0] & b[0];assign g[1] = a[1] & b[1];assign g[2] = a[2] & b[2];assign g[3] = a[3] & b[3];assign c[0] = (p[0] & ci) | g[0];assign c[1] = (p[1] & c[0]) | g[1];assign c[2] = (p[2] & c[1]) | g[2];assign pp = p[3] & p[2] & p[1] & p[0];assign gg = g[3] | (p[3] & (g[2] | p[2] & (g[1] | p[1] & g[0])));assign s[0] = p[0] ^ ci;assign s[1] = p[1] ^ c[0];assign s[2] = p[2] ^ c[1];assign s[3] = p[3] ^ c[2];endmodulep表示进位否决信号(pass),如果p为0就否决调前一级的进位输入。
否决的意思就是即使前一级有进位,本级也不会向后一级产生进位输出。
16位超前进位加法器

16位超前进位加法器设计目录摘要 (1)1需求分析1.1加法器的发展........................................................................ 错误!未定义书签。
1.2几种串行加法器性能比较 (3)1.2.1串行进位加法器 (3)1.2.1超前进位加法器 (3)2主要内容 (4)2.1设计原理 (6)2.2设计思路 (4)3 设计思想 (5)4 实现方法 (6)4.1顶层方案图的设计与实现 (6).4.1.1顶层方案的整体设计 (6)4.1.2元器件选择和引脚锁定 (7)4.2功能模块的设计与实现 (8)4.2.1设计描述 (8)4.2.2创建RTL代码并得到电路图....................................................... .94.3功能仿真 (11)4.4编程与下载 (12)4.5硬件仿真结果 (12)5小结 (13)参考文献 (13)附录 (14)摘要:加法运算是最重要最基本的运算,所有的其他基本算术运算乘除等都最终可以用加法运算来表示在不同的场合对加法器的要求不同,要的要求速度快有的要求面积小超前进位加法器相比于串行进位加法器是一种快速加法运算器,根据用户的要求追求速度与面积的平衡。
关键词:超前进位加法器串行进位加法器速度面积1需求分析1.1 加法器的发展加法运算是最基本的运算,所有其他基本算术运算都是以加法运算为基础。
但因为加法运算存在进位问题,使得某一位计算结果的得出和所有低于他的位相关,因此,为了减少进位传输所耗的时间提高计算速度人们设计了多种类型的加法器。
如跳跃进位加法器,进位选择加法器,超前进位加法器等他们都是利用各位之间的状态来预先产生高位进位信号从而减少进位从低位到高位的传递时间1.2 几种加法器的性能比较1.2.1串行进位加法器串行进位加法器的每一位加和值都依赖于上一位进位信号,即进位信号是串行的经过加法器的每一位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理
课程设计报告
题目 16位加法器设计B
院系信息科学技术学院
专业计算机科学与技术
班级 11计本(2)
教师
学生
学号
内容提要
本设计在其他基本加法器的基础上改进为超前进位加法器,它避免了串行进位加法器的进位延迟,提高了速度。
其主要分为四章,第一章为设计概述,主要介绍设计的任务、目标,以及设计环境,第二章为总体设计方案,其主要介绍本设计中系统设计的框架。
第三章为仿真测试,给出了系统在仿真环境下波形测试结果,看是否满足题目要求。
第四章为设计心得总结,主要是介绍在经过本次设计后,自己的一些心得体会。
最后还给出了本设计的一些参考文献。
前言
计算机组成原理是一门实践性很强的课程;其课程设计目的在于综合运用所学知识,全面掌握微型计算机及其接口的工作原理、编程和使用方法;在设计中,通过小组协作提出设计方案,进行软件设计、调试,最后获得正确的结果,可以加深和巩固对理论知识的更好掌握,进一步建立计算机应用系统体概念,初步掌握单片机软、硬件开发方法,为以后进行实际的单片机软、硬件应用开发奠定良好的基础。
本设计是利用74181、74182芯片组成了16位加法器的组间组内并行。
目录
1设计概述 (5)
1.1设计任务 (5)
1.2 设计要求 (5)
1.3设计环境 (5)
2总体设计方案 (6)
3仿真测试 (9)
4设计个人总结 (10)
参考文献: (10)
1设计概述
1.1设计任务
1、掌握MaxPlus2软件的使用方法。
2、熟悉74系列芯片的组成和工作过程。
3、掌握半加器,一位全加器的设计原理,掌握超前进位产生电路的设计方法。
4、正确将电路原理图下载到试验箱中。
5、正确通过实验箱连线实现一位二进制数的相加并得到正确结果。
6、完成设计实验报告。
7、完成课程设计答辩。
1.2 设计要求
1、巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。
2、学会使用MAX-PLUSⅡ软件设计电路原理图及功能模拟
3、熟悉常用的门电路
1.3设计环境
MaxPlus2
2总体设计方案
1、半加器的设计原理 半加器逻辑电路
半加器逻辑表达式 S=B A ⊕ AB C =
半加器真值表
A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1
1 1 0
2、一位全加器的设计原理 一位全加器逻辑电路
C
A B S
=1
&
74182
一位全加器逻辑表达式
进位输出()i i i i i i B A C B A C +⊕=-1
相加之和 1-⊕⊕=i i i i C B A F 一位加法器真值表
A B 1-i C F i C 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1
1
1
1
1
3、十六位并行加法器的设计思路
1. 先设计一个半加器然后两个半加器合并成一个一位的全加器,最后用16个一位的全加器组合成一个16位的全加器;
2. 先设计一个一位全加器,然后16个并联组成一个16位全加器
3. 使用4片74181和1片74182芯片采用双重分组跳跃进位组成16位并行加法器
这里我们组采用的是第三个方法来实现16位并行加法器的。
4、十六位并行加法器的设计原理
十六位并行加法器的逻辑电路
20~c c
3c
1B
1A
74181
十六位并行加法器的逻辑表达式
1111012301231232332333--+=++++=+=C B A C b b b b a b b b a b b a b a C b a C
5、ALU (74181)功能简介
74181是一种具有并行进位的多功能ALU 芯片,每片4位,构成一组,组内是并行进位。
是4位的算逻单元,F 为输出的结果;S 为ALU 功能工作方式选择线:包括各种算术元算和逻辑运算等;CN 为低位进位输入,CN4为高位进位输出;GN 为进位产生函数;PN 为进位传递函数;A 、B 位两个操作数;M 位区别算术运算还是逻辑运算。
通过与74182的级联操作,可以构造更多位数的加法器。
6、ALU (74182)功能简介
74182是一个产生组与组之间并行进位信号的部件。
GN0、GN1、GN2、GN3为进位生成函数输入端;PN0、PN1、PN2、PN3为进位传递函数输入端;C1为最低位进位信号输入端;CX 、CY 、CZ 为进位信号输出端;GN 、PN 为以16位为一大组的进位传递函数和进位生成函数。
3030~~b b a a
1-c
3仿真测试
波形图分析:
0-50.0ns时间段,s3-s0=0000,M=1,此时为逻辑运算求A的非,输出结果到端口F15- F0;
50.0-100.0ns时间段,s3-s0=0000,M=0,CN=1,此时为算术运算输出结果为A本身,输出到端口F15- F0。
以后个时间段同理,S3-S0用于选择工作方式,M=1时为逻辑运算,M=0且CN=1时为算术运算。
波形图分析:
74181 ALU的算术/逻辑运算功能表
工作方式及选择入S0S1S2S3 正逻辑输入或输出工作方式及选择
入S0S1S2S3
正逻辑输入或输出
逻辑运算算术运算逻辑运算算术运算
0000 A非 A 1000 A的非+B A加AB 0001 A+B的非A+B 1001 A,B异非的
非
A加B
0010 A非B A+B的非1010 B (A+B非)加
AB
0011 逻辑0 减1 1011 AB AB减1 0100 AB的非A加AB的非1100 逻辑1 A加A
0101 B非(A+B)加
AB的非
1101 A+B非(A+B)加A
0110 A,B异或A减B减1 1110 A+B (A+B非)加
A
0111 AB的非AB的非减1 1111 A A减1
根据上面功能表 0-50.0ns时间段,s3-s0=0000,M=1,此时为逻辑运算求A的非,输出结果到端口F15- F0;50.0-100.0ns时间段,s3-s0=0000,M=0,CN=1,此时为算术运算输出结果为A本身,输出到端口F15- F0。
以后个时间段同理,S3-S0用于选择工作方式,M=1时为逻辑运算,M=0且CN=1时为算术运算。
4设计个人总结
通过这次的课程设计对自己的动手能力有很大的提高,更加深入地了解了计算机组成原理这门课程,再动手设计的过程中更详细的学习了16位并行加法计算的理论,并得到了实现,通过课程设计的完成,掌握了加法器中电路的连接,加法原理,更增加了对计算机学习的兴趣,增强了自己的自信心,对以后其他课程设计打下了很好的基础。
参考文献:
1.《电子技术》清华大学出版社作者:林红周新霞主编
计算机组成原理高等教育出版社作者:唐朔飞........忽略此处.......
2.
11。