LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Fri Nov 30 18:08:30 CET 2007
    Subject: [cvs-checkins] MODIFIED: aemb ...
    Top
    Date: 00/07/11 30:18:08

    Modified: aemb/sim/verilog edk32.v
    Log:
    Moved simulation kernel into code.


    Revision Changes Path
    1.10 aemb/sim/verilog/edk32.v

    http://www.opencores.org/cvsweb.shtml/aemb/sim/verilog/edk32.v.diff?r1=1.9&r2=1.10

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: edk32.v
    ===================================================================
    RCS file: /cvsroot/sybreon/aemb/sim/verilog/edk32.v,v
    retrieving revision 1.9
    retrieving revision 1.10
    diff -u -b -r1.9 -r1.10
    --- edk32.v 20 Nov 2007 18:36:00 -0000 1.9
    +++ edk32.v 30 Nov 2007 17:08:30 -0000 1.10
    @@ -1,4 +1,4 @@
    -// $Id: edk32.v,v 1.9 2007/11/20 18:36:00 sybreon Exp $
    +// $Id: edk32.v,v 1.10 2007/11/30 17:08:30 sybreon Exp $
    //
    // AEMB EDK 3.2 Compatible Core TEST
    //
    @@ -20,6 +20,9 @@
    // License along with AEMB. If not, see <http://www.gnu.org/licenses/>.
    //
    // $Log: edk32.v,v $
    +// Revision 1.10 2007/11/30 17:08:30 sybreon
    +// Moved simulation kernel into code.
    +//
    // Revision 1.9 2007/11/20 18:36:00 sybreon
    // Removed unnecessary byte acrobatics with VMEM data.
    //
    @@ -127,7 +130,6 @@
    assign dwb_dat_i = ram[dadr];
    assign fsl_dat_i = fsl_adr_o;

    -//`define POSEDGE
    `ifdef POSEDGE

    always @(posedge sys_clk_i)
    @@ -142,7 +144,7 @@
    iwb_ack_i <= #1 iwb_stb_o ^ iwb_ack_i;
    dwb_ack_i <= #1 dwb_stb_o ^ dwb_ack_i;
    fsl_ack_i <= #1 fsl_stb_o ^ fsl_ack_i;
    - end
    + end // else: !if(sys_rst_i)

    always @(posedge sys_clk_i) begin
    iadr <= #1 iwb_adr_o;
    @@ -159,7 +161,7 @@
    4'hF: ram[dwb_adr_o] <= {dwb_dat_o};
    endcase // case (dwb_sel_o)
    end // if (dwb_we_o & dwb_stb_o)
    - end // always @ (negedge sys_clk_i)
    + end // always @ (posedge sys_clk_i)

    `else // !`ifdef POSEDGE

    @@ -175,7 +177,7 @@
    iwb_ack_i <= #1 iwb_stb_o;
    dwb_ack_i <= #1 dwb_stb_o;
    fsl_ack_i <= #1 fsl_stb_o;
    - end
    + end // else: !if(sys_rst_i)

    always @(negedge sys_clk_i) begin
    iadr <= #1 iwb_adr_o;
    @@ -207,8 +209,6 @@

    // DISPLAY OUTPUTS ///////////////////////////////////////////////////

    - //assign dut.rRESULT = dut.rSIMM;
    -
    integer rnd;

    always @(posedge sys_clk_i) begin
    @@ -248,189 +248,6 @@
    end
    end // always @ (posedge sys_clk_i)

    -
    - always @(posedge sys_clk_i) if (dut.gena) begin
    - $write ("\n", ($stime/10));
    - $writeh ("\tPC=", {iwb_adr_o,2'd0});
    -
    - // DECODE
    - $writeh ("\t");
    -
    - case ({dut.rBRA, dut.rDLY})
    - 2'b00: $write(" ");
    - 2'b01: $write(".");
    - 2'b10: $write("-");
    - 2'b11: $write("+");
    - endcase // case ({dut.rBRA, dut.rDLY})
    -
    - case (dut.rOPC)
    - 6'o00: if (dut.rRD == 0) $write(" "); else $write("ADD"); - 6'o01: $write("RSUB"); - 6'o02: $write("ADDC"); - 6'o03: $write("RSUBC"); - 6'o04: $write("ADDK"); - 6'o05: case (dut.rIMM[1:0]) - 2'o0: $write("RSUBK"); - 2'o1: $write("CMP"); - 2'o3: $write("CMPU"); - default: $write("XXX"); - endcase // case (dut.rIMM[1:0]) - 6'o06: $write("ADDKC"); - 6'o07: $write("RSUBKC"); - - 6'o10: $write("ADDI"); - 6'o11: $write("RSUBI"); - 6'o12: $write("ADDIC"); - 6'o13: $write("RSUBIC"); - 6'o14: $write("ADDIK"); - 6'o15: $write("RSUBIK"); - 6'o16: $write("ADDIKC"); - 6'o17: $write("RSUBIKC"); - - 6'o20: $write("MUL"); - 6'o21: case (dut.rALT[10:9]) - 2'o0: $write("BSRL"); - 2'o1: $write("BSRA"); - 2'o2: $write("BSLL"); - default: $write("XXX"); - endcase // case (dut.rALT[10:9]) - 6'o22: $write("IDIV"); - - 6'o30: $write("MULI"); - 6'o31: case (dut.rALT[10:9]) - 2'o0: $write("BSRLI"); - 2'o1: $write("BSRAI"); - 2'o2: $write("BSLLI"); - default: $write("XXX"); - endcase // case (dut.rALT[10:9]) - 6'o33: case (dut.rRB[4:2]) - 3'o0: $write("GET"); - 3'o4: $write("PUT"); - 3'o2: $write("NGET"); - 3'o6: $write("NPUT"); - 3'o1: $write("CGET"); - 3'o5: $write("CPUT"); - 3'o3: $write("NCGET"); - 3'o7: $write("NCPUT"); - endcase // case (dut.rRB[4:2]) - - - 6'o40: $write("OR"); - 6'o41: $write("AND"); - 6'o42: if (dut.rRD == 0) $write(" "); else $write("XOR"); - 6'o43: $write("ANDN"); - 6'o44: case (dut.rIMM[6:5]) - 2'o0: $write("SRA"); - 2'o1: $write("SRC"); - 2'o2: $write("SRL"); - 2'o3: if (dut.rIMM[0]) $write("SEXT16"); else $write("SEXT8"); - endcase // case (dut.rIMM[6:5]) - - 6'o45: $write("MOV"); - 6'o46: case (dut.rRA[3:2]) - 3'o0: $write("BR"); - 3'o1: $write("BRL"); - 3'o2: $write("BRA"); - 3'o3: $write("BRAL"); - endcase // case (dut.rRA[3:2]) - - 6'o47: case (dut.rRD[2:0]) - 3'o0: $write("BEQ"); - 3'o1: $write("BNE"); - 3'o2: $write("BLT"); - 3'o3: $write("BLE"); - 3'o4: $write("BGT"); - 3'o5: $write("BGE"); - default: $write("XXX"); - endcase // case (dut.rRD[2:0]) - - 6'o50: $write("ORI"); - 6'o51: $write("ANDI"); - 6'o52: $write("XORI"); - 6'o53: $write("ANDNI"); - 6'o54: $write("IMMI"); - 6'o55: case (dut.rRD[1:0]) - 2'o0: $write("RTSD"); - 2'o1: $write("RTID"); - 2'o2: $write("RTBD"); - default: $write("XXX"); - endcase - 6'o56: case (dut.rRA[3:2]) - 3'o0: $write("BRI"); - 3'o1: $write("BRLI"); - 3'o2: $write("BRAI"); - 3'o3: $write("BRALI"); - endcase // case (dut.rRA[3:2]) - 6'o57: case (dut.rRD[2:0]) - 3'o0: $write("BEQI"); - 3'o1: $write("BNEI"); - 3'o2: $write("BLTI"); - 3'o3: $write("BLEI"); - 3'o4: $write("BGTI"); - 3'o5: $write("BGEI"); - default: $write("XXX"); - endcase // case (dut.rRD[2:0]) - - 6'o60: $write("LBU"); - 6'o61: $write("LHU"); - 6'o62: $write("LW"); - 6'o64: $write("SB"); - 6'o65: $write("SH"); - 6'o66: $write("SW"); - - 6'o70: $write("LBUI"); - 6'o71: $write("LHUI"); - 6'o72: $write("LWI"); - 6'o74: $write("SBI"); - 6'o75: $write("SHI"); - 6'o76: $write("SWI"); - - default: $write("XXX"); - endcase // case (dut.rOPC) - - case (dut.rOPC[3]) - 1'b1: $writeh("\tr",dut.rRD,", r",dut.rRA,", h",dut.rIMM); - 1'b0: $writeh("\tr",dut.rRD,", r",dut.rRA,", r",dut.rRB," "); - endcase // case (dut.rOPC[3]) - - - // ALU - $write("\t"); - //$writeh(" I=",dut.rSIMM); - $writeh(" A=",dut.xecu.rOPA); - $writeh(" B=",dut.xecu.rOPB); - - case (dut.rMXALU) - 3'o0: $write(" ADD"); - 3'o1: $write(" LOG"); - 3'o2: $write(" SFT"); - 3'o3: $write(" MOV"); - 3'o4: $write(" MUL"); - 3'o5: $write(" BSF"); - default: $write(" XXX"); - endcase // case (dut.rMXALU) - $writeh("=h",dut.xecu.xRESULT); - - // WRITEBACK - $writeh("\tSR=", {dut.xecu.rMSR_BIP, dut.xecu.rMSR_C, dut.xecu.rMSR_IE, dut.xecu.rMSR_BE}," "); - - if (dut.regf.fRDWE) begin - case (dut.rMXDST) - 2'o2: begin - if (dut.dwb_stb_o) $writeh("R",dut.rRW,"=RAM(h",dut.regf.xWDAT,")"); - if (dut.fsl_stb_o) $writeh("R",dut.rRW,"=FSL(h",dut.regf.xWDAT,")"); - end - 2'o1: $writeh("R",dut.rRW,"=LNK(h",dut.regf.xWDAT,")"); - 2'o0: $writeh("R",dut.rRW,"=ALU(h",dut.regf.xWDAT,")"); - endcase // case (dut.rMXDST) - end - - // STORE - if (dwb_stb_o & dwb_we_o) $writeh("RAM(",{dwb_adr_o,2'd0},")=",dwb_dat_o,":",dwb_sel_o); - - end // if (dut.gena) - - // INTERNAL WIRING //////////////////////////////////////////////////// aeMB_edk32 #(16,16) @@ -459,8 +276,4 @@ .sys_rst_i(sys_rst_i) ); - - - - endmodule // edk32

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.