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

Subversion Repositories cpu8080

[/] [cpu8080/] [trunk/] [project/] [testbench.v] - Diff between revs 9 and 11

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

Rev 9 Rev 11
Line 26... Line 26...
                 readio,   // Read I/O space
                 readio,   // Read I/O space
                 writeio,  // Write I/O space
                 writeio,  // Write I/O space
                 intr,     // Interrupt request 
                 intr,     // Interrupt request 
                 inta,     // Interrupt request 
                 inta,     // Interrupt request 
                 waitr,    // Wait request
                 waitr,    // Wait request
                 reset,    // Reset
                 r, g, b,  // vga colors
 
                 hsync_n,  // vga horizontal sync negative
 
                 vsync_n,  // vga vertical sync negative
 
                 reset_n,  // Reset
                 clock);   // System clock
                 clock);   // System clock
 
 
   output [15:0] addr;
   output [15:0] addr;
   inout  [7:0] data;
   inout  [7:0] data;
   output readmem;
   output readmem;
Line 38... Line 41...
   output readio;
   output readio;
   output writeio;
   output writeio;
   output intr;
   output intr;
   output inta;
   output inta;
   input  waitr;
   input  waitr;
   input  reset;
   output [2:0] r, g, b; // R,G,B color output buses
 
   output       hsync_n; // horizontal sync pulse
 
   output       vsync_n; // vertical sync pulse
 
   input  reset_n;
   input  clock;
   input  clock;
 
 
 
   reg [7:0] clkdiv;
 
   wire clocki;
 
   wire reset;
 
 
 
   initial clkdiv = 0;
 
 
 
   // divide down the clock so we can debug
 
   always @(posedge clock) clkdiv <= clkdiv+1; // count
 
   assign clocki = clkdiv[3]; // pick off top bit as internal clock
 
//   assign clocki = clock;
 
 
 
   //
 
   // Instantiations
 
   //
 
 
   // selector block, we only use select 1, 2 and 3
   // selector block, we only use select 1, 2 and 3
   select select1(addr, data, readio, writeio, romsel, ramsel, intsel,
   select select1(addr, data, readio, writeio, romsel, ramsel, intsel,
                  select4, bootstrap, clock, reset);
                  trmsel, bootstrap, clocki, reset);
 
 
 
   // 8080 CPU
   cpu8080 cpu(addr, data, readmem, writemem, readio, writeio, intr, inta, waitr,
   cpu8080 cpu(addr, data, readmem, writemem, readio, writeio, intr, inta, waitr,
               reset, clock);
               reset, clocki);
 
// assign readmem = 0;
 
// assign writemem = 0;
 
// assign readio = 0;
 
// assign writeio = 0;
 
// assign inta = 0;
 
// assign addr = 0;
 
 
 
   // Program rom
   rom rom(addr[9:0], data, romsel&readmem); // unclocked rom
   rom rom(addr[9:0], data, romsel&readmem); // unclocked rom
 
 
   // neg clocked ram
   // neg clocked ram
   ram ram(addr[9:0], data, ramsel, readmem, writemem, bootstrap, clock);
   ram ram(addr[9:0], data, ramsel, readmem, writemem, bootstrap, clocki);
 
 
   // neg clocked interrupt controller
   // neg clocked interrupt controller
   intcontrol intc(addr[2:0], data, writeio, readio, intsel, intr, inta, int0, int1,
   intcontrol intc(addr[2:0], data, writeio, readio, intsel, intr, inta, int0, int1,
                   int2, int3, int4, int5, int6, int7, reset, clock);
                   int2, int3, int4, int5, int6, int7, reset, clocki);
 
 
 
   // ADM3A dumb terminal
 
   terminal adm3a(addr[0], data, writeio, readio, trmsel, r, g, b, hsync_n, vsync_n,
 
                  reset, clock);
 
 
 
   // generate reset
 
   assign reset = !reset_n;
 
 
   // pull up unused interrupt lines
   // pull up unused interrupt lines
   assign int0 = 1;
   assign int0 = 1;
   assign int1 = 1;
   assign int1 = 1;
   assign int2 = 1;
   assign int2 = 1;
   assign int3 = 1;
   assign int3 = 1;
   assign int4 = 1;
   assign int4 = 1;
   assign int5 = 1;
   assign int5 = 1;
   assign int6 = 1;
   assign int6 = 1;
   assign int7 = 1;
   assign int7 = 1;
   // fake input device, always returns $42
 
   assign data = readio ? 8'h42: 8'bz;
 
 
 
endmodule
endmodule
 
 
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
//

powered by: WebSVN 2.1.0

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