OpenCores
URL https://opencores.org/ocsvn/next186/next186/trunk

Subversion Repositories next186

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 8 to Rev 9
    Reverse comparison

Rev 8 → Rev 9

/next186/trunk/Next186_ALU.v
71,6 → 71,7
//
// FLAGS: X X X X OF DF IF TF | SF ZF X AF X PF X CF
//
// 09Feb2013 - fixed DAA,DAS bug
//////////////////////////////////////////////////////////////////////////////////
`timescale 1ns / 1ps
 
110,9 → 111,8
wire zero = ~|ALUOUT[15:0];
wire overflow8 = (SUMOP1[7] & SUMOP2[7] & !SUMOUT[7]) | (!SUMOP1[7] & !SUMOP2[7] & SUMOUT[7]);
wire overflow = (SUMOP1[15] & SUMOP2[15] & !SUMOUT[15]) | (!SUMOP1[15] & !SUMOP2[15] & SUMOUT[15]);
wire LO9 = RA[3:0] > 9;
wire LONIBBLE = LO9 | FIN[4];
wire HINIBBLE = (RA[7:4] > 8 && LO9) | FIN[0];
wire LONIBBLE = (RA[3:0] > 4'h9) || FIN[4];
wire HINIBBLE = (RA[7:0] > 8'h99) || FIN[0];
 
// ADDER
assign {AF, SUMOUT[3:0]} = SUMOP1[3:0] + SUMOP2[3:0] + SCIN;
207,8 → 207,8
end
5'b01100, 5'b01101: begin // DAA, DAS
ALUOUT = SUMOUT;
FOUT[0] = HINIBBLE ? 1'b1 : FIN[0];
FOUT[4] = LONIBBLE ? 1'b1 : FIN[4];
FOUT[0] = HINIBBLE;
FOUT[4] = LONIBBLE;
end
5'b01110, 5'b01111: begin // AAA, AAS
ALUOUT = {SUMOUT[15:8], 4'b0000, SUMOUT[3:0]};

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.