mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-03 18:25:27 +00:00
Added more pipeline stage suffixes to divider
This commit is contained in:
parent
24bb3f4baf
commit
371f9d9a4a
@ -63,12 +63,12 @@ module intdivrestoring (
|
|||||||
|
|
||||||
// Take absolute value for signed operations
|
// Take absolute value for signed operations
|
||||||
neg #(`XLEN) negd(DSavedE, DnE);
|
neg #(`XLEN) negd(DSavedE, DnE);
|
||||||
mux2 #(`XLEN) dabsmux(DSavedE, DnE, SignedDivideE & SignDE, Din); // take absolute value for signed operations
|
mux2 #(`XLEN) dabsmux(DnE, DSavedE, SignedDivideE & SignDE, DAbsB); // take absolute value for signed operations, and negate for subtraction setp
|
||||||
neg #(`XLEN) negx(XSavedE, XnE);
|
neg #(`XLEN) negx(XSavedE, XnE);
|
||||||
mux2 #(`XLEN) xabsmux(XSavedE, XnE, SignedDivideE & SignXE, Xinit); // need original X as remainder if doing divide by 0
|
mux2 #(`XLEN) xabsmux(XSavedE, XnE, SignedDivideE & SignXE, Xinit); // need original X as remainder if doing divide by 0
|
||||||
|
|
||||||
// Negate D for subtraction
|
// Negate D for subtraction
|
||||||
assign DAbsB = ~Din;
|
//assign DAbsB = ~Din;
|
||||||
// *** merge this into dabsmux if possible
|
// *** merge this into dabsmux if possible
|
||||||
// Put suffixes on Xinit, init->DivInitE, Wn, XQn
|
// Put suffixes on Xinit, init->DivInitE, Wn, XQn
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ module intdivrestoringstep(
|
|||||||
logic qi, qib;
|
logic qi, qib;
|
||||||
|
|
||||||
assign {WShift, XQOut} = {W[`XLEN-2:0], XQ, qi};
|
assign {WShift, XQOut} = {W[`XLEN-2:0], XQ, qi};
|
||||||
assign {qib, WPrime} = {1'b0, WShift} + {1'b1, DAbsB} + 1; // subtractor, carry out determines quotient bit ***replace with add
|
assign {qib, WPrime} = {1'b0, WShift} + {1'b1, DAbsB} /*+ 1*/; // subtractor, carry out determines quotient bit ***replace with add
|
||||||
assign qi = ~qib;
|
assign qi = ~qib;
|
||||||
mux2 #(`XLEN) wrestoremux(WShift, WPrime, qi, WOut);
|
mux2 #(`XLEN) wrestoremux(WShift, WPrime, qi, WOut);
|
||||||
endmodule
|
endmodule
|
||||||
|
Loading…
Reference in New Issue
Block a user