URL
https://opencores.org/ocsvn/8051/8051/trunk
[/] [8051/] [tags/] [rel_1/] [rtl/] [verilog/] [oc8051_multiply.v] - Diff between revs 25 and 32
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 25 |
Rev 32 |
Line 84... |
Line 84... |
|
|
assign mul_result1 = src1 * (cycle == 2'h0 ? src2[7:6]
|
assign mul_result1 = src1 * (cycle == 2'h0 ? src2[7:6]
|
: cycle == 2'h1 ? src2[5:4]
|
: cycle == 2'h1 ? src2[5:4]
|
: cycle == 2'h2 ? src2[3:2]
|
: cycle == 2'h2 ? src2[3:2]
|
: src2[1:0]);
|
: src2[1:0]);
|
|
|
assign shifted = (cycle == 2'h0 ? 16'h0 : {tmp_mul[13:0], 2'b00});
|
assign shifted = (cycle == 2'h0 ? 16'h0 : {tmp_mul[13:0], 2'b00});
|
assign mul_result = mul_result1 + shifted;
|
assign mul_result = mul_result1 + shifted;
|
assign des1 = mul_result[15:8];
|
assign des1 = mul_result[15:8];
|
assign des2 = mul_result[7:0];
|
assign des2 = mul_result[7:0];
|
assign desOv = src2 != 8'h0;
|
assign desOv = | des1;
|
|
|
always @(posedge clk or posedge rst)
|
always @(posedge clk or posedge rst)
|
begin
|
begin
|
if (rst) begin
|
if (rst) begin
|
cycle <= #1 2'b0;
|
cycle <= #1 2'b0;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.