URL
https://opencores.org/ocsvn/amber/amber/trunk
[/] [amber/] [trunk/] [hw/] [vlog/] [amber25/] [a25_multiply.v] - Diff between revs 16 and 35
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 16 |
Rev 35 |
Line 53... |
Line 53... |
// case of two max negative numbers another bit is required.
|
// case of two max negative numbers another bit is required.
|
//
|
//
|
|
|
module a25_multiply (
|
module a25_multiply (
|
input i_clk,
|
input i_clk,
|
input i_access_stall,
|
input i_core_stall,
|
|
|
input [31:0] i_a_in, // Rds
|
input [31:0] i_a_in, // Rds
|
input [31:0] i_b_in, // Rm
|
input [31:0] i_b_in, // Rm
|
input [1:0] i_function,
|
input [1:0] i_function,
|
input i_execute,
|
input i_execute,
|
Line 186... |
Line 186... |
count_nxt = count + 1'd1;
|
count_nxt = count + 1'd1;
|
end
|
end
|
|
|
|
|
always @ ( posedge i_clk )
|
always @ ( posedge i_clk )
|
if ( !i_access_stall )
|
if ( !i_core_stall )
|
begin
|
begin
|
count <= i_execute ? count_nxt : count;
|
count <= i_execute ? count_nxt : count;
|
product <= i_execute ? product_nxt : product;
|
product <= i_execute ? product_nxt : product;
|
sum_acc1_carry <= i_execute ? sum_acc1_carry_nxt : sum_acc1_carry;
|
sum_acc1_carry <= i_execute ? sum_acc1_carry_nxt : sum_acc1_carry;
|
o_done <= i_execute ? count == 6'd31 : o_done;
|
o_done <= i_execute ? count == 6'd31 : o_done;
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.