mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Rewrote convert shift calculation with always for ease of reading
This commit is contained in:
parent
7f8ee1e5f4
commit
7c744f0053
@ -60,10 +60,11 @@ module cvtshiftcalc(
|
|||||||
// - otherwise:
|
// - otherwise:
|
||||||
// | LzcInM | 0's if nessisary |
|
// | LzcInM | 0's if nessisary |
|
||||||
// change to int shift to the left one
|
// change to int shift to the left one
|
||||||
assign CvtShiftIn = ToInt ? {{`XLEN{1'b0}}, Xm[`NF]&~CvtCe[`NE], Xm[`NF-1]|(CvtCe[`NE]&Xm[`NF]), Xm[`NF-2:0], {`CVTLEN-`XLEN{1'b0}}} :
|
|
||||||
CvtResDenormUf ? {{`NF-1{1'b0}}, Xm, {`CVTLEN-`NF+1{1'b0}}} :
|
|
||||||
{CvtLzcIn, {`NF+1{1'b0}}};
|
|
||||||
|
|
||||||
|
always_comb
|
||||||
|
if (ToInt) CvtShiftIn = {{`XLEN{1'b0}}, Xm[`NF]&~CvtCe[`NE], Xm[`NF-1]|(CvtCe[`NE]&Xm[`NF]), Xm[`NF-2:0], {`CVTLEN-`XLEN{1'b0}}};
|
||||||
|
else if (CvtResDenormUf) CvtShiftIn = {{`NF-1{1'b0}}, Xm, {`CVTLEN-`NF+1{1'b0}}};
|
||||||
|
else CvtShiftIn = {CvtLzcIn, {`NF+1{1'b0}}};
|
||||||
|
|
||||||
// choose the negative of the fraction size
|
// choose the negative of the fraction size
|
||||||
if (`FPSIZES == 1) begin
|
if (`FPSIZES == 1) begin
|
||||||
|
Loading…
Reference in New Issue
Block a user