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

Subversion Repositories next186

[/] [next186/] [trunk/] [Next186_ALU.v] - Diff between revs 9 and 12

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 9 Rev 12
Line 89... Line 89...
         output reg [15:0]FOUT,
         output reg [15:0]FOUT,
    output reg [15:0]ALUOUT,
    output reg [15:0]ALUOUT,
         output reg ALUCONT,
         output reg ALUCONT,
         output NULLSHIFT,
         output NULLSHIFT,
         output COUT,
         output COUT,
         output SOUT,
 
         input [2:0]STAGE,
         input [2:0]STAGE,
         input CLK
         input CLK
    );
    );
 
 
        reg CPLOP2;
        reg CPLOP2;
Line 117... Line 116...
// ADDER                
// ADDER                
        assign {AF, SUMOUT[3:0]} = SUMOP1[3:0] + SUMOP2[3:0] + SCIN;
        assign {AF, SUMOUT[3:0]} = SUMOP1[3:0] + SUMOP2[3:0] + SCIN;
        assign {SC8OUT, SUMOUT[7:4]} = SUMOP1[7:4] + SUMOP2[7:4] + AF;
        assign {SC8OUT, SUMOUT[7:4]} = SUMOP1[7:4] + SUMOP2[7:4] + AF;
        assign {SC16OUT, SUMOUT[15:8]} = SUMOP1[15:8] + SUMOP2[15:8] + SC8OUT;
        assign {SC16OUT, SUMOUT[15:8]} = SUMOP1[15:8] + SUMOP2[15:8] + SC8OUT;
        assign COUT = (WORD ? SC16OUT : SC8OUT) ^ CPLOP2;
        assign COUT = (WORD ? SC16OUT : SC8OUT) ^ CPLOP2;
        assign SOUT = WORD ? SUMOUT[15] : SUMOUT[7];
 
 
 
// SHIFTER
// SHIFTER
        reg [4:0]SHNOPT; // optimized shift
        reg [4:0]SHNOPT; // optimized shift
        wire [4:0]SHN = {STAGE[2:1] ^ SHNOPT[4:3], SHNOPT[2:0]};
        wire [4:0]SHN = {STAGE[2:1] ^ SHNOPT[4:3], SHNOPT[2:0]};
        assign NULLSHIFT = ~|SHNOPT;
        assign NULLSHIFT = ~|SHNOPT;

powered by: WebSVN 2.1.0

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