版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、算 術(shù) 邏 輯 部 件設(shè) 計(jì)蔣 小 龍聲 明作此資料為本人個(gè)人行為,此資料版權(quán)為本人所有。你可以任意使用,但你非經(jīng)本人允許不得對(duì)此資料內(nèi)容作任何修改。你因使用此資料所帶來任何收益,本人均不染指;因使用此資料所引起的任何不良后果,本人不承擔(dān)任何形式的責(zé)任。出版物引用,但請(qǐng)注明!目 錄聲明10、 約定31、 一位加法器42、 4位加法器43、 4位超前進(jìn)位鏈54、 16位超前進(jìn)位鏈65、 更多位超前進(jìn)位鏈86、 算術(shù)運(yùn)算設(shè)計(jì)97、 邏輯操作設(shè)計(jì)108、 標(biāo)識(shí)位109、 設(shè)計(jì)示例1 16位7功能算術(shù)邏輯部件 1210、設(shè)計(jì)示例2 4位16功能算術(shù)邏輯部件 15 后記20 個(gè)人介紹210、約定運(yùn)算數(shù)據(jù)
2、:A:操作數(shù)、位串; B:操作數(shù)、位串;D:結(jié)果數(shù)據(jù)、位串,與操作數(shù)位寬同;Ci:進(jìn)位、一位,以前操作所產(chǎn)生,本次操作視情況考慮; Co:進(jìn)位、一位,本次操作產(chǎn)生;C:進(jìn)位、位串,由操作數(shù)生成的進(jìn)位,不會(huì)比操作數(shù)位寬?。?G:進(jìn)位生成、位串,與操作數(shù)位寬同,具體意義見文中; P:進(jìn)位傳輸、位串, 與操作數(shù)位寬同,具體意義見文中。運(yùn)算符:+:對(duì)其兩邊的數(shù)據(jù)作加法操作:A + B; -:用左邊的數(shù)據(jù)減去右邊的數(shù)據(jù)作;A - B -:對(duì)跟在其后的數(shù)據(jù)作取補(bǔ)操作,即用0減去跟在其后的數(shù)據(jù);- B &:對(duì)其兩邊的數(shù)據(jù)按位作與操作;A & B #:對(duì)其兩邊的數(shù)據(jù)按位作或操作;A # B :
3、對(duì)其兩邊的數(shù)據(jù)按位作異或操作;A B :對(duì)跟在其后的數(shù)據(jù)作按位取反操作; B對(duì)運(yùn)算符的約定只在文中論述的時(shí)候有效。設(shè)計(jì)示例用VerilogHDL 語言實(shí)現(xiàn),所有的東西符合VerilogHDL 語法。如有疑問,請(qǐng)參閱VerilogHDL 資料。1、一位加法器考慮一位全加器。如右圖示真值表,D 、Co 邏輯表達(dá)式為: D = A B Ci(1-1 Co = A & B # A & Ci # B & Ci(1-2 = A & B # (A # B & Ci(1-3不難作出其邏輯圖,此處省略。 一位全加器又稱“保留進(jìn)位加法器”。因其簡單,是研究其它高性能、高速加
4、法器的基礎(chǔ)。因其簡單、快速,是構(gòu)成其它高速處理部件的基本元件。其符號(hào)如右。由真值表可知,若將各位取反,并無影響。2、4位加法器 四位加法器可以采用四個(gè)一位全加器級(jí)連成串行進(jìn)位加法器。如上圖示:對(duì)于這種方式,因高位運(yùn)算必須等低位進(jìn)位來到后才能進(jìn)行。因此,它的延遲非??捎^。高速運(yùn)算肯定無法勝任。對(duì)串行進(jìn)位加法器研究可得:運(yùn)算的延遲是由于進(jìn)位的延遲?;诖耍瑴p小進(jìn)位的延遲非常有效。下面討論的超前進(jìn)位鏈能有效減少進(jìn)位的延遲,它由進(jìn)位門產(chǎn)生進(jìn)位,各進(jìn)位彼此獨(dú)立,不依賴于進(jìn)位傳播。因此,它的延遲非常小、速度非常高。既然進(jìn)位已經(jīng)解決,則加法器值 D = A B C(2-1 不存在問題。由此可見,進(jìn)位的解決是
5、核心。3、4位超前進(jìn)位鏈研究式(1-3Co = A & B # (A # B & Ci(3-1可以看出:若A 、B 均為1,則產(chǎn)生進(jìn)位輸出;若A 、B 存在1,則進(jìn)位輸出依賴于低位進(jìn)位Ci 。換一種說法:若A 、B 均為1,則產(chǎn)生進(jìn)位;若A 、B 存在1,則傳輸(低位 進(jìn)位(Ci。A 、B 、Ci 在本位運(yùn)算,產(chǎn)生本位值D ,向高位進(jìn)位Co 。更一般的:Dn = An Bn Cn(3-2 Cn+1 = An & Bn # (An # Bn & Cn(3-3令:Gn = An & Bn(3-4 Pn = An # Bn(3-5則式(3.-3為:Cn+1 =
6、 Gn # Pn & Cn(3-6這樣,就引入了進(jìn)位產(chǎn)生函數(shù)(G、進(jìn)位傳輸函數(shù)(P。其意義為:若Gn 為1,必定產(chǎn)生進(jìn)位;若Pn 為1,則向高位傳輸(低位 進(jìn)位(Cn, 可認(rèn)為低位進(jìn)位越過本位直接向高位進(jìn)位。此處是否說明仍存在進(jìn)位傳播,使進(jìn)位延遲無法減???以4位超前進(jìn)位鏈為例:C0 = CiC1 = G0 # P0 & C0= G0 # P0 & Ci(3-7 C2 = G1 # P1 & C1= G1 # P1 & G0 # P1 & P0 & Ci(3-8 C3 = G2 # P2 & C2= G2 # P2 & G1
7、 # P2 & P1 & G0 # P2 & P1 & P0 & Ci(3-9 C4 = G3 # P3 & C3= G3 # P3 & G2 # P3 & P2 & G1 # P3 & P2 & P1 & G0 #P3 & P2 & P1 & P0 & Ci(3-10 Co = C4其邏輯圖如下: 可見,將迭代關(guān)系去掉,則各位彼此獨(dú)立,進(jìn)位傳播不復(fù)存在。因此,總的延遲是兩級(jí)門的延遲。其高速也就自不待言。對(duì)式(2-1D = A B C(3-11 = ( A &
8、 B # A & ( B C= ( A & B # A & ( B # ( A & A # ( B & B # A & ( A & B & ( B # ( A & A # ( B & B # A & ( A & B & ( B# ( A & A # ( B & B # A & ( A & B & ( B C = ( A & (A # B # ( B & (A # B # A & B & ( A & ( B C=
9、( A # ( B & (A # B # A & B & ( (A # B C= ( (A & B & (A # B # A & B & ( (A # B C= (A & B (A # B C(3-12= G P C(3-13 可見:D = A B C = G P C = (A & B (A # B C(3-14 此特性對(duì)算術(shù)邏輯部件的設(shè)計(jì)非常有用!4、16位超前進(jìn)位鏈對(duì)4位超前進(jìn)位加法器:二輸入數(shù)據(jù)A 、B ,進(jìn)位輸入Ci ,生成數(shù)據(jù)D ,進(jìn)位Co 。因此,可以用4個(gè)4位超前進(jìn)位進(jìn)位鏈單元串接形成16位進(jìn)位鏈。這存在問題
10、,就是單元內(nèi)雖是超前進(jìn)位,但單元間卻是串行,存在進(jìn)位傳播問題,延遲不會(huì)短,速度也就高不了!從4位超前進(jìn)位鏈得到啟示,能否在單元間實(shí)行超前進(jìn)位?考察第4、8、12、16位的進(jìn)位,會(huì)得到:C4 = G3 # P3 & C3= (G3 # P3 & G2 # P3 & P2 & G1 # P3 & P2 & P1 & G0 #(P3 & P2 & P1 & P0 & Ci(4-1C8 = G7 # P7 & C7= (G7 # P7 & G6 # P7 & P6 & G5 # P7
11、 & P6 & P5 & G4 #(P7 & P6 & P5 & P4 & (G3 # P3 & G2 # P3 & P2 & G1 # P3 & P2 & P1 & G0 #(P7 & P6 & P5 & P4 & (P3 & P2 & P1 & P0 & Ci(4-2C12 = G11 # P11 & C11= (G11 # P11 & G10 # P11 & P10 & G9 # P11 &
12、amp; P10 & P9 & G8 #(P11 & P10 & P9 & P8 & (G7 # P7 & G6 # P7 & P6 & G5 # P7 & P6 & P5 & G4 #(P11 & P10 & P9 & P8 & (P7 & P6 & P5 & P4 &(G3 # P3 & G2 # P3 & P2 & G1 # P3 & P2 & P1 & G0 #(P11 &
13、 P10 & P9 & P8 &(P7 & P6 & P5 & P4 & (P3 & P2 & P1 & P0 & Ci(4-3 C16 = G15 # P15 & C15= (G15 # P15 & G14 # P15 & P14 & G13 # P15 & P14 & P13 & G12 #(P15 & P14 & P13 & P12 &(G11 # P11 & G10 # P11 & P10 &am
14、p; G9 # P11 & P10 & P9 & G8 #(P15 & P14 & P13 & P12 & (P11 & P10 & P9 & P8 &(G7 # P7 & G6 # P7 & P6 & G5 # P7 & P6 & P5 & G4 #(P15 & P14 & P13 & P12 & (P11 & P10 & P9 & P8 &(P7 & P6 & P5 &
15、 P4 & (G3 # P3 & G2 # P3 & P2 & G1 # P3 & P2 & P1 & G0 # (P15 & P14 & P13 & P12 & (P11 & P10 & P9 & P8 &(P7 & P6 & P5 & P4 & (P3 & P2 & P1 & P0 & Ci(4-4令:GX4 = G15 # P15 & G14 # P15 & P14 & G13 #
16、P15 & P14 & P13 & G12(4-5 GX3 = G11 # P11 & G10 # P11 & P10 & G9 # P11 & P10 & P9 & G8(4-6GX2 = G7 # P7 & G6 # P7 & P6 & G5 # P7 & P6 & P5 & G4(4-7 GX1 = G3 # P3 & G2 # P3 & P2 & G1 # P3 & P2 & P1 & G0(4-8PX4 = P15 &
17、amp; P14 & P13 & P12(4-9 PX3 = P11 & P10 & P9 & P8(4-10PX2 = P7 & P6 & P5 & P4(4-11 PX1 = P3 & P2 & P1 & P0(4-12 可得:C4 = GX0 # PX0 & Ci(4-13 C8 = GX1 # PX1 & GX0 # PX1 & PX0 & Ci(4-14 C12 = GX2 # PX2 & GX1 # PX2 & PX1 & GX0 # PX
18、2 & PX1 & PX0 & Ci(4-15 C16 = GX3 # PX3 & GX2 # PX3 & PX2 & GX1 #PX3 & PX2 & PX1 & GX0 # PX3 & PX2 & PX1 & PX0 & Ci(4-16 比較式(4-13(4-16 與式(3-7(3-10 ,可看出:單元間進(jìn)位也可用超前進(jìn)位鏈完成。16位超前進(jìn)位鏈如下: 4位超前進(jìn)位鏈如下: 實(shí)際應(yīng)用中,最高位進(jìn)位一般不直接使用,對(duì)其要求可降低。本圖中,此位需四級(jí)門延遲。綜合考察式(4-5(4-16 及上
19、兩幅圖,可發(fā)現(xiàn)由G 、P 生成GX 、PX 有兩級(jí)門延遲,由GX 、PX 生成單元間進(jìn)位有兩級(jí)門延遲,再需兩級(jí)兩級(jí)門延遲生成最終的進(jìn)位。因此,總共需六級(jí)門延遲。至此,問題已得到解決。5、更多位超前進(jìn)位鏈對(duì)更多位超前進(jìn)位鏈可參照上節(jié),形成多級(jí)超前進(jìn)位鏈樹。以64位超前進(jìn)位鏈為例。可用4位的超前進(jìn)位鏈單元構(gòu)成。第一級(jí)用16個(gè)單元,輸出直接的進(jìn)位;第二級(jí)用4個(gè)單元,用以形成第一級(jí)單元間進(jìn)位;第三級(jí)用1個(gè)單元,為第二級(jí)提供單元間進(jìn)位。這樣,形成進(jìn)位需10級(jí)門延遲:一、二級(jí)間需2,二、三級(jí)間需2,三、二級(jí)間需2,二、一級(jí)間需2,第一級(jí)輸出需2。也可用8位超前進(jìn)位鏈單元構(gòu)成。第一級(jí)用8個(gè)單元,輸出直接的進(jìn)
20、位;第二級(jí)用1個(gè)單元,為第一級(jí)提供單元間進(jìn)位。這樣,形成進(jìn)位需6級(jí)門延遲。實(shí)際上,每增加一級(jí),就需要增加形成GX 、PX 的時(shí)間2,再形成進(jìn)位需時(shí)2,總共增加4。這是否說明后一種方案就一定快!這不一定。需考慮電路中連線延遲、邏輯門的扇入扇出能力、邏輯門的延遲等多方面的因素。再考慮32位、128位超前進(jìn)位鏈,應(yīng)如何實(shí)現(xiàn)。在實(shí)際應(yīng)用中,擬制多種方案,考慮多方面因素,得到最優(yōu)結(jié)果。至此,作為高速加法器的核心超前進(jìn)位鏈的討論已完成。6、算術(shù)運(yùn)算設(shè)計(jì)減法的數(shù)學(xué)表達(dá)式如下:D = A - B - Ci(6-1 按代數(shù)運(yùn)算法則以及補(bǔ)碼的定義可得:D = A - B - Ci(6-2 = A + (- B -
21、 Ci(6-3 = A + ( B + 1 - Ci(6-4 = A + ( B + 1 - Ci(6-5 = A + ( B + (1 Ci(6-6 = A + ( B + ( Ci(6-7由此得出的結(jié)論:從被減數(shù)A 減去減數(shù)B 以及借位Ci ,可以將A 加上將B 的按位取反的值以及將借位Ci 取反的值!加法的數(shù)學(xué)表達(dá)式:D = A + B + Ci(6-8比照式(6-7、(6-8,作出如下結(jié)論:作加法時(shí)將A 、B 、Ci 相加,作減法時(shí)將B 、Ci 取反與A 相加!引入一控制信號(hào):as 。當(dāng)其為0時(shí)作加法操作;當(dāng)其為1時(shí)作減法操作。見下式:D = A + (as ? B : ( B + (
22、as Ci(6-9D = A + (asv B + (as Ci(6-10 在式(6-9中,有一運(yùn)算操作符:? : ;其表達(dá)式為:條件 ? 條件為真選項(xiàng) : 條件為假選項(xiàng)用之,因其為一位信號(hào),不能與位串信號(hào)B 直接操作。在式(6-10 中,有一信號(hào)asv, 它與信號(hào)B 位寬相同,它由信號(hào)as 填充。超前進(jìn)位鏈的輸入值為G 、P 。作加法運(yùn)算時(shí),G 、P 為:G = A & B(6-11 P = A # B(6-12 作減法運(yùn)算時(shí),G 、P 為:G = A & ( B(6-13 P = A # ( B(6-14 對(duì)于可控加減法運(yùn)算G = A & (asv B(6-15 P
23、 = A # (asv B(6-16 至此,算術(shù)運(yùn)算已得到解決!7、邏輯操作設(shè)計(jì)邏輯操作是按位操作,不需要考慮位間進(jìn)位。邏輯操作也就:與、或、異或(同或)三種操作。也很容易地想到:二操作數(shù)A 、B 直接進(jìn)行邏輯操作得到結(jié)果D 。還有一種方法:用G 、P 間接進(jìn)行邏輯操作。參照式(3-14D = A B C = G P C = (A & B (A # B C(7-1 邏輯操作表達(dá)式D = A B = G P = (A & B (A # B(7-2對(duì)于與操作:D = A & B = G(7-3對(duì)于或操作:D = A # B = P(7-4對(duì)于異或操作:D = A B = G
24、 P(7-5引入一二位控制信號(hào):lc 。當(dāng)其為00時(shí),作與操作;當(dāng)其為01時(shí),作或操作;當(dāng)其為1X 時(shí),作異或操作。G = ( (lc = 01 ? (A & B : 0(7-6 P = ( (lc = 00 ? (A # B : 0(7-7D = G P(7-8對(duì)這兩種方法,我現(xiàn)在無從評(píng)測。我傾向于采用后一種。當(dāng)然這樣一來,多了一道環(huán)節(jié),延遲不會(huì)沒有。8、標(biāo)識(shí)位任何一步算術(shù)邏輯操作都會(huì)產(chǎn)生各種各樣的標(biāo)識(shí)位。最主要的有:零標(biāo)識(shí)、進(jìn)位標(biāo)識(shí)、符號(hào)標(biāo)識(shí)、溢出標(biāo)識(shí)。若結(jié)果為零置零標(biāo)識(shí),或者說若待檢測數(shù)據(jù)為零則置零標(biāo)識(shí)。檢測也不一定在此,可以在數(shù)據(jù)通路上檢測。符號(hào)標(biāo)識(shí)的設(shè)置有兩種:一是跟蹤結(jié)果的
25、符號(hào)位,即結(jié)果的最高位;二是使用擴(kuò)展符號(hào)位,即:將二操作數(shù)作符號(hào)擴(kuò)展一位,此時(shí)結(jié)果的最高位即用于設(shè)置符號(hào)標(biāo)識(shí)。在此討論進(jìn)位標(biāo)識(shí)的設(shè)置,首先說明一下幾個(gè)名詞:進(jìn)位、借位、進(jìn)位標(biāo)識(shí)、原進(jìn)位。進(jìn)位、借位是我們通常意義上的東西;進(jìn)位標(biāo)識(shí)跟蹤進(jìn)位、借位。原進(jìn)位是指進(jìn)位鏈上最高位。加法操作時(shí),可能會(huì)產(chǎn)生進(jìn)位,因?yàn)榻Y(jié)果可能會(huì)超出了表數(shù)范圍,這在原進(jìn)位上會(huì)表現(xiàn)出來。加法時(shí),標(biāo)識(shí)位的設(shè)置,只需要跟蹤原進(jìn)位即行。我們知道,0減去任何不為0的數(shù),都會(huì)借位;0減去0,不會(huì)借位。遺憾的是,進(jìn)位鏈上并不是如此表現(xiàn)。0減去一不為0的數(shù)B ,G 為0。B 不為0,則其位串中必定有1,將B 取反,此時(shí)位串中必定有0,P 位串中
26、也必定有0。因此,原進(jìn)位必定為0。0減去0,即為0加上B 取反的值及1,實(shí)際上,1是作為進(jìn)位引入的。此時(shí)G 為0。B 取反,此時(shí)位串全為1,P 位串也全為1,原進(jìn)位跟蹤最初輸入的進(jìn)位,其正為1。因此,原進(jìn)位必定為1??梢钥吹?,原進(jìn)位上的表現(xiàn)與實(shí)際的借位正好相反。現(xiàn)在的討論是:被減數(shù)為0,非常特殊。見下式:D = A - B(8-1 = (0 + A + (0 - B(8-2(0 + A原進(jìn)位必會(huì)為0。所以:作減法時(shí),進(jìn)位標(biāo)識(shí)的設(shè)置是將原進(jìn)位取反。溢出標(biāo)識(shí)位的設(shè)置:作加法時(shí),若二操作數(shù)符號(hào)相同,而結(jié)果符號(hào)相反,則置;作減法時(shí),若減數(shù)、結(jié)果符號(hào)相同,而被減數(shù)符號(hào)相反,則置。加法時(shí)G = A &am
27、p; B(8-3 P = A # B(8-4D = G P C(8-5以A msb 表示數(shù)據(jù)A 的最高位,以A msb+1表示數(shù)據(jù)A 的擴(kuò)展最高位。OV = Amsb & Bmsb & ( Dmsb # ( Amsb & ( Bmsb & Dmsb(8-6 = Gmsb & ( (Gmsb Pmsb Cmsb # ( Pmsb & (Gmsb Pms b Cmsb (8-7= Gmsb & ( Cmsb # ( Pmsb & Cmsb(8-8參見式(3-6Cmsb+1 Cmsb = (Gmsb # Pmsb & Cmsb
28、Cmsb(8-9 = Gmsb & ( Cmsb # ( Gmsb & ( Pmsb & Cmsb= Gmsb & ( Cmsb # ( (Gmsb # Pmsb & Cmsb (8-10 = Gmsb & ( Cmsb # ( (Amsb & Bmsb # (Amsb # Bmsb & Cmsb= Gmsb & ( Cmsb # ( (Amsb # Bmsb & Cmsb= Gmsb & ( Cmsb # ( Pmsb & Cmsb (8-11 可以看到:式(8-8、(8-11 相等??芍杭臃〞r(shí)
29、:OV = Cmsb+1 Cmsb(8-12 減法時(shí)G = A & ( B(8-13 P = A # ( B(8-14D = G P C(8-15OV = Amsb & ( Bmsb & ( Dmsb # ( Amsb & Bmsb & Dmsb(8-16 = Gmsb & ( (Gmsb Pmsb Cmsb # ( Pmsb & (Gmsb Pmsb Cmsb (8-17= Gmsb & ( Cmsb # ( Pmsb & Cmsb(8-18參見式(3-6Cmsb+1 Cmsb = (Gmsb # Pmsb &
30、Cmsb Cmsb(8-19 = Gmsb & ( Cmsb # ( Gmsb & ( Pmsb & Cmsb= Gmsb & ( Cmsb # ( (Gmsb # Pmsb & Cmsb (8-20 = Gmsb & ( Cmsb # ( (Amsb & ( Bmsb # (Amsb # ( Bmsb & Cmsb = Gmsb & ( Cmsb # ( (Amsb # ( Bmsb & Cmsb= Gmsb & ( Cmsb # ( Pmsb & Cmsb(8-21 可以看到:式(8-18 、(
31、8-21 相等??芍簻p法時(shí):OV = Cmsb+1 Cmsb(8-22所以:OV = Cmsb+1 Cmsb(8-23至此,算術(shù)邏輯部件設(shè)計(jì),理論上的東西已全部解決!9、設(shè)計(jì)示例1 16位7功能算術(shù)邏輯部件在上面的討論中,我們注意到一個(gè)熱點(diǎn):G 、P 。其實(shí),超前進(jìn)位鏈?zhǔn)菢?biāo)準(zhǔn)的,算術(shù)邏輯部件設(shè)計(jì)最主要的工作是設(shè)計(jì)G 、P 函數(shù)!這里用兩節(jié)篇幅示例算術(shù)邏輯部件的設(shè)計(jì)。本節(jié)示例:設(shè)計(jì)一16位7功能算術(shù)邏輯部件。輸入:二數(shù)據(jù):A 、B ,進(jìn)位;Ci ;輸出:結(jié)果:D ,標(biāo)識(shí)位:進(jìn)位CF 、零標(biāo)識(shí)ZF 、擴(kuò)展符號(hào)SF 、溢出OF 。功能控制:Fc :000:A + B;001:A B;010:A +
32、 B + Ci;011:A - B - Ci;100:A & B;101:A # B;110:A B;111:A B;要求盡量高速。盡量高速,用超前進(jìn)位鏈;數(shù)據(jù)寬度為16位,用4位超前進(jìn)位鏈搭建。module ALU_Demo_1 (A,B,Ci,/D,/Fc,/cf,zf,sf,of/;input 15:0 A,B;input Ci;output15:0 D;input 2:0 Fc;output cf,zf,sf,of;reg 15:0 G,P;wire 16:0 C;/ Fc G P Cp Descript/ 000 A & B A | B 0 A + B/ 001 A
33、& ( B A | ( B1 A - B/ 010 A & B A | B Ci A + B + Ci/ 011 A & ( B A | ( B ( Ci A - B - Ci/ 100 A & B 0 X A & B/ 101 0 A | B X A | B/ 110 A & B A | B X A B/ 111 A & B A | B X A B/-generat the Galways (Fc or A or Bcasex(Fc3'b000: G = A & B;3'b001: G = A & ( B
34、;3'b010: G = A & B;3'b011: G = A & ( B;3'b100: G = A & B;3'b101: G = 161'b0;3'b110: G = A & B;3'b111: G = A & B;default: G = A & B;endcase/-generat the Palways (Fc or A or Bcasex(Fc3'b000: P = A | B;3'b001: P = A | ( B;3'b010: P = A | B
35、;3'b011: P = A | ( B;3'b100: P = 161'b0;3'b101: P = A | B;3'b110: P = A | B;3'b111: P = A | B;default: P = A | B;endcase/-generat the C in leading carry linkwire Cp;wire 3:0 Gl,Pl;wire 4:1 Cx;wire 16:1 Ct;assign Cp = (Ci & Fc1 Fc0;Carry_Leading_4 CL0 (G 3: 0,P 3: 0,Cp ,Ct
36、 4: 1,Gl0,Pl0;Carry_Leading_4 CL1 (G 7: 4,P 7: 4,Cx1,Ct 8: 5,Gl1,Pl1;Carry_Leading_4 CL2 (G11: 8,P11: 8,Cx2,Ct12: 9,Gl2,Pl2;Carry_Leading_4 CL3 (G15:12,P15:12,Cx3,Ct16:13,Gl3,Pl3;Carry_Leading_4 CLX (Gl 3:0,Pl 3:0,Cp,Cx 4:1,;/assign C = Ct,Cp;assign C = Cx4,Ct15:13,Cx3,Ct11:9,Cx2,Ct7:5,Cx1,Ct3:1,Cp;
37、/-generate the resultassign D = G P ( Fc2 ? C15:0 : 161'b0;assign cf = (C16 Fc0 & ( Fc2;assign zf = ! D;assign sf = G15 P15 ( Fc2 & C16;assign of = (C15 C16 & ( Fc2;endmodulemodule Carry_Leading_4 (G,P,Ci,C,Gl,Pl;input 3:0 G,P;output 4:1 C;input Ci;output Gl,Pl;wire 3:0 G,P;wire 4:1
38、C;wire Ci;wire Gl,Pl;assign C1 = G0 | P0 & Ci;assign C2 = G1 | P1 & G0 | P1 & P0 & Ci;assign C3 = G2 | P2 & G1 | P2 & P1 & G0 | P2 & P1 & P0 & Ci;assign C4 = Gl | Pl & Ci;assign Gl = G3 | P3 & G2 | P3 & P2 & G1 | P3 & P2 & P1 & G0;a
39、ssign Pl = P3 & P2 & P1 & P0;endmodule10、設(shè)計(jì)示例2 4位16功能算術(shù)邏輯部件本節(jié)示例:設(shè)計(jì)一4位16功能算術(shù)邏輯部件。輸入:二數(shù)據(jù):A 、B ,進(jìn)位;Ci ;輸出:結(jié)果:D ,標(biāo)識(shí)位:進(jìn)位CF 、零標(biāo)識(shí)ZF 、擴(kuò)展符號(hào)SF 、溢出OF 。功能控制:Fc :0000:B ;0001:B + 1;0010:A + B + Ci;0011:A + B;0100: B;0101:- B;0110:A - B + Ci - 1;0111:A - B;1000:B - 1;1001:B A;1010:B A + Ci - 1;1011: A
40、;1100:A & B;1101:A # B;1110:A B;1111:abs A;要求盡量高速。出現(xiàn)在功能表中有一如下操作:D = A - B + Ci 1= A + (- B + Ci 1= A + ( B + 1 + Ci 1= A + ( B + Cimodule ALU_Demo_2 (A,B,Ci,/D,/Fc,/cf,zf,sf,of/;input 3:0 A,B;input Ci;output 3:0 D;input 3:0 Fc;output cf,zf,sf,of;reg 3:0 G,P;reg 4:0 C;wire ol;/logic operate if it
41、 is '1'wire so;/subtract operate when it is '1'/ D = A - B + Ci - 1/ = A + (- B + Ci - 1/ = A + ( B + 1 + Ci - 1/ = A + ( B + Ci/Function table & it descript in other word/ Fc Descript ow T/ 0000 B 0 + B + 0 0 + B + 0/ 0001 B + 1 0 + B + 1 0 + B + 1/ 0010 A + B + Ci A + B + Ci A
42、+ B + Ci/ 0011 A + B A + B A + B/ 0100 B 0 - B - 1 0 + ( B/ 0101 - B 0 - B 0 + ( B + 1/ 0110 A - B + Ci - 1 A - B + Ci -1 A + ( B + Ci/ 0111 A - B A - B A + ( B +1/ 1000 B - 1 B - 0 -1 ( 0 + B/ 1001 B - A B - A ( A + B +1/ 1010 B - A + Ci - 1 B - A + Ci -1 ( A + B + Ci/ 1011 A 0 - A -1 ( A + 0/ 1100
43、 A & B A & B A & B/ 1101 A | B A | B A | B/ 1110 A B A B A B/ 1111 abs A (0 - A / (0 + A (A3 ? ( A : A + 0 + (A3/-generat the G/ G = oa & obalways (Fc or A or Bcasex(Fc4'b0000: G = 4'b0000; /oa = 0; ob = B; cp = 0; 4'b0001: G = 4'b0000; /oa = 0; ob = B; cp = 1; 4'
44、b0010: G = A & B; /oa = A; ob = B; cp = Ci; 4'b0011: G = A & B; /oa = A; ob = B; cp = 0; 4'b0100: G = 4'b0000; /oa = 0; ob = ( B; cp = 0; 4'b0101: G = 4'b0000; /oa = 0; ob = ( B; cp = 1; 4'b0110: G = A & ( B; /oa = A; ob = ( B; cp = Ci 4'b0111: G = A & ( B
45、; /oa = A; ob = ( B; cp = 1; 4'b1000: G = B; /oa = ( 0; ob = B; cp = 0; 4'b1001: G = ( A & B; /oa = ( A; ob = B; cp = 1;4'b1010: G = ( A & B; /oa = ( A; ob = B; cp = Ci; 4'b1011: G = 0; /oa = ( A; ob = 0; cp = 0; 4'b1100: G = A & B; /oa = A; ob = B; cp = x; 4'b110
46、1: G = 4'b0000; /oa = A; ob = B; cp = x; 4'b1110: G = A & B; /oa = A; ob = B; cp = x; 4'b1111: G = 4'b0000; /oa = (A3 ? ( A : A; ob = 0; cp = A3; default: G = 4'bxxxx; /oa = X; ob = X; cp = x; endcase/-generat the P/ P = oa | obalways (Fc or A or Bcasex(Fc4'b0000: P = B;
47、/oa = 0; ob = B; cp = 0; 4'b0001: P = B; /oa = 0; ob = B; cp = 1; 4'b0010: P = A | B; /oa = A; ob = B; cp = Ci; 4'b0011: P = A | B; /oa = A; ob = B; cp = 0; 4'b0100: P = ( B; /oa = 0; ob = ( B; cp = 0; 4'b0101: P = ( B; /oa = 0; ob = ( B; cp = 1; 4'b0110: P = A | ( B; /oa = A
48、; ob = ( B; cp = Ci; 4'b0111: P = A | ( B; /oa = A; ob = ( B; cp = 1; 4'b1000: P = 4'b1111; /oa = ( 0; ob = B; cp = 0; 4'b1001: P = ( A | B; /oa = ( A; ob = B; cp = 1; 4'b1010: P = ( A | B; /oa = ( A; ob = B; cp = Ci; 4'b1011: P = ( A; /oa = ( A; ob = 0; cp = 0; 4'b1100:
49、P = 4'b0000; /oa = A; ob = B; cp = x; 4'b1101: P = A | B; /oa = A; ob = B; cp = x; 4'b1110: P = A | B; /oa = A; ob = B; cp = x; 4'b1111: P = (A3 ? ( A : A; /oa = (A3 ? ( A : A; ob = 0; cp = A3; default: P = 4'bxxxx; /oa = X; ob = X; cp = x; endcase/-generat the Ci/ P = oa | obalw
50、ays (Fc or A or Bcasex(Fc4'b0000: C0 = 1'b0; /oa = 0; ob = B; cp = 0; 4'b0001: C0 = 1'b 1; /oa = 0; ob = B; cp = 1; 4'b0010: C0 = Ci; /oa = A; ob = B; cp = Ci; 4'b0011: C0 = 1'b0; /oa = A; ob = B; cp = 0; 4'b0100: C0 = 1'b0; /oa = 0; ob = ( B; cp = 0; 4'b0101:
51、 C0 = 1'b 1; /oa = 0; ob = ( B; cp = 1; 4'b0110: C0 = Ci; /oa = A; ob = ( B; cp = Ci; 4'b0111: C0 = 1'b 1; /oa = A; ob = ( B; cp = 1; 4'b1000: C0 = 1'b0; /oa = ( 0; ob = B; cp = 0; 4'b1001: C0 = 1'b 1; /oa = ( A; ob = B; cp = 1; 4'b1010: C0 = Ci; /oa = ( A; ob = B; cp = Ci; 4'b1011: C0 = 1'b0; /oa = ( A; ob = 0; cp = 0; 4'b1100: C0 = 1'bx; /oa = A; ob =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《骨腫瘤x線表現(xiàn)》課件
- 《城市工程改造倫理》課件
- 合伙開臺(tái)球廳合同協(xié)議書
- 《顯像管電路-習(xí)題》課件
- 2025年淮安貨運(yùn)資格證考題
- 2025年寧德貨運(yùn)從業(yè)資格證模擬考試題
- 2025年成都貨運(yùn)從業(yè)資格證考題500道題
- 2025年南京貨運(yùn)從業(yè)資格試題答案解析
- 第七單元 語文園地七-人教部編版(含答案)
- 醫(yī)院建設(shè)變更協(xié)議
- 征信數(shù)據(jù)質(zhì)量自查報(bào)告銀行
- PICC和CVC規(guī)范化維護(hù)及注意事項(xiàng)
- 人教部編版三年級(jí)上冊語文【選擇題】專項(xiàng)復(fù)習(xí)訓(xùn)練練習(xí)100題
- 停車場車牌識(shí)別道閘系統(tǒng)施工安裝
- 巴以沖突課件
- 法定代表人身份證明書-模板
- 酒店監(jiān)控室管理制度
- 工程部研發(fā)部KPI績效考核指標(biāo)匯總(定性)
- 光伏斜屋頂計(jì)算書屋頂光伏電站項(xiàng)目荷載計(jì)算書
- 新蘇教版四年級(jí)上冊科學(xué)第三單元《常見的力》全部課件(含4課時(shí))
- 建筑垃圾再生利用方案PPT模板
評(píng)論
0/150
提交評(píng)論