數(shù)值計(jì)算中Bcd碼校驗(yàn)電路的分析與設(shè)計(jì)
reg [4:0] TEM P_RESULT;
本文引用地址:http://m.butianyuan.cn/article/84260.htmalways @(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
例如:兩個(gè)十進(jìn)制數(shù)2189+8075的正確結(jié)果應(yīng)為11064,可是,相加運(yùn)算后的結(jié)果為FEH,為此應(yīng)進(jìn)行BCD調(diào)整。將為經(jīng)校驗(yàn)的相加結(jié)果 0010,1001,1000,1001(十進(jìn)制2989)+1000,0000,0111, 0101(十進(jìn)制8075)=1010,1001,1111,1110代人上述BCD校驗(yàn)?zāi)K,可得仿真結(jié)果如圖四。
有圖可知data_o為1064 且進(jìn)位輸出為1,即總的結(jié)果為11064,這與2989+8075=11064的結(jié)果是一致的。
結(jié)束語
本文通過對Bcd碼算法和并/串行BCD校驗(yàn)電路的分析,提出了一種高效,快速的BCD校驗(yàn)?zāi)K。由上面仿真結(jié)果可知,此種電路速度較快,硬件電路簡單。適合實(shí)時(shí)處理系統(tǒng)。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評論