超前進製加法器

2021-07-25 21:03:46 字數 1287 閱讀 5925

在實時訊號處理中,常常要用到多位數字量的加法運算,但序列加法器速度較慢,超前進製加法器則能滿足要求,且結構並不複雜。現在普遍使用的並行加法器是超前進製加法器,只是在幾個全加器的基礎上增加了乙個超前進製形成邏輯,以減少由於逐步進製訊號的傳遞所造成的時延。 

具體的演算法為: 

s[i] = x[i] ^ y[i] ^ c[i]; 

c[i] = g[i-1] + p[i-1] * c[i-1]; 

其中: g[i] = x[i] * y[i]

p[i] = x[i] + y[i]

module

adder_4bits_parallel(a,b,c_in,sum,c_out);

input [3:0

] a;

input [3:0

] b;

input

c_in;

output [3:0

] sum;

output

c_out;

wire [3:0

] g, p;

wire [3:0

] c;

assign g[0] = a[0] & b[0

];assign p[0] = a[0] | b[0

];assign c[0] = g[0] | (p[0] & c_in);//

a和b的當前位都為1或者a和b有乙個為1且進製為1則當前位產生進製

assign sum[0] = a[0] ^ b[0] ^c_in;

assign g[1] = a[1] & b[1

];assign p[1] = a[1] | b[1

];assign c[1] = g[1] | (p[1] & c[0

]);assign sum[1] = a[1] ^ b[1] ^ c[0

];assign g[2] = a[2] & b[2

];assign p[2] = a[2] | b[2

];assign c[2] = g[2] | (p[2] & c[1

]);assign sum[2] = a[2] ^ b[2] ^ c[1

];assign g[3] = a[3] & b[3

];assign p[3] = a[3] | b[3

];assign c[3] = g[3] | (p[3] & c[2

]);assign sum[3] = a[3] ^ b[3] ^ c[2

];

assign c_out = c[3

];endmodule

超前進製加法器實驗報告 超前進製加法器

首先畫出2位全加器的真值表與卡諾圖 根據真值表可知二進位制加法與十進位制加法一樣,進製值是逢二進一.而和值則是上級進製值跟被加數跟加數總和模二的餘數.根據卡諾圖化簡得到s與ci 1的全加器電路為 多位加法器可以用行波進製加法器實現,也就是第一位的ci為0,第二位開始,ci就連線著上一級的ci 1,這...

序列加法器 並行加法器 超前進製加法器

1.序列加法器 序列加法器即加法器執行位序列行操作,利用多個時鐘週期完成一次加法運算,即輸入運算元和輸出結果方式為隨時鐘序列輸入 輸出。位並行加法器速度高,但是占用資源多。在許多實際應用中並不需要這樣高的速度,而是希望減少硬體資源佔用率,這時就可以使用位序列加法器。在序列加法器中,只有乙個全加器,資...

46 超前進製加法器

module add ahead sum,cout,a,b,cin output 7 0 sum output cout input 7 0 a,b input cin wire 7 0 g,p wire 7 0 c,sum assign g 0 a 0 b 0 產生第 0位本位值和進製值 assi...