VL71. 乘法与位运算
描述
题目描述:
进行一个运算单元的电路设计,A[7:0]*11111011,尽量用最少的资源实现,写出对应的 RTL 代码。
信号示意:
A信号输入
B 信号输出
波形示意图:
输入描述
A信号输入输出描述
B 信号输出Verilog 解法, 执行用时: 0ms, 内存消耗: 0KB, 提交时间: 2022-08-06
`timescale 1ns/1ns module dajiang13( input [7:0] A, output [15:0] B ); //*************code***********// wire [15:0] C; wire [15:0] D; assign C = A << 8; assign D = A << 3; assign B = C - D + A + A + A; //*************code***********// endmodule
Verilog 解法, 执行用时: 0ms, 内存消耗: 0KB, 提交时间: 2022-08-06
`timescale 1ns/1ns module dajiang13( input [7:0] A, output [15:0] B ); //*************code***********// assign B=({A,{8'b0}})-({{6'b0},A,{2'b0}})-{{8'b0},A}; //*************code***********// endmodule
Verilog 解法, 执行用时: 0ms, 内存消耗: 0KB, 提交时间: 2022-08-06
`timescale 1ns/1ns module dajiang13( input [7:0] A, output [15:0] B ); //*************code***********// assign B = (A<<8) - (A<<2) - A; //*************code***********// endmodule
Verilog 解法, 执行用时: 0ms, 内存消耗: 0KB, 提交时间: 2022-08-05
`timescale 1ns/1ns module dajiang13( input [7:0] A, output [15:0] B ); //*************code***********// assign B = (A << 8) - (A << 2) - A; //*************code***********// endmodule
Verilog 解法, 执行用时: 0ms, 内存消耗: 0KB, 提交时间: 2022-08-05
`timescale 1ns/1ns module dajiang13( input [7:0] A, output [15:0] B ); //*************code***********// wire [15:0] reg0,reg1,reg2; assign reg0 = {A,8'd0}; assign reg1 = {6'd0,A,2'd0}; assign reg2 = {8'd0,A}; assign B = reg0 - reg1 - reg2; //*************code***********// endmodule