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