什么是一位全加器,其原理是什么?
什么是一位全加器,其原理是什么
加器是能夠計算低位進位的二進制加法電路
一位全加器由2個半加器組成,其電路原理如圖4-2所示
一位全加器(FA)的邏輯表達式為:
S=A⊕B⊕Cin
Co=AB+BCin+ACin
其中A,B為要相加的數(shù),Cin為進位輸入;S為和,Co是進位輸出;
如果要實現(xiàn)多位加法可以進行級聯(lián),就是串起來使用;比如32位+32位,就需要32個全加器;這種級聯(lián)就是串行結(jié)構(gòu)速度慢,如果要并行快速相加可以用超前進位加法,
超前進位加法前查閱相關(guān)資料;
如果將全加器的輸入置換成A和B的組合函數(shù)Xi和Y(S0…S3控制),然后再將X,Y和進位數(shù)通過全加器進行全加,就是ALU的邏輯結(jié)構(gòu)結(jié)構(gòu)。
即 X=f(A,B)
Y=f(A,B)
不同的控制參數(shù)可以得到不同的組合函數(shù),因而能夠?qū)崿F(xiàn)多種算術(shù)運算和邏輯運算。
?
表2-1一位全加器的真值表
ADD1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
ADD2 |
0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
CARRY_OUT |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
SUM< | 0 | 1 | 1 | 0 | 1 | 0 | ?? 0 | 1 |
一、?
1.?
2.?
3.?
二、?
由數(shù)字電路知識可知,一位全加器可由兩個一位半加器與一個或門構(gòu)成,其原理圖如圖1所示。該設(shè)計利用層次結(jié)構(gòu)描述法,首先設(shè)計半加器電路,將其打包為半加器模塊;然后在頂層調(diào)用半加器模塊組成全加器電路;最后將全加器電路編譯下載到實驗箱,其中a,b,cin信號可采用實驗箱上鍵1、鍵2和鍵3進行輸入,s,co信號采用D1與D2發(fā)光二極管來顯示。
圖1.1 全加器原理圖
三、?
1.?
在QUARTUSII軟件下創(chuàng)建一工程,工程名為full_adder,芯片名為EP 1C3T144,選擇FPGA目標(biāo)器件,根據(jù)DE2的平臺情況,選擇cyclone II系列的EP2C35F672C6,注意工程路徑不要放到安裝路徑;
2.?
新建VHDL語言文件,輸入如下半加器VHDL語言源程序,并存盤為half_adder.vhd;
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity half_adder is
?
?
?
?
end half_adder;
architecture half_adder of half_adder is
signal c,d:std_logic;
begin
?
?
?
?
end half_adder;
?
3.?
一般先進行功能仿真,再進行時序仿真。為了仿真,首先編輯測試文件。本次實驗由于系統(tǒng)簡單,采用對輸入信號進行輸入波形編輯的方法得到激勵文件
4.?
(1)設(shè)置仿真器進行功能仿真:
??
??
??
??
(2)設(shè)置仿真器進行時序仿真:
??
??
??
??
5.?
6.?
由file->new,打開原理圖文件,并存盤為full_adder.bdf
在原理圖中調(diào)用半加器與或門模塊,按照圖1.1所示連接電路,完成后另保存full_adder。
7.?
??
??
8.?
實驗采用模式5,鎖定引腳對照表如下
?
信號 |
鍵1 |
鍵2 |
鍵3 |
D1 |
D2 |
引腳號 |
1 |
2 |
3 |
11 |
32 |
?
執(zhí)行ASSIGNMENT-PINS,設(shè)置完成后,執(zhí)行下載。
下載:采用JATG方式進行下載,通過鍵1、鍵2與鍵3的輸入,觀察D1,D2的亮滅驗證全加器的邏輯功能。(此時,電腦與下載線都要連接到實驗箱上,且每次連線都必須先關(guān)掉電源)
?
四、?
1.為什么在實驗步驟3中,將半加器保存為half_adder,可否保存為full_adder?
答:不能保存為full_adder,因為VHDL語言中,要求程序名與實體名一致,否則會出現(xiàn)錯誤;而且這個程序是生成半加器模塊的程序,統(tǒng)一命名對模塊理解也容易得多。
2.對電路進行功能仿真與時序仿真時,發(fā)現(xiàn)二者有什么樣的區(qū)別?
?
3.為什么要進行引腳鎖定?
?
4.采用層次結(jié)構(gòu)法描述電路有什么樣的優(yōu)點?
?
非常好我支持^.^
(86) 57.3%
不好我反對
(64) 42.7%
相關(guān)閱讀:
- [電子說] 仿真測試2:全加器(模塊調(diào)用) 2023-10-10
- [電子說] 時序分析基本概念介紹<Combinational logic> 2023-07-10
- [電子說] 請用Verilog分別實現(xiàn)1位半加器和1位全加器 2023-06-26
- [電子說] FPGA設(shè)計:4位全加器代碼以及仿真 2023-05-23
- [電子說] 層次化設(shè)計構(gòu)成全加器 2023-05-22
- [電子說] 基于FPGA層次化設(shè)計構(gòu)成全加器 2023-05-14
- [電子說] 一文詳解算術(shù)運算電路 2023-03-21
- [電子說] 如何用繼電器構(gòu)建計算機的CPU中央處理單元 2021-06-30
( 發(fā)表人:admin )