<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 數值計算中Bcd碼校驗電路的分析與設計

    時間:2024-09-25 02:03:57 理工畢業論文 我要投稿
    • 相關推薦

    數值計算中Bcd碼校驗電路的分析與設計

    摘要:在計算機數值計算中,數值經常是以BCD碼進行運算的.因而BCD校驗電路是一個非常重要的硬件邏輯。其不但影響到數值計算的正確與否,還對整個運算的速度有著決定作用。本文首先分析了BCD碼校驗原理,進而從并行、串行兩種電路結構分析了BCD碼校驗邏輯。最后提出了一種高效,快速的BCD 碼驗證電路并對其進行了仿真。

    引言

    微處理器的工作過程是大量數據的輸入--運算--輸出的過程,其中相當數量的數據使用十進制形式表達。使用者希望微處理器的輸入數據和輸出結果能使用十進制形式表達,而在微處理器內采用二進制表示和處理數據更方便,所以在二者之間的數制轉換是必要的。通常采用兩種方式解決這一問題。

    方法1:十--二進制轉換電路將輸入的十進制數據轉換為相應的二進制數據,微處理器內部算術邏輯單元仍然執行二進制數據運算微操作,運算結果再進行二--十進制轉換,將結果以十進制形式輸出。

    方法2:算術邏輯單元對二進制數據處理能力的前提下,增加少量硬件線路,使之對某種二進制編碼形式表示的十進制數據具有直接處理能力,該算術邏輯單元能夠接收特定二進制編碼構成的十進制數據,可以產生相同編碼組成的計算結果,在數據處理過程中該單元執行十進制數據運算微操作。

    微處理器使用中涉及大量的數據輸入輸出操作,顯然方法1不是理想的選擇,因而從提高機器的運行效率,簡化機器結構和保證系統時序結構的規整性考慮,方法2更有實用價值。 所以本文講述了方法2為算法依據的BCD加減電路。

    校驗原理

    在計算機得數值計算中,數值經常是以BCD碼表示的十進制進行運算的。即一位BCD碼用4位二進制位表示。但是BCD的加法需要兩個加法器來完成,如果分析一下BCD數的加法過程,原因就很清楚。請看下面:

    令A=1000,B=0111,這兩個數都是正確的BCD碼,如果兩個操作數直接相加,結果不是一個BCD碼:

    1000

    + 0111

    1111

    正確的BCD碼加法運算應為1000+0111=(1)0101即8+7=15。其它BCD碼操作數運算的結果也能產生不正確的BCD碼結果。實際上當結果大于9或者有進位時,就要進行BCD的校驗,以確保結果的正確性。

    對于產生進位得情況,加法器直接提供了二進制的進位輸出,即BCD修正信號Y=C.而對于結果大于9,需要修正的數為1010-1111。

    把它們作為四變量布爾表達式的最小項,就能化簡邏輯。即Y=E3E2 E3E1.其中E3 、E2、E1、E0是加法器的和的輸出。綜合以上結果可得BCD修正信號Y=E3E2 E3E1 C.修正電路如圖一所示

    下面就已四位并行加法器和一位串行加法器兩種電路形式來討論BCD碼的驗證。

    圖二 4位并行加法器BCD加法電路

    圖二所示為4位并行的BCD加法器電路。其中上面加法器的輸入來自低一級的BCD數字。下面加法器BCD的輸出E3、E2、E1、E0和COUT至高一級BCD數字,其A3和A1位接地,即當BCD校驗信號為真時Y=1,A3A2A1A0=0110,以實現加6的調整.當不需要BCD調整時Y=0,此時A3A2A1A0=0000,從而使輸出結果無變化.

    雖然4位并行加法器運算速度較快,但是所用邏輯門較多。圖三所示為一位串行BCD加法器。它是以犧牲速度以達到減少硬件邏輯門的目的,這種電路在對頻率要求不高的系統中非常之適用。其中ADDER1、ADDER2均為一位全加器。ADDER1做主運算器,ADDER2做BCD校驗運算器,不管是否做BCD校驗,ADDER2的初始進位、借位始終為“1”。

    圖三中Z型門為延時電路,延時一個時鐘周期,這樣在外部電路控制下,經過四個時鐘周期,得到一位十進制BCD結果E3E2E1E0.由電路圖所以當C (E3E2 E3E1)邏輯值為‘1’時,控制多路選擇器選擇A通路(A通路為序列1001),當C (E3E2 E3E1)為‘0’時,選擇B通路(B通路序列為1111),即需要校驗時,多路選擇器輸出序列1001;不需要校驗時,輸出序列1111,與Z型門的輸出對應相加,并且ADDER2的初始進位始終為‘1’,由此可完成BCD的校驗工作。

    圖三 一位串行BCD加法器電路

    下面是基于4位并行BCD加法器算法的一種快速BCD的加法器VERILOG硬件描述語言程序及其仿真結果。

    module bcd_check (data_i,data_o,cy_i,cy_o,en,z_i,z_o);

    input data_i;

    input cy_i;

    input z_i;

    input en; //insructure

    output cy_o;

    output data_o;

    output z_o;

    wire [3:0] data_i;

    wire cy_i;

    wire en;

    reg z_o;

    reg cy_o;

    reg [3:0] data_o;

     

    //}} End of automatically maintained section

    reg [4:0] TEMP_RESULT;

     

    always @(data_i or cy_i or en )

    if(en == 0)

    begin

    cy_o=cy_i;

    data_o=data_i;

    z_o=z_i;

    【數值計算中Bcd碼校驗電路的分析與設計】相關文章:

    CAN總線中循環冗余校驗碼的原理及其電路實現03-18

    論低密度校驗碼的研究03-18

    彈箭氣動熱數值分析中變物性的應用03-07

    計算方法中關于誤差的分析03-07

    超聲波加濕器電路分析和造型設計(一)03-08

    AGC電路的設計03-07

    傳統紋樣在現代設計中的運用分析03-01

    計算機軟件項目管理中的需求分析03-20

    淺談電路分析英漢雙語教學03-20

    主站蜘蛛池模板: 精品久久久久久成人AV| 国产精品美女久久久久久2018| 北岛玲日韩精品一区二区三区| 国产精品爽黄69天堂a| 四虎国产精品成人免费久久| 国产第一福利精品导航| 亚洲А∨精品天堂在线| 国内精品免费在线观看| 亚洲国产另类久久久精品| 国产精品片在线观看手机版| heyzo高无码国产精品| 亚洲高清国产拍精品青青草原| 久久99久久99小草精品免视看| 日产欧美国产日韩精品| 欧美亚洲另类精品第一页| 国产高清在线精品一区二区 | 国产亚洲曝欧美不卡精品| 久久国产热精品波多野结衣AV| 国产系列高清精品第一页| 国产精品国产三级国产专播| 亚洲Av无码精品色午夜| 国产精品推荐天天看天天爽| 久久国产精品-国产精品| 久久99精品久久久久子伦| 一区二区国产精品| 久久久久久国产精品美女| 国产精品国产三级国产a| 青青青青久久精品国产| 尤物国产在线精品福利一区| 骚片AV蜜桃精品一区| 久久www免费人成精品香蕉| 911亚洲精品国产自产| 99精品久久精品一区二区| 久久99精品久久久久婷婷| 色欲精品国产一区二区三区AV | 欧美大片日韩精品| 国产精品特级毛片一区二区三区| 亚洲精品无码Av人在线观看国产| 久久精品不卡| 久久久久久国产精品无码下载| 国产精品无码素人福利|