數(shù)值計算中Bcd碼校驗電路的分析與設(shè)計
發(fā)布時間:2008/5/27 0:00:00 訪問次數(shù):566
    
    摘要:在計算機數(shù)值計算中,數(shù)值經(jīng)常是以bcd碼進行運算的.因而bcd校驗電路是一個非常重要的硬件邏輯。其不但影響到數(shù)值計算的正確與否,還對整個運算的速度有著決定作用。本文首先分析了bcd碼校驗原理,進而從并行、串行兩種電路結(jié)構(gòu)分析了bcd碼校驗邏輯。最后提出了一種高效,快速的bcd 碼驗證電路并對其進行了仿真。
    關(guān)鍵詞:bcd碼、數(shù)值計算、并/串行、校驗
    引言
    微處理器的工作過程是大量數(shù)據(jù)的輸入--運算--輸出的過程,其中相當(dāng)數(shù)量的數(shù)據(jù)使用十進制形式表達。使用者希望微處理器的輸入數(shù)據(jù)和輸出結(jié)果能使用十進制形式表達,而在微處理器內(nèi)采用二進制表示和處理數(shù)據(jù)更方便,所以在二者之間的數(shù)制轉(zhuǎn)換是必要的。通常采用兩種方式解決這一問題。
    方法1:十--二進制轉(zhuǎn)換電路將輸入的十進制數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的二進制數(shù)據(jù),微處理器內(nèi)部算術(shù)邏輯單元仍然執(zhí)行二進制數(shù)據(jù)運算微操作,運算結(jié)果再進行二--十進制轉(zhuǎn)換,將結(jié)果以十進制形式輸出。
    方法2:算術(shù)邏輯單元對二進制數(shù)據(jù)處理能力的前提下,增加少量硬件線路,使之對某種二進制編碼形式表示的十進制數(shù)據(jù)具有直接處理能力,該算術(shù)邏輯單元能夠接收特定二進制編碼構(gòu)成的十進制數(shù)據(jù),可以產(chǎn)生相同編碼組成的計算結(jié)果,在數(shù)據(jù)處理過程中該單元執(zhí)行十進制數(shù)據(jù)運算微操作。
    微處理器使用中涉及大量的數(shù)據(jù)輸入輸出操作,顯然方法1不是理想的選擇,因而從提高機器的運行效率,簡化機器結(jié)構(gòu)和保證系統(tǒng)時序結(jié)構(gòu)的規(guī)整性考慮,方法2更有實用價值。 所以本文講述了方法2為算法依據(jù)的bcd加減電路。
    校驗原理
    在計算機得數(shù)值計算中,數(shù)值經(jīng)常是以bcd碼表示的十進制進行運算的。即一位bcd碼用4位二進制位表示。但是bcd的加法需要兩個加法器來完成,如果分析一下bcd數(shù)的加法過程,原因就很清楚。請看下面:
    令a=1000,b=0111,這兩個數(shù)都是正確的bcd碼,如果兩個操作數(shù)直接相加,結(jié)果不是一個bcd碼:
    1000
    + 0111
    1111
    正確的bcd碼加法運算應(yīng)為1000+0111=(1)0101即8+7=15。其它bcd碼操作數(shù)運算的結(jié)果也能產(chǎn)生不正確的bcd碼結(jié)果。實際上當(dāng)結(jié)果大于9或者有進位時,就要進行bcd的校驗,以確保結(jié)果的正確性。
    對于產(chǎn)生進位得情況,加法器直接提供了二進制的進位輸出,即bcd修正信號y=c.而對于結(jié)果大于9,需要修正的數(shù)為1010-1111。
    把它們作為四變量布爾表達式的最小項,就能化簡邏輯。即y=e3e2+e3e1.其中e3 、e2、e1、e0是加法器的和的輸出。綜合以上結(jié)果可得bcd修正信號y=e3e2+e3e1+c.修正電路如圖一所示
    
    
    
    下面就已四位并行加法器和一位串行加法器兩種電路形式來討論bcd碼的驗證。
    
    
    
    圖二 4位并行加法器bcd加法電路
    圖二所示為4位并行的bcd加法器電路。其中上面加法器的輸入來自低一級的bcd數(shù)字。下面加法器bcd的輸出e3、e2、e1、e0和cout至高一級bcd數(shù)字,其a3和a1位接地,即當(dāng)bcd校驗信號為真時y=1,a3a2a1a0=0110,以實現(xiàn)加6的調(diào)整.當(dāng)不需要bcd調(diào)整時y=0,此時a3a2a1a0=0000,從而使輸出結(jié)果無變化.
    雖然4位并行加法器運算速度較快,但是所用邏輯門較多。圖三所示為一位串行bcd加法器。它是以犧牲速度以達到減少硬件邏輯門的目的,這種電路在對頻率要求不高的系統(tǒng)中非常之適用。其中adder1、adder2均為一位全加器。adder1做主運算器,adder2做bcd校驗運算器,不管是否做bcd校驗,adder2的初始進位、借位始終為“1”。
    圖三中z型門為延時電路,延時一個時鐘周期,這樣在外部電路控制下,經(jīng)過四個時鐘周期,得到一位十進制bcd結(jié)果e3e2e1e0.由電路圖所以當(dāng)c+(e3e2+e3e1)邏輯值為‘1’時,控制多路選擇器選擇a通路(a通路為序列1001),當(dāng)c+(e3e2+e3e1)為‘0’時,選擇b通路(b通路序列為1111),即需要校驗時,多路選擇器輸出序列1001;不需要校驗時,輸出序列1111,與z型門的輸出對應(yīng)相加,并且adder2的初始進位始終為‘1’,由此可完成bcd的校驗工作。
