URL
https://opencores.org/ocsvn/next186/next186/trunk
[/] [next186/] [trunk/] [Next186_ALU.v] - Diff between revs 12 and 16
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 12 |
Rev 16 |
Line 70... |
Line 70... |
//
|
//
|
//
|
//
|
// FLAGS: X X X X OF DF IF TF | SF ZF X AF X PF X CF
|
// FLAGS: X X X X OF DF IF TF | SF ZF X AF X PF X CF
|
//
|
//
|
// 09Feb2013 - fixed DAA,DAS bug
|
// 09Feb2013 - fixed DAA,DAS bug
|
|
// 07Jul2013 - fixed OV/CY flags for IMUL
|
//////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////
|
`timescale 1ns / 1ps
|
`timescale 1ns / 1ps
|
|
|
module Next186_ALU(
|
module Next186_ALU(
|
input [15:0] RA,
|
input [15:0] RA,
|
Line 213... |
Line 214... |
FOUT[0] = LONIBBLE;
|
FOUT[0] = LONIBBLE;
|
FOUT[4] = LONIBBLE;
|
FOUT[4] = LONIBBLE;
|
end
|
end
|
5'b10000, 5'b10001 : begin // MUL, IMUL
|
5'b10000, 5'b10001 : begin // MUL, IMUL
|
ALUOUT = STAGE[1] ? MUL[31:16] : MUL[15:0];
|
ALUOUT = STAGE[1] ? MUL[31:16] : MUL[15:0];
|
FOUT[0] = WORD ? !zero : |MUL[15:8];
|
FOUT[0] = WORD ? !zero | (ALUOP[0] & MUL[15]): |MUL[15:8] | (ALUOP[0] & MUL[7]); //07Jul2013 - fixed OV/CY flags for IMUL
|
FOUT[11] = FOUT[0];
|
FOUT[11] = FOUT[0];
|
end
|
end
|
5'b11001: begin // flag op
|
5'b11001: begin // flag op
|
FOUT[11:8] = FIN[11:8];
|
FOUT[11:8] = FIN[11:8];
|
FOUT[7] = FIN[7];
|
FOUT[7] = FIN[7];
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.