新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 數值計算中Bcd碼校驗電路的分析與設計

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

        作者: 時間:2008-06-16 來源:中國電子網 收藏

          reg [4:0] TEM P_RESULT;

        本文引用地址:http://www.104case.com/article/84260.htm

          always @(data_i or cy_i or en )

          if(en == 0)

          begin

          cy_o=cy_i;

          data_o=data_i;

          z_o=z_i;

          end

          else

          begin

          if(data_i[3]&&data_i[1] ||(data_i[3]&&data_i[2]) || cy_i==1)

          TEMP_RESULT = {1'b0,data_i } + {1'b0,4'b0110 } + cy_i;

          else

          begin

          TEMP_RESULT[3:0]=data_i;

          TEMP_RESULT[4]=cy_i;

          end

          data_o = TEMP_RESULT[3:0];

          z_o = | TEMP_RESULT[3:0];

          cy_o = TEMP_RESULT[4];

          end

          例如:兩個十進制數2189+8075的正確結果應為11064,可是,相加運算后的結果為FEH,為此應進行BCD調整。將為經校驗的相加結果 0010,1001,1000,1001(十進制2989)+1000,0000,0111, 0101(十進制8075)=1010,1001,1111,1110代人上述BCD校驗模塊,可得仿真結果如圖四。

           有圖可知data_o為1064 且進位輸出為1,即總的結果為11064,這與2989+8075=11064的結果是一致的。

          結束語

          本文通過對算法和并/串行BCD校驗的分析,提出了一種高效,快速的BCD校驗模塊。由上面仿真結果可知,此種速度較快,硬件簡單。適合實時處理系統。

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 墨脱县| 贵德县| 贡觉县| 宁武县| 长治市| 资阳市| 淄博市| 同德县| 朝阳县| 堆龙德庆县| 阿鲁科尔沁旗| 化隆| 平和县| 汽车| 盐山县| 法库县| 泰来县| 丽水市| 射阳县| 西乌珠穆沁旗| 安化县| 新巴尔虎右旗| 南安市| 宾川县| 榆社县| 开鲁县| 顺义区| 北流市| 集安市| 巫溪县| 蒙阴县| 道孚县| 大连市| 南宁市| 双江| 广平县| 江山市| 连州市| 兴仁县| 当雄县| 平陆县|