&n
    
    摘要:在計算機數(shù)值計算中,數(shù)值經(jīng)常是以bcd碼進行運算的.因而bcd校驗電路是一個非常重要的硬件邏輯。其不但影響到數(shù)值計算的正確與否,還對整個運算的速度有著決定作用。本文首先分析了bcd碼校驗原理,進而從并行、串行兩種電路結(jié)構(gòu)分析了bcd碼校驗邏輯。最后提出了一種高效,快速的bcd 碼驗證電路并對其進行了仿真。
    關(guān)鍵詞:bcd碼、數(shù)值計算、并/串行、校驗
    引言
    微處理器的工作過程是大量數(shù)據(jù)的輸入--運算--輸出的過程,其中相當(dāng)數(shù)量的數(shù)據(jù)使用十進制形式表達。使用者希望微處理器的輸入數(shù)據(jù)和輸出結(jié)果能使用十進制形式表達,而在微處理器內(nèi)采用二進制表示和處理數(shù)據(jù)更方便,所以在二者之間的數(shù)制轉(zhuǎn)換是必要的。通常采用兩種方式解決這一問題。
    方法1:十--二進制轉(zhuǎn)換電路將輸入的十進制數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的二進制數(shù)據(jù),微處理器內(nèi)部算術(shù)邏輯單元仍然執(zhí)行二進制數(shù)據(jù)運算微操作,運算結(jié)果再進行二--十進制轉(zhuǎn)換,將結(jié)果以十進制形式輸出。
    方法2:算術(shù)邏輯單元對二進制數(shù)據(jù)處理能力的前提下,增加少量硬件線路,使之對某種二進制編碼形式表示的十進制數(shù)據(jù)具有直接處理能力,該算術(shù)邏輯單元能夠接收特定二進制編碼構(gòu)成的十進制數(shù)據(jù),可以產(chǎn)生相同編碼組成的計算結(jié)果,在數(shù)據(jù)處理過程中該單元執(zhí)行十進制數(shù)據(jù)運算微操作。
    微處理器使用中涉及大量的數(shù)據(jù)輸入輸出操作,顯然方法1不是理想的選擇,因而從提高機器的運行效率,簡化機器結(jié)構(gòu)和保證系統(tǒng)時序結(jié)構(gòu)的規(guī)整性考慮,方法2更有實用價值。 所以本文講述了方法2為算法依據(jù)的bcd加減電路。
    校驗原理
    在計算機得數(shù)值計算中,數(shù)值經(jīng)常是以bcd碼表示的十進制進行運算的。即一位bcd碼用4位二進制位表示。但是bcd的加法需要兩個加法器來完成,如果分析一下bcd數(shù)的加法過程,原因就很清楚。請看下面:
    令a=1000,b=0111,這兩個數(shù)都是正確的bcd碼,如果兩個操作數(shù)直接相加,結(jié)果不是一個bcd碼:
    1000
    + 0111
    1111
    正確的bcd碼加法運算應(yīng)為1000+0111=(1)0101即8+7=15。其它bcd碼操作數(shù)運算的結(jié)果也能產(chǎn)生不正確的bcd碼結(jié)果。實際上當(dāng)結(jié)果大于9或者有進位時,就要進行bcd的校驗,以確保結(jié)果的正確性。
    對于產(chǎn)生進位得情況,加法器直接提供了二進制的進位輸出,即bcd修正信號y=c.而對于結(jié)果大于9,需要修正的數(shù)為1010-1111。
    把它們作為四變量布爾表達式的最小項,就能化簡邏輯。即y=e3e2+e3e1.其中e3 、e2、e1、e0是加法器的和的輸出。綜合以上結(jié)果可得bcd修正信號y=e3e2+e3e1+c.修正電路如圖一所示
    
    
    
    下面就已四位并行加法器和一位串行加法器兩種電路形式來討論bcd碼的驗證。
    
    
    
    圖二 4位并行加法器bcd加法電路
    圖二所示為4位并行的bcd加法器電路。其中上面加法器的輸入來自低一級的bcd數(shù)字。下面加法器bcd的輸出e3、e2、e1、e0和cout至高一級bcd數(shù)字,其a3和a1位接地,即當(dāng)bcd校驗信號為真時y=1,a3a2a1a0=0110,以實現(xiàn)加6的調(diào)整.當(dāng)不需要bcd調(diào)整時y=0,此時a3a2a1a0=0000,從而使輸出結(jié)果無變化.
    雖然4位并行加法器運算速度較快,但是所用邏輯門較多。圖三所示為一位串行bcd加法器。它是以犧牲速度以達到減少硬件邏輯門的目的,這種電路在對頻率要求不高的系統(tǒng)中非常之適用。其中adder1、adder2均為一位全加器。adder1做主運算器,adder2做bcd校驗運算器,不管是否做bcd校驗,adder2的初始進位、借位始終為“1”。
    圖三中z型門為延時電路,延時一個時鐘周期,這樣在外部電路控制下,經(jīng)過四個時鐘周期,得到一位十進制bcd結(jié)果e3e2e1e0.由電路圖所以當(dāng)c+(e3e2+e3e1)邏輯值為‘1’時,控制多路選擇器選擇a通路(a通路為序列1001),當(dāng)c+(e3e2+e3e1)為‘0’時,選擇b通路(b通路序列為1111),即需要校驗時,多路選擇器輸出序列1001;不需要校驗時,輸出序列1111,與z型門的輸出對應(yīng)相加,并且adder2的初始進位始終為‘1’,由此可完成bcd的校驗工作。
&n
熱門點擊
- OrCAD/PSpice9直流掃描分析的應(yīng)用
- OrCAD/PSpice9直流掃描分析的應(yīng)用
- protel99se和DXP的使用感想
- CCS噪聲模型:用于串?dāng)_噪聲分析的高精確度建
- Xtreme PCB軟件允許多位工程師同時布
- ORCAD/PSPICE
- 硬件描述語言HDL的現(xiàn)狀與發(fā)展
- ALLEGRO布線缺點之我見
- PCB LAYOUT技術(shù)大全---初學(xué)者必看
- 利用Liberty CCS建模技術(shù)實現(xiàn)更高精
推薦技術(shù)資料
- 泰克新發(fā)布的DSA830
- 泰克新發(fā)布的DSA8300在一臺儀器中同時實現(xiàn)時域和頻域分析,DS... [詳細]
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究