<tt id="a3jom"></tt>
    1. <tt id="a3jom"><noscript id="a3jom"></noscript></tt>

        <tt id="a3jom"></tt>

        薛宏熙數字邏輯設計cha1課件

        上傳人:痛*** 文檔編號:176824270 上傳時間:2022-12-24 格式:PPT 頁數:76 大?。?.44MB
        收藏 版權申訴 舉報 下載
        薛宏熙數字邏輯設計cha1課件_第1頁
        第1頁 / 共76頁
        薛宏熙數字邏輯設計cha1課件_第2頁
        第2頁 / 共76頁
        薛宏熙數字邏輯設計cha1課件_第3頁
        第3頁 / 共76頁
        資源描述:

        《薛宏熙數字邏輯設計cha1課件》由會員分享,可在線閱讀,更多相關《薛宏熙數字邏輯設計cha1課件(76頁珍藏版)》請在裝配圖網上搜索。

        1、2008.112008.11薛宏熙數字邏輯設計cha11第第4章章 數的表示方法和算術運算電路數的表示方法和算術運算電路【課前思考】【課前思考】【學習指南】【學習指南】4.1數制和編碼數制和編碼4.2無符號數的加法運算無符號數的加法運算4.3有符號數的表示方法和算術運算有符號數的表示方法和算術運算4.4用用EDA工具設計算術運算電路示例工具設計算術運算電路示例【本章小結】【本章小結】2008.112008.11薛宏熙數字邏輯設計cha124.1數制和編碼數制和編碼 日常生活中最常見的數據表示形式是十進制數,與此日常生活中最常見的數據表示形式是十進制數,與此同時也存在大量的其它數制。例如同時也存

        2、在大量的其它數制。例如 12英寸為英寸為1英尺是十二進制;英尺是十二進制;60秒為秒為1分鐘是六十進制;分鐘是六十進制;24小時為小時為1天是二十四進制天是二十四進制。數字電路只可能有數字電路只可能有2個穩定狀態(個穩定狀態(H/L),因此數字),因此數字系統內部采用二進制數也合乎邏輯。系統內部采用二進制數也合乎邏輯。把數據轉換為一組代碼(這里特指二進制代碼)稱為把數據轉換為一組代碼(這里特指二進制代碼)稱為編碼。編碼。2008.112008.11薛宏熙數字邏輯設計cha13數的位置表示法數的位置表示法 十進制數十進制數2758.12可以表示為:可以表示為:(2758.12)10=2 103+

        3、7 102+5 101+8 100+1 10-1+2 10-2 十進制數的一般形式十進制數的一般形式:(D)10=dn-1dn-2did1d0.d-1d-m 可以表示為:可以表示為:式(式(4-1)中)中:下標下標 i 代表數字代表數字d i 的的位置位置,p i是十進制數第是十進制數第i 位數字的位數字的權權。十進制數中每一位十進制數中每一位d i有有10種可能的取值,并且其權重為種可能的取值,并且其權重為10的的冪,故稱其為冪,故稱其為以以10為基為基的數。的數。11010)(nmiiidD)14(10)(110iinmiiipdpD式中2008.112008.11薛宏熙數字邏輯設計cha

        4、14數的位置表示法(續)數的位置表示法(續)二進制數的一般形式二進制數的一般形式:式(式(4-2)中)中:下標下標 i 代表數字代表數字b i 的的位置位置,p i 是二進制數第是二進制數第 i 位數字的位數字的權權。二進制數中每一位二進制數中每一位 b i有有 2 種可能的取值,并且其權重為種可能的取值,并且其權重為 2 的的冪,故稱其為冪,故稱其為以以2為基為基的數。的數。122)(nmiiibB)24(2)(12iinmiiipbpB式中2008.112008.11薛宏熙數字邏輯設計cha15數的位置表示法(續)數的位置表示法(續)r 進制數的一般形式進制數的一般形式:式(式(4-3)中

        5、)中:下標下標 i 代表數字代表數字s i 的的位置位置,p i 是是 r 進制數第進制數第 i 位數字的位數字的權權。r 進制數中每一位進制數中每一位 s i有有 r 種可能的取值,并且其權重為種可能的取值,并且其權重為 r 的冪,故的冪,故稱其為稱其為以以 r 為基為基的數。的數。1)(nmiiirsrS)34()(1iinmiiirrpspS式中2008.112008.11薛宏熙數字邏輯設計cha16數的位置表示法(續)數的位置表示法(續)r 進制數進制數 第第 i 位數字位數字si 的權值為的權值為pi,屬于,屬于有權編碼有權編碼。(與此相對的是無權編碼)(與此相對的是無權編碼)數字系

        6、統中常用的數制數字系統中常用的數制:提醒:二進制數中某一位提醒:二進制數中某一位b i 的單位為比特(的單位為比特(bit),比特的取值可為),比特的取值可為 0 或或 1,這里的,這里的 0 或或 1 具有數值的意義。第具有數值的意義。第1章中談及布爾函數和布爾變量時,章中談及布爾函數和布爾變量時,布爾變量的取值也可用布爾變量的取值也可用 0 或或 1 表示,但那時表示,但那時 0 的含義是假,的含義是假,1 的含義是的含義是真。真。2008.112008.11薛宏熙數字邏輯設計cha17二進制數與十進制數的相互轉換二進制數與十進制數的相互轉換 二進制數轉換為十進制數:二進制數轉換為十進制數

        7、:式(式(4-2)是二進制數與十進制數相互轉換的數學基礎是二進制數與十進制數相互轉換的數學基礎 例:例:)24(2)(12iinmiiipbpB式中2008.112008.11薛宏熙數字邏輯設計cha18二進制數與十進制數的相互轉換(續)二進制數與十進制數的相互轉換(續)十進制數轉換為二進制數十進制數轉換為二進制數:通常把通常把整數部分整數部分與與小數部分小數部分分別處理分別處理 整數部分整數部分:(1)將十進制整數除以)將十進制整數除以2,所得余數即為對應二進制數最低位的值;,所得余數即為對應二進制數最低位的值;(2)將上次所得商再除以)將上次所得商再除以2,所得余數即為對應二進制數次低位的

        8、值;,所得余數即為對應二進制數次低位的值;(3)重復執行第()重復執行第(2)步的操作,直到商為)步的操作,直到商為 0 時為止。余數構成二進時為止。余數構成二進制數每一位的值。制數每一位的值。例:例:(45)10=(101101)22008.112008.11薛宏熙數字邏輯設計cha19二進制數與十進制數的相互轉換(續)二進制數與十進制數的相互轉換(續)十進制數轉換為二進制數十進制數轉換為二進制數:整數部分轉換簡略的形式:整數部分轉換簡略的形式:除數 2 被除數/商 余數 2 45 .1 2 22 .0 2 11 .1 2 5 .1 2 2 .0 2 1 .1 低位 高位 0 例:(例:(4

        9、5)10=(101101)22008.112008.11薛宏熙數字邏輯設計cha110二進制數與十進制數的相互轉換(續)二進制數與十進制數的相互轉換(續)十進制數轉換為二進制數(續)十進制數轉換為二進制數(續):小數部分小數部分:(1)將十進制小數乘以)將十進制小數乘以2,所得乘積的整數部分(,所得乘積的整數部分(0或或1)即為對應二)即為對應二進制小數最高位的值;進制小數最高位的值;(2)將上次所得乘積的小數部分再乘以)將上次所得乘積的小數部分再乘以2,所得乘積的整數部分即為,所得乘積的整數部分即為對應二進制小數次高位的值;對應二進制小數次高位的值;(3)重復執行第()重復執行第(2)步的操

        10、作,直到乘積的小數部分為)步的操作,直到乘積的小數部分為0或所得小數或所得小數部分已滿足精度要求時為止。部分已滿足精度要求時為止。例:例:(0.6875)10=(0.1011)2 乘積的整數部分即乘積的整數部分即 二進制數的小數部分二進制數的小數部分 十進制數十進制數 的小數部分的小數部分 乘以乘以 2 0.6875(2 高位 1 0.3750(2 0 0.7500(2 1 0.5000(2 低位 1 0.0000 2008.112008.11薛宏熙數字邏輯設計cha111二進制數與八進制數的相互轉換二進制數與八進制數的相互轉換 八進制數的二進制編碼八進制數的二進制編碼:3位二進制數對應于位二

        11、進制數對應于1 位八進制數位八進制數2008.112008.11薛宏熙數字邏輯設計cha112二進制數與八進制數的相互轉換(續)二進制數與八進制數的相互轉換(續)二進制數轉換為八進制數:二進制數轉換為八進制數:3位二進制數對應于位二進制數對應于1 位八進制數,轉換算法非常簡單:位八進制數,轉換算法非常簡單:(1)以小數點為分界線,分別向左和向右每)以小數點為分界線,分別向左和向右每 3 位看作一組位看作一組。注意,遇到不足注意,遇到不足3 位時將其補足位時將其補足3 位,向左擴展時向高位補位,向左擴展時向高位補 0,向右,向右擴展時向低位補擴展時向低位補 0。(2)把每一組的二進制碼替換為對應

        12、的八進制碼。)把每一組的二進制碼替換為對應的八進制碼。例例:2008.112008.11薛宏熙數字邏輯設計cha113二進制數與八進制數的相互轉換(續)二進制數與八進制數的相互轉換(續)八進制數轉換為二進制數:八進制數轉換為二進制數:(1)以小數點為分界線,分別向左和向右對每一八進制)以小數點為分界線,分別向左和向右對每一八進制碼進行轉換。碼進行轉換。(2)把每一八進制碼替換為對應的二進制碼。)把每一八進制碼替換為對應的二進制碼。注意注意,轉換后的二進制碼必須是,轉換后的二進制碼必須是 3 位,例如位,例如 28應轉換為應轉換為0102,而不是,而不是102。例例:2008.112008.11

        13、薛宏熙數字邏輯設計cha114二進制數與十六進制數的相互轉換二進制數與十六進制數的相互轉換 十六進制數的二進制編碼十六進制數的二進制編碼:4位二進制數對應于位二進制數對應于1 位十六進制數位十六進制數2008.112008.11薛宏熙數字邏輯設計cha115二進制數與十六進制數的相互轉換(續)二進制數與十六進制數的相互轉換(續)二進制數轉換為十六進制數:二進制數轉換為十六進制數:4位二進制數對應于位二進制數對應于1 位十六進制數,轉換算法非常簡單:位十六進制數,轉換算法非常簡單:(1)以小數點為分界線,分別向左和向右每)以小數點為分界線,分別向左和向右每 4 位看作一組位看作一組。注意注意:遇

        14、到不足:遇到不足4 位時將其補足位時將其補足4 位,向左擴展時向高位補位,向左擴展時向高位補 0,向右,向右擴展時向低位補擴展時向低位補 0。(2)把每一組的二進制碼替換為對應的十六進制碼。)把每一組的二進制碼替換為對應的十六進制碼。例例:2008.112008.11薛宏熙數字邏輯設計cha116二進制數與十六進制數的相互轉換(續)二進制數與十六進制數的相互轉換(續)十六十六進制數轉換為二進制數:進制數轉換為二進制數:(1)以小數點為分界線,分別向左和向右對每一十六進)以小數點為分界線,分別向左和向右對每一十六進制碼進行轉換。制碼進行轉換。(2)把每一十六進制碼替換為對應的二進制碼。)把每一十

        15、六進制碼替換為對應的二進制碼。注意注意,轉換后的二進制碼必須是,轉換后的二進制碼必須是 4 位,位,例如例如316 應轉應轉換為換為00112,而不是,而不是112。例例:2008.112008.11薛宏熙數字邏輯設計cha117十進制數的二進制編碼十進制數的二進制編碼 用二進制代碼表示十進制數稱為用二進制代碼表示十進制數稱為二二 十進制碼十進制碼或或BCD碼(碼(Binary Coded Decimal,BCD)。)。4位二進制代碼可以代表位二進制代碼可以代表24=16種狀態,而十進制數只種狀態,而十進制數只需要需要10種狀態,因此需要舍棄其中種狀態,因此需要舍棄其中6種狀態不用。種狀態不用

        16、。8421碼碼:8421分別代表各位的權值。分別代表各位的權值。最高位的權值為最高位的權值為8、次高位為、次高位為4、再次為、再次為2、最低位為、最低位為1。2008.112008.11薛宏熙數字邏輯設計cha118十進制數的二進制編碼(續)十進制數的二進制編碼(續)余余3碼:是一種無權碼碼:是一種無權碼。二二進進制制 編編碼碼 對對應應的的 十十進進制制數數 0000 舍棄不用 0001 舍棄不用 0010 舍棄不用 0011 0 0100 1 0101 2 0110 3 0111 4 1000 5 1001 6 1010 7 1011 8 1100 9 1101 舍棄不用 1110 舍棄不

        17、用 1111 舍棄不用 互為反碼 2008.112008.11薛宏熙數字邏輯設計cha119十進制數的二進制編碼(續)十進制數的二進制編碼(續)十進制數的有權編碼示例十進制數的有權編碼示例:2008.112008.11薛宏熙數字邏輯設計cha120格雷碼格雷碼 格雷碼是一種無權碼,其格雷碼是一種無權碼,其特點為特點為任何任何2個相鄰的代碼個相鄰的代碼之間只在某之間只在某1位上取值不同位上取值不同。此特點在某些場合特別有此特點在某些場合特別有用,可以減少代碼變換過用,可以減少代碼變換過程中發生錯誤的機會,是程中發生錯誤的機會,是一種高可靠性編碼。一種高可靠性編碼。右圖為右圖為二進制數反射二進制數

        18、反射格雷格雷碼。碼。反射碼和二進制數之間反射碼和二進制數之間的對應關系:的對應關系:二進制數二進制數 b3b2b1b0 格雷碼格雷碼 g3g2g1g0 0000 0000 0001 0001 0010 0011 0011 0010 0100 0110 0101 0111 0110 0101 0111 0100 1000 1100 1001 1101 1010 1111 1011 1110 1100 1010 1101 1011 1110 1001 1111 1000 )(441iiibbg2008.112008.11薛宏熙數字邏輯設計cha121格雷碼(續)格雷碼(續)十進制數反射格雷碼示例:

        19、十進制數反射格雷碼示例:十進制數十進制數 格雷碼格雷碼 0 0000 1 0001 2 0011 3 0010 4 0110 5 1110 6 1010 7 1011 8 1001 9 1000 2008.112008.11薛宏熙數字邏輯設計cha122字符編碼字符編碼 數字系統中,數字系統中,0和和1不僅可以代表數字,而且可以進行不僅可以代表數字,而且可以進行組合用于表示字母、運算符以及控制符等。組合用于表示字母、運算符以及控制符等。為了在各種數字系統之間方便地交換信息,必須使用為了在各種數字系統之間方便地交換信息,必須使用統一的編碼方案,目前被廣泛使用的是統一的編碼方案,目前被廣泛使用的是

        20、ASCII碼。碼。(American Standard Code for Information Interchange)ASCII碼由碼由7位二進制代碼組成,共位二進制代碼組成,共27=128個字符:個字符:英文字母英文字母:大寫、小寫字母各:大寫、小寫字母各26個,共個,共52個;個;數字數字(0 9):):10個;個;專用符號專用符號:34個;個;控制符號控制符號:32個。個。2008.112008.11薛宏熙數字邏輯設計cha123字符編碼字符編碼 ASCII碼碼2008.112008.11薛宏熙數字邏輯設計cha124奇偶校驗碼奇偶校驗碼 奇偶校驗編碼的規則:奇偶校驗編碼的規則:奇校

        21、驗編碼:編碼結果中含奇數個奇校驗編碼:編碼結果中含奇數個1。偶校驗編碼:編碼結果中含偶數個偶校驗編碼:編碼結果中含偶數個1。例:例:原始數據 b6b5b4b3b2b1b0 奇校驗編碼結果 b7b6b5b4b3b2b1b0 偶校驗編碼結果 b7b6b5b4b3b2b1b0 0000000 10000000 00000000 1111111 01111111 11111111 0101010 00101010 10101010 1110001 11110001 01110001 2008.112008.11薛宏熙數字邏輯設計cha125奇偶校驗碼(續)奇偶校驗碼(續)奇偶校驗碼是一種最簡單的、能發

        22、現某些錯誤的編碼奇偶校驗碼是一種最簡單的、能發現某些錯誤的編碼。應用舉例:信息發送應用舉例:信息發送/接收過程中采用偶校驗檢錯接收過程中采用偶校驗檢錯:2008.112008.11薛宏熙數字邏輯設計cha126奇偶校驗碼(續)奇偶校驗碼(續)以偶校驗編碼為例以偶校驗編碼為例,說明,說明數據編碼、傳送及檢錯數據編碼、傳送及檢錯的過程:的過程:發送方給原始數據發送方給原始數據b6b5b4b3b2b1b0增加增加1個偶校驗位個偶校驗位b7,構成,構成 8位位的偶校驗編碼。的偶校驗編碼。b7=b6 b5 b4 b3 b2 b1 b0 (4-5)發送方把發送方把8位的偶校驗編碼位的偶校驗編碼b7b6b5

        23、b4b3b2b1b0發送出去。發送出去。接收方收到接收方收到8位的偶校驗編碼位的偶校驗編碼 b7b6b5b4b3b2b1b0。接收方校驗電路的輸出信號為接收方校驗電路的輸出信號為check,用來檢查,用來檢查8位數據中取值位數據中取值為為1的個數是否為偶數:的個數是否為偶數:check=b7 b6 b5 b4 b3 b2 b1 b0 (4-6)若為偶數(若為偶數(check=0),表明數據傳送過程中沒有發生錯誤,簡單),表明數據傳送過程中沒有發生錯誤,簡單地將偶校驗位去掉即得原始數據;地將偶校驗位去掉即得原始數據;若為奇數(若為奇數(check=1),表明數據傳送過程中發生錯誤,接收方發),表

        24、明數據傳送過程中發生錯誤,接收方發出報警信號。出報警信號。2008.112008.11薛宏熙數字邏輯設計cha127奇偶校驗碼(續)奇偶校驗碼(續)偶校驗的形成及校驗電路偶校驗的形成及校驗電路:根據式(根據式(4-5)可以得到發送方的偶校驗位()可以得到發送方的偶校驗位(b7)形成電路;)形成電路;根據式(根據式(4-6)可以得到接收方的偶校驗()可以得到接收方的偶校驗(check)電路)電路 b6 b5 b4 b3 b2 b1 b0 b7 b6 b5 b4 b3 b2 b1 b0 check b7(b)接收方(a)發送方 2008.112008.11薛宏熙數字邏輯設計cha128 輸 入 輸

        25、 出 a i b i c i sum i c i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 a i b i iiiiiiiiiiicbcabaccbasum1(a)符號圖 (b)真值表與布爾表達式 (c)原理圖 sum i c i+1 c i a i b i full_adder sum i c i+1 c i 4.2無符號數的加法運算無符號數的加法運算 無符號數代表數的絕對值,或者是省略了符號的正數。無符號數代表數的絕對值,或者是省略了符號的正數。1 位全加器的實現位全加

        26、器的實現:2008.112008.11薛宏熙數字邏輯設計cha1294位行波進位加法器位行波進位加法器 優點優點:結構簡單、造價較低;:結構簡單、造價較低;缺點缺點:進位信號由低位向高位逐級傳遞,當加法器的長度:進位信號由低位向高位逐級傳遞,當加法器的長度 n 較大時較大時 (例如(例如32或或64),進位信號的傳播延時很大),進位信號的傳播延時很大。改進改進思路:思路:先行進位加法器先行進位加法器 進位鏈進位鏈。2008.112008.11薛宏熙數字邏輯設計cha130加法器的先行進位加法器的先行進位進位鏈進位鏈2008.112008.11薛宏熙數字邏輯設計cha131加法器的先行進位加法器

        27、的先行進位進位鏈進位鏈(續)(續)實例:實例:4位加法器中每一位(位加法器中每一位(i=0 3)的進位信號分析:)的進位信號分析:2008.112008.11薛宏熙數字邏輯設計cha132 a 2 b 2 a 1 b 3 a 3 b 1 a 0 b 0 c 2 c 4 c 3 c 1 c 0 g 2 g 3 g 1 p 2 p 3 p 1 g 0 p 0 4 位加法器的先行進位位加法器的先行進位進位鏈進位鏈(續)(續)根據布爾表達式(根據布爾表達式(4-8)、()、(4-9)、()、(4-10)和()和(4-11)畫出先行進)畫出先行進位鏈的原理圖。位鏈的原理圖。2008.112008.11薛

        28、宏熙數字邏輯設計cha1334 位加法器的先行進位位加法器的先行進位進位鏈進位鏈(續)(續)符號圖:符號圖:分析:分析:低位進位信號低位進位信號c 0 到達進位鏈輸出端(到達進位鏈輸出端(c4,c3,c2,c1)所經歷的傳播)所經歷的傳播路徑長度大體相同,因而延遲時間也大體相同。路徑長度大體相同,因而延遲時間也大體相同。對于處于相對高位的對于處于相對高位的c4 來說,其延遲時間縮??!來說,其延遲時間縮??!隨著隨著 i 的增大,的增大,c i 的布爾表達式復雜度增大,相應電路的復雜度也的布爾表達式復雜度增大,相應電路的復雜度也增大,因此這種把增大,因此這種把c i逐級展開的方法不可能無限制地繼續

        29、下去。逐級展開的方法不可能無限制地繼續下去。當加法器的長度當加法器的長度n 較大時,可將其分組,組與組之間可以采用行波較大時,可將其分組,組與組之間可以采用行波進位的方法,或在組間也采用先行進位的方法。進位的方法,或在組間也采用先行進位的方法。2008.112008.11薛宏熙數字邏輯設計cha134 4位先行進位加法器位先行進位加法器 sum 3 c 3 a 3 b 3 full_adder sum 2 c 2 a 2 b 2 full_adder sum 1 c 1 a 1 b 1 full_adder sum 0 c 0 a 0 b 0 full_adder 先先 行行 進進 位位 鏈鏈

        30、 c 0 a 3 b3 a 2 b2 a 1 b1 a 0 b0 c 1 c 2 c 3 c 4 c 4 a 3 b3 a 2 b2 a 1 b1 a 0 b0 sum 3 sum 2 sum 1 sum 0 2008.112008.11薛宏熙數字邏輯設計cha135BCD 碼形式的十進制數加法運算碼形式的十進制數加法運算 例例:1位位 8421碼十進制數加法器碼十進制數加法器 手工設計手工設計:有多種方法可供選擇,例如有多種方法可供選擇,例如 列出真值表,寫出相應的布爾表達式,最后導出電路圖列出真值表,寫出相應的布爾表達式,最后導出電路圖。(由于輸入變量個數多達(由于輸入變量個數多達9個,此

        31、設計過程可能比較繁瑣)個,此設計過程可能比較繁瑣)借助普通的二進制數加法器,再加上輔助的修正電路構成目借助普通的二進制數加法器,再加上輔助的修正電路構成目標電路標電路。2008.112008.11薛宏熙數字邏輯設計cha136例例:1位位8421碼十進制數加法器碼十進制數加法器 圖圖4.9 初步設想初步設想:2008.112008.11薛宏熙數字邏輯設計cha137例例:1位位8421碼十進制數加法器(續)碼十進制數加法器(續)校正條件分析校正條件分析:輸入變量輸入變量X和和Y的取值為(的取值為(0 9),再加上可能存在的低位),再加上可能存在的低位進位進位cin,因而加法運算結果的取值范圍為

        32、(,因而加法運算結果的取值范圍為(0 19)。)。由于普通的由于普通的4位二進制數加法器是逢位二進制數加法器是逢16進位,而十進制數加法進位,而十進制數加法器是逢器是逢10進位,因而需要對進位,因而需要對4_adder_1的輸出(的輸出(Z和和c)進行修)進行修正,正,修正的具體要求見表修正的具體要求見表4.11(見下頁)。仔細分析表(見下頁)。仔細分析表4.11可以得可以得出出校正的判別條件校正的判別條件和應采取的和應采取的校正措施校正措施:2008.112008.11薛宏熙數字邏輯設計cha138例例:1位位8421碼十進制數加法器(續)碼十進制數加法器(續)表表4.114.112008.

        33、112008.11薛宏熙數字邏輯設計cha139圖圖4.9的改進的改進 圖圖4.9中的多路器可以省略,改進后的方案示于圖中的多路器可以省略,改進后的方案示于圖4.10。2008.112008.11薛宏熙數字邏輯設計cha140圖圖4.10的改進的改進 圖圖4.10中起校正作用的二進制數加法器中起校正作用的二進制數加法器4_adder_2只是實現加只是實現加6(即二進制代碼(即二進制代碼0110)或加)或加0的運算,其長度可以縮短,改進后的運算,其長度可以縮短,改進后的方案示于圖的方案示于圖4.11。2008.112008.11薛宏熙數字邏輯設計cha141一個一個3位十進制數加法器的實例位十進

        34、制數加法器的實例 2008.112008.11薛宏熙數字邏輯設計cha142啟啟 示示 想通過想通過手工設計手工設計得到一個理想的結果,十分不易。得到一個理想的結果,十分不易。精心設計和一般練習的效果大不相同精心設計和一般練習的效果大不相同。通過通過EDA工具設計工具設計數字電路省時省力。數字電路省時省力。EDA工具提供的庫元件一般都是精心制作的佳品。工具提供的庫元件一般都是精心制作的佳品。2008.112008.11薛宏熙數字邏輯設計cha143 原碼原碼 二進制數二進制數 補碼補碼 反碼反碼 有符號定點數有符號定點數 原碼原碼 十進制數十進制數 補碼補碼 4.3有符號數的表示方法和算術運算

        35、有符號數的表示方法和算術運算 有符號定點數有符號定點數的編碼方法的編碼方法:定點數:小數點的位置固定,常用的定點數:小數點的位置固定,常用的2種形式是:種形式是:小數點放在最低位之后,這種形式表示的是整數。小數點放在最低位之后,這種形式表示的是整數。小數點放在最高位之前,這種形式表示的小數。小數點放在最高位之前,這種形式表示的小數。從數學的觀點出發,這從數學的觀點出發,這2種形式沒有本質的差別,僅僅相差一種形式沒有本質的差別,僅僅相差一個比例系數。以下敘述中把小數點放在最低位之后,符號位個比例系數。以下敘述中把小數點放在最低位之后,符號位放在最高位之前。放在最高位之前。2008.112008.

        36、11薛宏熙數字邏輯設計cha144 符號位 0 代表正 1 代表負 數值部分(絕對值)二進制定點數的原碼表示形式二進制定點數的原碼表示形式 小數點的位置只是一種約定,并不需要專門的硬件作小數點的位置只是一種約定,并不需要專門的硬件作標記。標記。2008.112008.11薛宏熙數字邏輯設計cha145 取出X原,Y原|X|Y|?求出 R=|X|+|Y|求出|X|,|Y|是 否 否 在 R 的最高位處添加上 X原的符號位,得X+Y原 是 求出 R=|Y|-|X|求出 R=|X|-|Y|符號位相同?在 R 的最高位處添加上 Y原的符號位,得X+Y原 運算過程過于復雜,很少應用運算過程過于復雜,很少

        37、應用 二進制定點數的原碼表示形式(續)二進制定點數的原碼表示形式(續)原碼加法流程圖原碼加法流程圖:2008.112008.11薛宏熙數字邏輯設計cha146二進制定點數的補碼表示形式二進制定點數的補碼表示形式 設二進制定點數設二進制定點數X的表示形式為:的表示形式為:X=0 x n-2 x n-3x ix 0 (字長(字長 n 位,最高位為位,最高位為 0)由由X求求X補補的規則的規則:當當X為正數時,為正數時,X補補=X=0 x n-2 x n-3x ix 0當當X為負數時,為負數時,(按位求反后末位加(按位求反后末位加1)由以上規則求出的由以上規則求出的X補補的的最高位為符號位最高位為符

        38、號位:符號位為符號位為 0 代表正數;代表正數;符號位為符號位為 1 代表負數。代表負數。1x.x.xx0X032inn補2008.112008.11薛宏熙數字邏輯設計cha147二進制定點數的補碼表示形式(續)二進制定點數的補碼表示形式(續)由由X求求X補補舉例:舉例:【例【例4.1】:】:X=+01101,求,求X補補:X為正數,為正數,X補補=X=01101【例【例4.2】:】:X=01101,求,求X補補:X為負數,為負數,第第1步:對步:對X按位求反:按位求反:01101 10010第第2步:末位加步:末位加1:10010 100112008.112008.11薛宏熙數字邏輯設計ch

        39、a148二進制定點數的補碼表示形式(續)二進制定點數的補碼表示形式(續)由由X補補求求X的規則:的規則:X補補的符號位為的符號位為0(正數)時,(正數)時,X補補=X(二者相同)(二者相同)X補補的符號位為的符號位為1(負數)時,求(負數)時,求X分分2步走:步走:第第1步:包括符號位在內按位求反;步:包括符號位在內按位求反;第第2步:在第步:在第1步的結果上末位加步的結果上末位加 1,再在數值前添加負號。,再在數值前添加負號?!纠纠?.3】:】:X補補=10011,求,求X:第第1步:包括符號位在內按位求反:步:包括符號位在內按位求反:10011 01100 第第2步:末位加步:末位加1,

        40、再添負號:,再添負號:01100 011012008.112008.11薛宏熙數字邏輯設計cha149補碼的加法運算補碼的加法運算 補碼加法運算規則補碼加法運算規則:補碼加法中的補碼加法中的“溢出溢出”問問題題:【例】:【例】:X=01011,Y=01000 X補補=01011,Y補補=01000執行補碼加法:執行補碼加法:X+Y補補=01011+01000 =10011 結果不正確結果不正確,因為,因為2個正數相加個正數相加的結果絕不應該是負數!的結果絕不應該是負數!分析分析原因原因:本例字長本例字長 5 位,而本例的位,而本例的(X+Y)超過了字長所能表示的范圍。超過了字長所能表示的范圍。

        41、取出X補,Y補 X補+Y補 結果為X+Y補 若最高位有進位 將其舍去 X補和Y補 的符號位同 樣參加運算 2008.112008.11薛宏熙數字邏輯設計cha150補碼加法運算(續)補碼加法運算(續)發現發現“溢出溢出”的方法的方法(方法之一):(方法之一):把操作數把操作數X補補和和Y補補的符號位向左擴展的符號位向左擴展1位,并且新擴展的位,并且新擴展的符號位與原來的符號位取值相同。即符號位與原來的符號位取值相同。即 X補補和和Y補補的字長由的字長由原來的原來的 n 位擴展到(位擴展到(n+1)位。)位。補碼加法運算規則不變,即補碼中各位(包括補碼加法運算規則不變,即補碼中各位(包括2個符號

        42、位在個符號位在內)按照同樣規則參加運算。內)按照同樣規則參加運算。1.若運算結果的若運算結果的 2個符號位取值不同,表示運算結果個符號位取值不同,表示運算結果“溢出溢出”(應當發出報警信號);否則運算結果正常。(應當發出報警信號);否則運算結果正常。2008.112008.11薛宏熙數字邏輯設計cha151補碼加法運算(續)補碼加法運算(續)補碼加法示例:補碼加法示例:X補 00 1001 (9)10 Y補 00 0011 (3)10 X補+Y補 00 1100 (12)10 運算結果中的 2 個符號位取值相同,情況正常 操作數中的符號位和其它位同樣參加運算,本例的最高位處沒有產生進位 200

        43、8.112008.11薛宏熙數字邏輯設計cha152補碼加法運算(續)補碼加法運算(續)補碼加法示例:補碼加法示例:X補 001001 (9)10 Y補 001010 (10)10 X補+Y補 010011 (19)10,超出約定范圍 運算結果中 2 個符號位取值不同,發生“溢出”符號位同樣參加運算,本例的最高位處沒有產生進位 2008.112008.11薛宏熙數字邏輯設計cha153補碼加法運算(續)補碼加法運算(續)補碼加法示例:補碼加法示例:X補 111001 (7)10 Y補 001010 (10)10 X補+Y補 000011 (3)10 運算結果中 2 個符號位取值相同,情況正常

        44、最高位發生進位,簡單地舍去即可 2008.112008.11薛宏熙數字邏輯設計cha154補碼加法運算(續)補碼加法運算(續)一個補碼加法器的實例一個補碼加法器的實例:2008.112008.11薛宏熙數字邏輯設計cha155補碼的減法運算補碼的減法運算 補碼減法運算規則:補碼減法運算規則:為了發現運算過程中為了發現運算過程中是否發生是否發生“溢出溢出”,繼續采用雙符號位的繼續采用雙符號位的補碼形式。補碼形式。表示對表示對Y補補執執行求補操作,即行求補操作,即 第第1步:包括符號步:包括符號位在內按位求反;位在內按位求反;第第2步:末位加步:末位加1。取出X補,Y補 結果為XY補 若最高位有進

        45、位 將其舍去 X補,Y補 的符號位同 樣參加運算 補補補YX 由Y補求Y補|補:末位加 1 Y補按位求反 補補Y2008.112008.11薛宏熙數字邏輯設計cha156 s4 s3 s2 s1 s0 x4 x3 x2 x1 x0 y4 y3 y2 y1 y0 s4 s3 s2 s1 s0 X補(3.0)Y補(3.0)5bit_adder sub_add overflow sub_ add=1 時,做減法;sub_ add=0 時,做加法。一個補碼加法一個補碼加法/減法器的實例減法器的實例 由于由于補碼加法與補碼減法的流程相差甚少補碼加法與補碼減法的流程相差甚少,唯一的差別是補碼減,唯一的差別

        46、是補碼減法操作中需要對法操作中需要對Y補補多作一次求補操作。多作一次求補操作。2008.112008.11薛宏熙數字邏輯設計cha157 s4 s3 s2 s1 s0 x4 x3 x2 x1 x0 y4 y3 y2 y1 y0 s4 s3 s2 s1 s0 X補(3.0)Y補(3.0)5bit_adder sub_add overflow sub_ add=1 時,做減法;sub_ add=0 時,做加法。一個補碼加法一個補碼加法/減法器的實例減法器的實例 由于由于補碼加法與補碼減法的流程相差甚少補碼加法與補碼減法的流程相差甚少,唯一的差別是補碼減,唯一的差別是補碼減法操作中需要對法操作中需要

        47、對Y補補多作一次求補操作。多作一次求補操作。廣泛應用!廣泛應用!2008.112008.11薛宏熙數字邏輯設計cha158二進制定點數的反碼表示形式二進制定點數的反碼表示形式 由由X求求X反反的規則:的規則:X為正數時為正數時,X反反=X=0 x n-2 x n-3x i x 0 X為負數時為負數時,由以上規則求出的由以上規則求出的X反反的最高位為符號位,符號位為的最高位為符號位,符號位為0代表正數,代表正數,符號位為符號位為1代表負數。代表負數?!纠纠?.8】:】:X=+01101,求,求X反反:X為正數,為正數,X反反=X=01101【例【例4.9】:】:X=01101,求,求X反反:X

        48、為負數,為負數,X反反=10010 (按位求反)(按位求反)032x.x.xx0Xinn反2008.112008.11薛宏熙數字邏輯設計cha159二進制定點數的反碼表示形式二進制定點數的反碼表示形式 由由X反反求求X的規則:的規則:X反反的符號位為的符號位為 0(正數)時,(正數)時,X反反=X(二者相同)(二者相同)X反反的符號位為的符號位為 1(負數)時,將(負數)時,將X反反按位求反,再在數值前按位求反,再在數值前面添加負號面添加負號“”?!纠纠?.10】:】:X反反=10011,求,求X:第第1步:包括符號位在內按位求反:步:包括符號位在內按位求反:10011 01100 第第2步

        49、:在數值前面添加負號:步:在數值前面添加負號:01100 011002008.112008.11薛宏熙數字邏輯設計cha160反碼的加法運算反碼的加法運算 為便于判斷為便于判斷“溢出溢出”,也采用雙符號位。,也采用雙符號位。取出X反,Y反 X反+Y反 結果為X+Y反 若最高位有進位,將其送至最低位再次相加 X反和Y反 的符號位同 樣參加運算 2008.112008.11薛宏熙數字邏輯設計cha161 X反 11111010 (5)10 Y反 1111 1001 (6)10 X反+Y反 1 11 1 0011 1 11 1 0011 1 X+Y反=1 11 1 0100 (11)10 最高位發生

        50、進位,送到末位再次相加 反碼加法示例反碼加法示例 設設 X=(5)10=(0101)2,Y=(6)10=(0110)2,求求X+Y反反 雙符號位雙符號位 X反反=111010,Y反反=1110012008.112008.11薛宏熙數字邏輯設計cha162反碼的減法運算反碼的減法運算 X反和Y反|反 的符號位同 樣參加運算 X反+Y反|反 結果為XY反 若最高位有進位,將其送至最低位再次相加 取出X反,Y反 Y反|反:=對Y反按位求反 2008.112008.11薛宏熙數字邏輯設計cha163 X反 11111010 (5)10 Y反|反:0000 0110 (6)10 X反+Y反|反:0000

        51、 0000 0000 0000 1 XY反=0000 0001 (1)10 最高位發生進位,送到末位再次相加 反碼減法運算示例反碼減法運算示例設設X=(5)10=(0101)2,Y=(6)10=(0110)2,求求XY反反 雙符號位表示,雙符號位表示,X反反=111010,Y反反=111001,:,:手工計算的準備工作:手工計算的準備工作:Y反反|反反=000110;2008.112008.11薛宏熙數字邏輯設計cha1644.4用用EDA工具設計算術運算電路示例工具設計算術運算電路示例 補碼形式的加法補碼形式的加法/減法器:減法器:輸入信號:輸入信號:x(3.0)和和y(3.0)是補碼形式的

        52、有符號二進制數(是補碼形式的有符號二進制數(1個符號位)個符號位),sub_add是加法是加法/減法的控制信號。減法的控制信號。輸出信號:輸出信號:s(3.0)代表運算結果,是補碼形式的有符號二進制數(代表運算結果,是補碼形式的有符號二進制數(1個符號位);個符號位);overflow是溢出報警信號。是溢出報警信號。2008.112008.11薛宏熙數字邏輯設計cha165補碼形式的加法補碼形式的加法/減法器(續)減法器(續)VHDL行為描述:行為描述:2008.112008.11薛宏熙數字邏輯設計cha166補碼形式的加法補碼形式的加法/減法器(續)減法器(續)VHDL行為描述(續):行為描

        53、述(續):2008.112008.11薛宏熙數字邏輯設計cha167補碼形式的加法補碼形式的加法/減法器(續)減法器(續)功能模擬波形:功能模擬波形:2008.112008.11薛宏熙數字邏輯設計cha1681位位8421碼十進制數加法器碼十進制數加法器 用用EDA工具設計工具設計 手工設計手工設計 寫出寫出VHDL行為描述行為描述 提交提交EDA工具工具Quartus2008.112008.11薛宏熙數字邏輯設計cha1691位位8421碼十進制數加法器碼十進制數加法器(續續)VHDL代碼代碼2008.112008.11薛宏熙數字邏輯設計cha1701位位8421碼十進制數加法器碼十進制數加

        54、法器(續續)VHDL代碼(續)代碼(續)architecture behav of bcd_adder is -結構體用于定義電路的行為 begin process(x,y,cin)variable temp:std_logic_vector(4 downto 0);-聲明一個臨時變量 begin temp:=(0&x)+y +cin;-把 8421 碼當作普通的二進制數相加 if temp 2#01010#then -結果無需校正的情況 s =temp(3 downto 0);cout =0;else -結果需要校正(+6)的情況 temp :=temp +6;s =temp(3 downt

        55、o 0);cout =1;end if;end process;end behav;2008.112008.11薛宏熙數字邏輯設計cha1711位位8421碼十進制數加法器碼十進制數加法器(續續)功能模擬波形:功能模擬波形:2008.112008.11薛宏熙數字邏輯設計cha1723位位8421碼十進制數加法器碼十進制數加法器 實現方案之一:實現方案之一:用用原理圖作原理圖作電路的電路的結構結構描述描述2008.112008.11薛宏熙數字邏輯設計cha1733位位8421碼十進制數加法器碼十進制數加法器(續續)實現方案之二:用實現方案之二:用VHDL作電路的作電路的結構結構描述描述 元件例化

        56、語句調用子元件元件例化語句調用子元件2008.112008.11薛宏熙數字邏輯設計cha1743位位8421碼十進制數加法器碼十進制數加法器(續續)實現方案之二:用實現方案之二:用VHDL作電路的作電路的結構結構描述描述(續續)元件例化語句調用子元件元件例化語句調用子元件 architecture struc of bcd_adder_3 is -3 位十進制數加法器的結構體描述 signal temp1,temp2:std_logic;-聲明 2 個內部信號 begin -以下使用 3 個直接元件例化語句,直接例化庫元件 u1:work.bcd_adder(behav)port map (x

        57、(3 downto 0),y(3 downto 0),0,temp1,s(3 downto 0);u2:work.bcd_adder(behav)port map(x(7 downto 4),y(7 downto 4),temp1,temp2,s(7 downto 4);u3:work.bcd_adder(behav)port map (x(11 downto 8),y(11 downto 8),temp2,open,s(11 downto 8);end struc;2008.112008.11薛宏熙數字邏輯設計cha175本章小結本章小結 數制與編碼數制與編碼:二進制數、十進制數、八進制數和

        58、十六進制數。二進制數、十進制數、八進制數和十六進制數。編碼方式編碼方式:有權碼有權碼:最常見的是:最常見的是8421碼碼 無權碼無權碼;最常見的是格雷碼,它是一種無權碼,其;最常見的是格雷碼,它是一種無權碼,其特點是任意特點是任意2個相鄰碼之間僅個相鄰碼之間僅1位取值不同。位取值不同。有符號數的編碼有符號數的編碼:原碼、:原碼、補碼補碼和反碼等和反碼等3種編碼形式,種編碼形式,其中以補碼應用最廣。其中以補碼應用最廣。計算機內部多采用補碼系統計算機內部多采用補碼系統,數據的存儲與運算都是,數據的存儲與運算都是補碼形式,僅在輸入輸出時才轉換為人所習慣的表示補碼形式,僅在輸入輸出時才轉換為人所習慣的

        59、表示形式。形式。2008.112008.11薛宏熙數字邏輯設計cha176本章小結(續)本章小結(續)有符號二進制數補碼的表示形式及其加有符號二進制數補碼的表示形式及其加/減運算規則,減運算規則,給出了補碼加法給出了補碼加法/減法器的設計過程減法器的設計過程 十進制數的二進制編碼簡稱十進制數的二進制編碼簡稱BCD碼,碼,設計了設計了8421碼的十進制數加法器。碼的十進制數加法器。進行了進行了手工設計手工設計與使用與使用EDA工具設計工具設計的的對比對比,凸顯了,凸顯了后者的優越性!后者的優越性!優點之一:提高設計效率;優點之一:提高設計效率;優點之二:優點之二:EDA工具提供了模擬驗證的手段,使設工具提供了模擬驗證的手段,使設計者可自己檢驗設計的正確性計者可自己檢驗設計的正確性。

        展開閱讀全文
        溫馨提示:
        1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
        2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
        3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
        4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
        5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
        6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
        7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
        關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

        網站客服QQ:2846424093或766697812

        copyright@ 2020-2023  zhuangpeitu.com 裝配圖網版權所有   聯系電話:0512-65154990  

        備案號:蘇ICP備12009002號-6   經營許可證:蘇B2-20200052  蘇公網安備:32050602011098


        本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

        特级毛片a片全部免费播,特级毛片a片全部免费观看,特级毛片免费无码不卡观看,特级全黄a片高清视频

        <tt id="a3jom"></tt>
        1. <tt id="a3jom"><noscript id="a3jom"></noscript></tt>

            <tt id="a3jom"></tt>