top_level.v 4.91 KB
////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module:      top_level
// description: Top Level Driver
//
// designer:    Rob Moore
// date:        8/23/94
//
////////////////////////////////////////////////////////////////////////

`timescale 10ps / 10ps  //1unit = 0.01ns

module top_level();

wire [7:0]   st_cc_r, st_cc_g, st_cc_b, st_cc_a;
wire [17:0]  st_bl_z;
wire [15:0]  st_tc_s, st_tc_t, st_tc_w, st_tc_l;
wire          startspan_r, startspan_g, startspan_b, startspan_a, startspan_z,
               startspan_s, startspan_t, startspan_w, startspan_l;
wire [15:0]   ep_st_r, ep_st_g, ep_st_b, ep_st_a;
wire [21:0]   ep_st_z;
wire [21:0]   ep_st_s, ep_st_t, ep_st_w, ep_st_l;
wire [21:0]   at_st_dxr, at_st_dxg, at_st_dxb, at_st_dxa;
wire [31:0]   at_st_dxz;
wire [26:0]   at_st_dxs, at_st_dxt, at_st_dxw, at_st_dxl;
wire [12:0]   at_st_dyr, at_st_dyg, at_st_dyb, at_st_dya;
wire [21:0]   at_st_dyz;
wire [1:0]    x_offsetr, x_offsetg, x_offsetb, x_offseta, x_offsetz,
               y_offsetr, y_offsetg, y_offsetb, y_offseta, y_offsetz;
wire          ncyc_r, ncyc_g, ncyc_b, ncyc_a, ncyc_z, // lsb of cycl_type
               ncyc_s, ncyc_t, ncyc_w, ncyc_l;
wire          left_r, left_g, left_b, left_a, left_z,
               left_s, left_t, left_w, left_l;
wire          gclk;


  // instance driver
  driver driver ( .st_cc_r(st_cc_r), .st_cc_g(st_cc_g), .st_cc_b(st_cc_b), .st_cc_a(st_cc_a),
               .st_bl_z(st_bl_z),
               .st_tc_s(st_tc_s), .st_tc_t(st_tc_t), .st_tc_w(st_tc_w), .st_tc_l(st_tc_l),
               .ep_st_r(ep_st_r), .startspan_r(startspan_r), .at_st_dxr(at_st_dxr), .at_st_dyr(at_st_dyr), .x_offsetr(x_offsetr), .y_offsetr(y_offsetr),
               .ep_st_g(ep_st_g), .startspan_g(startspan_g), .at_st_dxg(at_st_dxg), .at_st_dyg(at_st_dyg), .x_offsetg(x_offsetg), .y_offsetg(y_offsetg),
               .ep_st_b(ep_st_b), .startspan_b(startspan_b), .at_st_dxb(at_st_dxb), .at_st_dyb(at_st_dyb), .x_offsetb(x_offsetb), .y_offsetb(y_offsetb),
               .ep_st_a(ep_st_a), .startspan_a(startspan_a), .at_st_dxa(at_st_dxa), .at_st_dya(at_st_dya), .x_offseta(x_offseta), .y_offseta(y_offseta),
               .ep_st_z(ep_st_z), .startspan_z(startspan_z), .at_st_dxz(at_st_dxz), .at_st_dyz(at_st_dyz), .x_offsetz(x_offsetz), .y_offsetz(y_offsetz),
               .ep_st_s(ep_st_s), .startspan_s(startspan_s), .at_st_dxs(at_st_dxs),
               .ep_st_t(ep_st_t), .startspan_t(startspan_t), .at_st_dxt(at_st_dxt),
               .ep_st_w(ep_st_w), .startspan_w(startspan_w), .at_st_dxw(at_st_dxw),
               .ep_st_l(ep_st_l), .startspan_l(startspan_l), .at_st_dxl(at_st_dxl),
               .ncyc_r(ncyc_r), .ncyc_g(ncyc_g), .ncyc_b(ncyc_b), .ncyc_a(ncyc_a), .ncyc_z(ncyc_z), // lsb of cycl_type
               .ncyc_s(ncyc_s), .ncyc_t(ncyc_t), .ncyc_w(ncyc_w), .ncyc_l(ncyc_l),
               .left_r(left_r), .left_g(left_g), .left_b(left_b), .left_a(left_a), .left_z(left_z),
               .left_s(left_s), .left_t(left_t), .left_w(left_w), .left_l(left_l),
               .gclk(gclk));


  // instance stepper
  st st ( .st_cc_r(st_cc_r), .st_cc_g(st_cc_g), .st_cc_b(st_cc_b), .st_cc_a(st_cc_a),
               .st_bl_z(st_bl_z),
               .st_tc_s(st_tc_s), .st_tc_t(st_tc_t), .st_tc_w(st_tc_w), .st_tc_l(st_tc_l),
               .ep_st_r(ep_st_r), .startspan_r(startspan_r), .at_st_dxr(at_st_dxr), .at_st_dyr(at_st_dyr), .x_offsetr(x_offsetr), .y_offsetr(y_offsetr),
               .ep_st_g(ep_st_g), .startspan_g(startspan_g), .at_st_dxg(at_st_dxg), .at_st_dyg(at_st_dyg), .x_offsetg(x_offsetg), .y_offsetg(y_offsetg),
               .ep_st_b(ep_st_b), .startspan_b(startspan_b), .at_st_dxb(at_st_dxb), .at_st_dyb(at_st_dyb), .x_offsetb(x_offsetb), .y_offsetb(y_offsetb),
               .ep_st_a(ep_st_a), .startspan_a(startspan_a), .at_st_dxa(at_st_dxa), .at_st_dya(at_st_dya), .x_offseta(x_offseta), .y_offseta(y_offseta),
               .ep_st_z(ep_st_z), .startspan_z(startspan_z), .at_st_dxz(at_st_dxz), .at_st_dyz(at_st_dyz), .x_offsetz(x_offsetz), .y_offsetz(y_offsetz),
               .ep_st_s(ep_st_s), .startspan_s(startspan_s), .at_st_dxs(at_st_dxs),
               .ep_st_t(ep_st_t), .startspan_t(startspan_t), .at_st_dxt(at_st_dxt),
               .ep_st_w(ep_st_w), .startspan_w(startspan_w), .at_st_dxw(at_st_dxw),
               .ep_st_l(ep_st_l), .startspan_l(startspan_l), .at_st_dxl(at_st_dxl),
               .ncyc_r(ncyc_r), .ncyc_g(ncyc_g), .ncyc_b(ncyc_b), .ncyc_a(ncyc_a), .ncyc_z(ncyc_z), // lsb of cycl_type
               .ncyc_s(ncyc_s), .ncyc_t(ncyc_t), .ncyc_w(ncyc_w), .ncyc_l(ncyc_l),
               .left_r(left_r), .left_g(left_g), .left_b(left_b), .left_a(left_a), .left_z(left_z),
               .left_s(left_s), .left_t(left_t), .left_w(left_w), .left_l(left_l),
               .gclk(gclk));

  //  kill simulation when tabular file read

  always @(driver.EndVectors)
    $finish;

  // dump file

  initial
  begin
    $dumpvars;
  end

endmodule // top_level