📄 the_6th_mul.v
字号:
module The_6th_MUL(OUT_HIGH,OUT_LOW,IN_1,IN_2);
parameter width = 8;
output [width-1:0] OUT_HIGH; reg [width-1:0] OUT_HIGH; //结果的高八位
output [width-1:0] OUT_LOW; reg [width-1:0] OUT_LOW; //结果的低八位
input [width-1:0] IN_1; //被乘数
input [width-1:0] IN_2; //乘数
reg [width-1:0] HIGH;
reg [width-1:0] LOW;
always @(HIGH or LOW )
begin
{OUT_HIGH,OUT_LOW} = {HIGH,LOW};
end
always @(IN_1 or IN_2)
begin //计算IN_1乘以IN_2
{HIGH,LOW} = 'b0;
{HIGH,LOW} ={HIGH,LOW} + {8'b0,IN_1&{8{IN_2[7]}}};
{HIGH,LOW} ={HIGH[width-2:0],LOW[width-1:0],HIGH[width-1]};
{HIGH,LOW} ={HIGH,LOW} + {8'b0,IN_1&{8{IN_2[6]}}};
{HIGH,LOW} ={HIGH[width-2:0],LOW[width-1:0],HIGH[width-1]};
{HIGH,LOW} ={HIGH,LOW} + {8'b0,IN_1&{8{IN_2[5]}}};
{HIGH,LOW} ={HIGH[width-2:0],LOW[width-1:0],HIGH[width-1]};
{HIGH,LOW} ={HIGH,LOW} + {8'b0,IN_1&{8{IN_2[4]}}};
{HIGH,LOW} ={HIGH[width-2:0],LOW[width-1:0],HIGH[width-1]};
{HIGH,LOW} ={HIGH,LOW} + {8'b0,IN_1&{8{IN_2[3]}}};
{HIGH,LOW} ={HIGH[width-2:0],LOW[width-1:0],HIGH[width-1]};
{HIGH,LOW} ={HIGH,LOW} + {8'b0,IN_1&{8{IN_2[2]}}};
{HIGH,LOW} ={HIGH[width-2:0],LOW[width-1:0],HIGH[width-1]};
{HIGH,LOW} ={HIGH,LOW} + {8'b0,IN_1&{8{IN_2[1]}}};
{HIGH,LOW} ={HIGH[width-2:0],LOW[width-1:0],HIGH[width-1]};
{HIGH,LOW} ={HIGH,LOW} + {8'b0,IN_1&{8{IN_2[0]}}};
end
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -