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

Subversion Repositories aemb

[/] [aemb/] [trunk/] [sim/] [verilog/] [edk62.v] - Diff between revs 143 and 157

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

Rev 143 Rev 157
Line 1... Line 1...
/* $Id: edk62.v,v 1.2 2008-04-27 16:28:19 sybreon Exp $
/* $Id: edk62.v,v 1.3 2008-05-01 08:33:20 sybreon Exp $
**
**
** AEMB2 EDK 6.2 COMPATIBLE CORE
** AEMB2 EDK 6.2 COMPATIBLE CORE
** Copyright (C) 2004-2008 Shawn Tan <shawn.tan@aeste.net>
** Copyright (C) 2004-2008 Shawn Tan <shawn.tan@aeste.net>
**
**
** This file is part of AEMB.
** This file is part of AEMB.
Line 33... Line 33...
   localparam AEMB_IDX = 6;
   localparam AEMB_IDX = 6;
   localparam AEMB_HTX = 1;
   localparam AEMB_HTX = 1;
   localparam AEMB_BSF = 1;
   localparam AEMB_BSF = 1;
   localparam AEMB_MUL = 1;
   localparam AEMB_MUL = 1;
   localparam AEMB_XSL = 1;
   localparam AEMB_XSL = 1;
 
   localparam AEMB_DIV = 0;
 
   localparam AEMB_FPU = 0;
 
 
   /*AUTOREGINPUT*/
   /*AUTOREGINPUT*/
   // Beginning of automatic reg inputs (for undeclared instantiated-module inputs)
   // Beginning of automatic reg inputs (for undeclared instantiated-module inputs)
   reg                  dwb_ack_i;              // To uut of aeMB2_edk62.v
   reg                  dwb_ack_i;              // To uut of aeMB2_edk62.v
   reg                  iwb_ack_i;              // To uut of aeMB2_edk62.v
   reg                  iwb_ack_i;              // To uut of aeMB2_edk62.v
   reg                  sys_clk_i;              // To uut of aeMB2_edk62.v
   reg                  sys_clk_i;              // To uut of aeMB2_edk62.v
   reg                  sys_ena_i;              // To uut of aeMB2_edk62.v
   reg                  sys_ena_i;              // To uut of aeMB2_edk62.v
 
   reg                  sys_int_i;              // To uut of aeMB2_edk62.v
   reg                  sys_rst_i;              // To uut of aeMB2_edk62.v
   reg                  sys_rst_i;              // To uut of aeMB2_edk62.v
   reg                  xwb_ack_i;              // To uut of aeMB2_edk62.v
   reg                  xwb_ack_i;              // To uut of aeMB2_edk62.v
   // End of automatics
   // End of automatics
 
 
   always #5 sys_clk_i <= !sys_clk_i;
   always #5 sys_clk_i <= !sys_clk_i;
Line 55... Line 58...
      `endif
      `endif
 
 
      sys_clk_i = 0;
      sys_clk_i = 0;
      sys_rst_i = 1;
      sys_rst_i = 1;
      sys_ena_i = 1;
      sys_ena_i = 1;
 
      sys_int_i = 1;
 
 
      xwb_ack_i = 0;
      xwb_ack_i = 0;
 
 
      #50 sys_rst_i = 0;
      #50 sys_rst_i = 0;
      #4000000 $displayh("\n*** TIMEOUT ", $stime, " ***"); $finish;
      #4000000 $displayh("\n*** TIMEOUT ", $stime, " ***"); $finish;
 
 
Line 75... Line 80...
   wire                 dwb_wre_o;              // From uut of aeMB2_edk62.v
   wire                 dwb_wre_o;              // From uut of aeMB2_edk62.v
   wire [AEMB_IWB-1:2]  iwb_adr_o;              // From uut of aeMB2_edk62.v
   wire [AEMB_IWB-1:2]  iwb_adr_o;              // From uut of aeMB2_edk62.v
   wire                 iwb_cyc_o;              // From uut of aeMB2_edk62.v
   wire                 iwb_cyc_o;              // From uut of aeMB2_edk62.v
   wire [3:0]            iwb_sel_o;              // From uut of aeMB2_edk62.v
   wire [3:0]            iwb_sel_o;              // From uut of aeMB2_edk62.v
   wire                 iwb_stb_o;              // From uut of aeMB2_edk62.v
   wire                 iwb_stb_o;              // From uut of aeMB2_edk62.v
 
   wire                 iwb_tag_o;              // From uut of aeMB2_edk62.v
   wire                 iwb_wre_o;              // From uut of aeMB2_edk62.v
   wire                 iwb_wre_o;              // From uut of aeMB2_edk62.v
   wire [AEMB_XWB-1:2]  xwb_adr_o;              // From uut of aeMB2_edk62.v
   wire [AEMB_XWB-1:2]  xwb_adr_o;              // From uut of aeMB2_edk62.v
   wire                 xwb_cyc_o;              // From uut of aeMB2_edk62.v
   wire                 xwb_cyc_o;              // From uut of aeMB2_edk62.v
   wire [31:0]           xwb_dat_o;              // From uut of aeMB2_edk62.v
   wire [31:0]           xwb_dat_o;              // From uut of aeMB2_edk62.v
   wire [3:0]            xwb_sel_o;              // From uut of aeMB2_edk62.v
   wire [3:0]            xwb_sel_o;              // From uut of aeMB2_edk62.v
Line 125... Line 131...
      // SPECIAL PORTS
      // SPECIAL PORTS
      if (dwb_wre_o & dwb_stb_o & dwb_ack_i) begin
      if (dwb_wre_o & dwb_stb_o & dwb_ack_i) begin
         case ({dwb_adr_o,2'o0})
         case ({dwb_adr_o,2'o0})
           32'hFFFFFFD0: $displayh(dwb_dat_o);
           32'hFFFFFFD0: $displayh(dwb_dat_o);
           32'hFFFFFFC0: $write("%c",dwb_dat_o[31:24]);
           32'hFFFFFFC0: $write("%c",dwb_dat_o[31:24]);
 
           32'hFFFFFFE0: sys_int_i <= #1 !sys_int_i;
         endcase // case ({dwb_adr_o,2'o0})
         endcase // case ({dwb_adr_o,2'o0})
 
 
         case (dwb_sel_o)
         case (dwb_sel_o)
           4'h1: ram[dwb_adr_o] <= {dwb_dat_t[31:8], dwb_dat_o[7:0]};
           4'h1: ram[dwb_adr_o] <= {dwb_dat_t[31:8], dwb_dat_o[7:0]};
           4'h2: ram[dwb_adr_o] <= {dwb_dat_t[31:16], dwb_dat_o[15:8], dwb_dat_t[7:0]};
           4'h2: ram[dwb_adr_o] <= {dwb_dat_t[31:16], dwb_dat_o[15:8], dwb_dat_t[7:0]};
Line 211... Line 218...
       .AEMB_XWB                        (AEMB_XWB),
       .AEMB_XWB                        (AEMB_XWB),
       .AEMB_ICH                        (AEMB_ICH),
       .AEMB_ICH                        (AEMB_ICH),
       .AEMB_IDX                        (AEMB_IDX),
       .AEMB_IDX                        (AEMB_IDX),
       .AEMB_BSF                        (AEMB_BSF),
       .AEMB_BSF                        (AEMB_BSF),
       .AEMB_MUL                        (AEMB_MUL),
       .AEMB_MUL                        (AEMB_MUL),
       .AEMB_XSL                        (AEMB_XSL),
       .AEMB_DIV                        (AEMB_DIV),
       .AEMB_HTX                        (AEMB_HTX))
       .AEMB_FPU                        (AEMB_FPU))
   uut
   uut
     (/*AUTOINST*/
     (/*AUTOINST*/
      // Outputs
      // Outputs
      .dwb_adr_o                        (dwb_adr_o[AEMB_DWB-1:2]),
      .dwb_adr_o                        (dwb_adr_o[AEMB_DWB-1:2]),
      .dwb_cyc_o                        (dwb_cyc_o),
      .dwb_cyc_o                        (dwb_cyc_o),
Line 227... Line 234...
      .dwb_wre_o                        (dwb_wre_o),
      .dwb_wre_o                        (dwb_wre_o),
      .iwb_adr_o                        (iwb_adr_o[AEMB_IWB-1:2]),
      .iwb_adr_o                        (iwb_adr_o[AEMB_IWB-1:2]),
      .iwb_cyc_o                        (iwb_cyc_o),
      .iwb_cyc_o                        (iwb_cyc_o),
      .iwb_sel_o                        (iwb_sel_o[3:0]),
      .iwb_sel_o                        (iwb_sel_o[3:0]),
      .iwb_stb_o                        (iwb_stb_o),
      .iwb_stb_o                        (iwb_stb_o),
 
      .iwb_tag_o                        (iwb_tag_o),
      .iwb_wre_o                        (iwb_wre_o),
      .iwb_wre_o                        (iwb_wre_o),
      .xwb_adr_o                        (xwb_adr_o[AEMB_XWB-1:2]),
      .xwb_adr_o                        (xwb_adr_o[AEMB_XWB-1:2]),
      .xwb_cyc_o                        (xwb_cyc_o),
      .xwb_cyc_o                        (xwb_cyc_o),
      .xwb_dat_o                        (xwb_dat_o[31:0]),
      .xwb_dat_o                        (xwb_dat_o[31:0]),
      .xwb_sel_o                        (xwb_sel_o[3:0]),
      .xwb_sel_o                        (xwb_sel_o[3:0]),
Line 242... Line 250...
      .dwb_dat_i                        (dwb_dat_i[31:0]),
      .dwb_dat_i                        (dwb_dat_i[31:0]),
      .iwb_ack_i                        (iwb_ack_i),
      .iwb_ack_i                        (iwb_ack_i),
      .iwb_dat_i                        (iwb_dat_i[31:0]),
      .iwb_dat_i                        (iwb_dat_i[31:0]),
      .sys_clk_i                        (sys_clk_i),
      .sys_clk_i                        (sys_clk_i),
      .sys_ena_i                        (sys_ena_i),
      .sys_ena_i                        (sys_ena_i),
 
      .sys_int_i                        (sys_int_i),
      .sys_rst_i                        (sys_rst_i),
      .sys_rst_i                        (sys_rst_i),
      .xwb_ack_i                        (xwb_ack_i),
      .xwb_ack_i                        (xwb_ack_i),
      .xwb_dat_i                        (xwb_dat_i[31:0]));
      .xwb_dat_i                        (xwb_dat_i[31:0]));
 
 
endmodule // edk62
endmodule // edk62
 
 
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.2  2008/04/27 16:28:19  sybreon
 
// Fixed minor typos.
 
//
// Revision 1.1  2008/04/26 18:09:16  sybreon
// Revision 1.1  2008/04/26 18:09:16  sybreon
// initial import
// initial import
//
//
 
 
// Local Variables:
// Local Variables:

powered by: WebSVN 2.1.0

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