乘法与位运算
乘法與位運算
題目描述
進行一個運算單元的電路設計,A[7:0]*11111011,盡量用最少的資源實現,寫出對應的 RTL 代碼。
題目解析
首先,考慮11111011是什么,其值為251,在乘法運算中可以將其分解為256 -4 -1,那么為什么是減去4和1呢 因為它們分別對應8‘b100和8’b1。
在位運算中,2的整數倍運算可以直接使用移位進行,這樣可以極大的減少資源占用
`timescale 1ns/1nsmodule dajiang13(input [7:0] A,output [15:0] B);//*************code***********//wire [15:0] reg1;wire [15:0] reg2;wire [15:0] reg3;assign reg1 = { A, {8{1'b0}}};assign reg2 = { {6{1'b0}} , A ,{2{1'b0}}};assign reg3 = { {8{1'b0}} , A};assign B = reg1 - reg2 - reg3;//*************code***********//endmodule總結
- 上一篇: 如何在Flash被淘汰后仍能打开swf文
- 下一篇: 全 加 器