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

Subversion Repositories zet86

[/] [zet86/] [trunk/] [sim/] [testbench.v] - Diff between revs 35 and 42

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

Rev 35 Rev 42
Line 10... Line 10...
  wire        tga;
  wire        tga;
  wire [ 1:0] sel;
  wire [ 1:0] sel;
  wire        stb;
  wire        stb;
  wire        cyc;
  wire        cyc;
  wire        ack, mem_ack, io_ack;
  wire        ack, mem_ack, io_ack;
 
  wire        inta;
 
 
  reg         clk;
  reg         clk;
  reg         rst;
  reg         rst;
 
 
  reg  [15:0] io_reg;
  reg  [15:0] io_reg;
 
 
 
  reg         intr;
 
 
  // Module instantiations
  // Module instantiations
  memory mem0 (
  memory mem0 (
    .wb_clk_i (clk),
    .wb_clk_i (clk),
    .wb_rst_i (rst),
    .wb_rst_i (rst),
    .wb_dat_i (dat_o),
    .wb_dat_i (dat_o),
Line 41... Line 44...
    .wb_we_o  (we),
    .wb_we_o  (we),
    .wb_tga_o (tga),
    .wb_tga_o (tga),
    .wb_sel_o (sel),
    .wb_sel_o (sel),
    .wb_stb_o (stb),
    .wb_stb_o (stb),
    .wb_cyc_o (cyc),
    .wb_cyc_o (cyc),
    .wb_ack_i (ack)
    .wb_ack_i (ack),
 
    .wb_tgc_i (intr),
 
    .wb_tgc_o (inta)
  );
  );
 
 
  // Assignments
  // Assignments
  assign io_dat_i = (adr[15:1]==15'h5b) ? { io_reg[7:0], 8'h0 }
  assign io_dat_i = (adr[15:1]==15'h5b) ? { io_reg[7:0], 8'h0 }
    : ((adr[15:1]==15'h5c) ? { 8'h0, io_reg[15:8] } : 16'h0);
    : ((adr[15:1]==15'h5c) ? { 8'h0, io_reg[15:8] } : 16'h0);
  assign dat_i = tga ? io_dat_i : mem_dat_i;
  assign dat_i = inta ? 16'd3 : (tga ? io_dat_i : mem_dat_i);
 
 
  assign ack    = tga ? io_ack : mem_ack;
  assign ack    = tga ? io_ack : mem_ack;
  assign io_ack = stb;
  assign io_ack = stb;
 
 
  // Behaviour
  // Behaviour
Line 64... Line 69...
 
 
  always #1 clk = ~clk;
  always #1 clk = ~clk;
 
 
  initial
  initial
    begin
    begin
 
         intr <= 1'b0;
         clk <= 1'b1;
         clk <= 1'b1;
         rst <= 1'b0;
         rst <= 1'b0;
      #5 rst <= 1'b1;
      #5 rst <= 1'b1;
      #2 rst <= 1'b0;
      #2 rst <= 1'b0;
 
 
 
      #1000 intr <= 1'b1;
 
      @(posedge inta)
 
      @(posedge clk) intr <= 1'b0;
    end
    end
 
 
endmodule
endmodule
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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