mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Update fpctrl fmt to work for fround instructions
This commit is contained in:
parent
ae29a9b861
commit
fb77440a64
@ -273,10 +273,10 @@ module fctrl import cvw::*; #(parameter cvw_t P) (
|
|||||||
assign FmtD = 1'b0;
|
assign FmtD = 1'b0;
|
||||||
else if (P.FPSIZES == 2) begin
|
else if (P.FPSIZES == 2) begin
|
||||||
logic [1:0] FmtTmp;
|
logic [1:0] FmtTmp;
|
||||||
assign FmtTmp = ((Funct7D[6:3] == 4'b0100)&OpD[4]) ? Rs2D[1:0] : (~OpD[6]&(&OpD[2:0])) ? {~Funct3D[1], ~(Funct3D[1]^Funct3D[0])} : Funct7D[1:0];
|
assign FmtTmp = ((Funct7D[6:3] == 4'b0100)&OpD[4]&~Rs2D[2]) ? Rs2D[1:0] : (~OpD[6]&(&OpD[2:0])) ? {~Funct3D[1], ~(Funct3D[1]^Funct3D[0])} : Funct7D[1:0];
|
||||||
assign FmtD = (P.FMT == FmtTmp);
|
assign FmtD = (P.FMT == FmtTmp);
|
||||||
end else if (P.FPSIZES == 3|P.FPSIZES == 4)
|
end else if (P.FPSIZES == 3|P.FPSIZES == 4)
|
||||||
assign FmtD = ((Funct7D[6:3] == 4'b0100)&OpD[4]) ? Rs2D[1:0] : Funct7D[1:0];
|
assign FmtD = ((Funct7D[6:3] == 4'b0100)&OpD[4]&~Rs2D[2]) ? Rs2D[1:0] : Funct7D[1:0];
|
||||||
|
|
||||||
// Enables indicate that a source register is used and may need stalls. Also indicate special cases for infinity or NaN.
|
// Enables indicate that a source register is used and may need stalls. Also indicate special cases for infinity or NaN.
|
||||||
// When disabled infinity and NaN on source registers are ignored by the unpacker and thus special case logic.
|
// When disabled infinity and NaN on source registers are ignored by the unpacker and thus special case logic.
|
||||||
|
Loading…
Reference in New Issue
Block a user