Line 33... |
Line 33... |
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
//
|
//
|
// Modules contained in this file:
|
// Modules contained in this file:
|
// DATENPFAD the data path of M32632
|
// DATENPFAD the data path of M32632
|
//
|
//
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
module DATENPFAD( BCLK, BRESET, WREN, IO_READY, LD_DIN, LD_IMME, WR_REG, IC_USER, ACC_FELD, ACC_STAT
|
module DATENPFAD( BCLK, BRESET, WREN, IO_READY, LD_DIN, LD_IMME, WR_REG, IC_USER, ACC_FELD, ACC_STAT, DIN, DISP, IC_TEX,
|
IMME_Q, INFO_AU, LD_OUT, DETOIP, MMU_UPDATE, OPER, PC_ARCHI, PC_ICACHE, RDAA, RDAB, START, WMA
|
IMME_Q, INFO_AU, LD_OUT, DETOIP, MMU_UPDATE, OPER, PC_ARCHI, PC_ICACHE, RDAA, RDAB, START, WMASKE,
|
WRADR, DONE, Y_INIT, WRITE_OUT, READ_OUT, ZTEST, RMW, ACC_DONE, REG_OUT, PTB_SEL, PTB_WR, ACB_
|
WRADR, DONE, Y_INIT, WRITE_OUT, READ_OUT, ZTEST, RMW, ACC_DONE, REG_OUT, PTB_SEL, PTB_WR, ACB_ZERO,
|
ABORT, SAVE_PC, CFG, CINV, DP_Q, IVAR, MCR, PACKET, PC_NEW, PSR, SIZE, STRING, TRAPS, VADR, RW
|
ABORT, SAVE_PC, CFG, CINV, DP_Q, IVAR, MCR, PACKET, PC_NEW, PSR, SIZE, STRING, TRAPS, VADR, RWVFLAG,
|
DBG_HIT, DBG_IN, COP_GO, COP_OP, COP_IN, COP_DONE, COP_OUT);
|
DBG_HIT, DBG_IN, COP_GO, COP_OP, COP_IN, COP_DONE, COP_OUT);
|
|
|
input BCLK;
|
input BCLK;
|
input BRESET;
|
input BRESET;
|
input WREN; // write enable of the register file
|
input WREN; // write enable of the register file
|
Line 169... |
Line 169... |
|
|
always @(posedge BCLK) if (LD_DIN) OUT_I <= LD_IMME ? IMME_Q : DIN;
|
always @(posedge BCLK) if (LD_DIN) OUT_I <= LD_IMME ? IMME_Q : DIN;
|
|
|
always @(posedge BCLK) if (RDAA[7]) BYDIN <= ERGEBNIS;
|
always @(posedge BCLK) if (RDAA[7]) BYDIN <= ERGEBNIS;
|
|
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// Register Set 1 => SRC1
|
// Register Set 1 => SRC1
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
REGISTER REG_SET_A(
|
REGISTER REG_SET_A(
|
.BCLK(BCLK),
|
.BCLK(BCLK),
|
.ENWR(ENWR),
|
.ENWR(ENWR),
|
.DOWR(DOWR),
|
.DOWR(DOWR),
|
.DIN(ERGEBNIS),
|
.DIN(ERGEBNIS),
|
Line 186... |
Line 186... |
.SELI(SELI_A),
|
.SELI(SELI_A),
|
.DOUT(OUT_A));
|
.DOUT(OUT_A));
|
|
|
assign SRC1 = SELI_A ? OUT_I : OUT_A;
|
assign SRC1 = SELI_A ? OUT_I : OUT_A;
|
|
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// Register Set 2 => SRC2
|
// Register Set 2 => SRC2
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
REGISTER REG_SET_B(
|
REGISTER REG_SET_B(
|
.BCLK(BCLK),
|
.BCLK(BCLK),
|
.ENWR(ENWR),
|
.ENWR(ENWR),
|
.DOWR(DOWR),
|
.DOWR(DOWR),
|
.DIN(ERGEBNIS),
|
.DIN(ERGEBNIS),
|
Line 220... |
Line 220... |
|
|
BITMASK BITM_U(
|
BITMASK BITM_U(
|
.AA(BMCODE),
|
.AA(BMCODE),
|
.DOUT(BMASKE));
|
.DOUT(BMASKE));
|
|
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// The integer data path
|
// The integer data path
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
I_PFAD GANZ_U(
|
I_PFAD GANZ_U(
|
.FL(FL),
|
.FL(FL),
|
.BRESET(BRESET),
|
.BRESET(BRESET),
|
.BCLK(BCLK),
|
.BCLK(BCLK),
|
.WREN(WREN),
|
.WREN(WREN),
|
Line 256... |
Line 256... |
.STRING(STRING),
|
.STRING(STRING),
|
.OVF_BCD(OVF_BCD),
|
.OVF_BCD(OVF_BCD),
|
.DISP(DISP[4:0]),
|
.DISP(DISP[4:0]),
|
.RWVFLAG(RWVFLAG));
|
.RWVFLAG(RWVFLAG));
|
|
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// The address unit
|
// The address unit
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
ADDR_UNIT ADDR_U(
|
ADDR_UNIT ADDR_U(
|
.BCLK(BCLK),
|
.BCLK(BCLK),
|
.BRESET(BRESET),
|
.BRESET(BRESET),
|
.IO_READY(IO_READY),
|
.IO_READY(IO_READY),
|
.READ(ACC_FELD[11]),
|
.READ(ACC_FELD[11]),
|
Line 327... |
Line 327... |
.PCMATCH(DETOIP[12]),
|
.PCMATCH(DETOIP[12]),
|
.DBG_IN(DBG_IN),
|
.DBG_IN(DBG_IN),
|
.DBG_HIT(DBG_HIT),
|
.DBG_HIT(DBG_HIT),
|
.READ(READ_OUT) );
|
.READ(READ_OUT) );
|
|
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// The long operation unit
|
// The long operation unit
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
DP_FPU DOUBLE_U(
|
DP_FPU DOUBLE_U(
|
.BCLK(BCLK),
|
.BCLK(BCLK),
|
.FL(FL),
|
.FL(FL),
|
.BRESET(BRESET),
|
.BRESET(BRESET),
|
.LD_LDQ(LD_OUT[0]),
|
.LD_LDQ(LD_OUT[0]),
|
Line 360... |
Line 360... |
.COP_OP(COP_OP),
|
.COP_OP(COP_OP),
|
.COP_IN(COP_IN),
|
.COP_IN(COP_IN),
|
.COP_GO(COP_GO),
|
.COP_GO(COP_GO),
|
.COP_OUT(COP_OUT));
|
.COP_OUT(COP_OUT));
|
|
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// The single precision floating point unit
|
// The single precision floating point unit
|
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
SP_FPU SINGLE_U(
|
SP_FPU SINGLE_U(
|
.FL(FL),
|
.FL(FL),
|
.BCLK(BCLK),
|
.BCLK(BCLK),
|
.BWD(BWD),
|
.BWD(BWD),
|
.FSR(FSR[8:3]),
|
.FSR(FSR[8:3]),
|