URL
https://opencores.org/ocsvn/embedded_risc/embedded_risc/trunk
Subversion Repositories embedded_risc
[/] [embedded_risc/] [trunk/] [Verilog/] [ACC.V] - Rev 27
Compare with Previous | Blame | View Log
/****************************************************************************************MODULE: Sub Level Accumulator BlockFILE NAME: acc.vVERSION: 1.0DATE: September 28th, 2001AUTHOR: Hossein AmidiCOMPANY: California Unique Electrical Co.CODE TYPE: Register Transfer LevelInstantiations:DESCRIPTION:Sub Level RTL Accumulator block, with zero & negetive flagsHossein Amidi(C) September 2001California Unique Electric***************************************************************************************/`timescale 1ns / 1psmodule ACC( // Inputclock,reset,ACCInEn,ACCDataIn,// OutputACCNeg,ACCZero,ACCDataOut);// Parameterparameter DataWidth = 32;// Inputinput clock;input reset;input ACCInEn;input [DataWidth - 1 : 0] ACCDataIn;// Outputoutput ACCNeg;output ACCZero;output [DataWidth - 1 : 0] ACCDataOut;// Signal Declerationsreg [DataWidth - 1 : 0]rACCDataOut;// Assignmentsassign ACCDataOut = rACCDataOut;assign ACCNeg = rACCDataOut[31];assign ACCZero = ~((((((((((((((((ACCDataOut[0] | ACCDataOut[1]) |(ACCDataOut[2] | ACCDataOut[3])) |(ACCDataOut[4] | ACCDataOut[5])) |(ACCDataOut[6] | ACCDataOut[7])) |(ACCDataOut[8] | ACCDataOut[9])) |(ACCDataOut[10] | ACCDataOut[11])) |(ACCDataOut[12] | ACCDataOut[13])) |(ACCDataOut[14] | ACCDataOut[15])) |(ACCDataOut[16] | ACCDataOut[17])) |(ACCDataOut[18] | ACCDataOut[19])) |(ACCDataOut[20] | ACCDataOut[21])) |(ACCDataOut[22] | ACCDataOut[23])) |(ACCDataOut[24] | ACCDataOut[25])) |(ACCDataOut[26] | ACCDataOut[27])) |(ACCDataOut[28] | ACCDataOut[29])) |(ACCDataOut[30] | ACCDataOut[31])) ;always @(posedge reset or negedge clock)beginif(reset == 1'b1)rACCDataOut <= 32'h0000;elseif(ACCInEn == 1'b1)rACCDataOut <= ACCDataIn;elserACCDataOut <= rACCDataOut;endendmodule
