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

Subversion Repositories qaz_libs

[/] [qaz_libs/] [trunk/] [axi4_stream_lib/] [src/] [axis_mux.sv] - Diff between revs 36 and 37

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

Rev 36 Rev 37
Line 43... Line 43...
    input   aresetn
    input   aresetn
  );
  );
 
 
  // --------------------------------------------------------------------
  // --------------------------------------------------------------------
  //
  //
  axis_if #(.N(N), .I(I), .D(D), .U(U)) axis_mux_out(.*);
  defparam axis_mux_out.N = N; // why are needed these for recursive modules?
 
  defparam axis_mux_out.I = I;
 
  defparam axis_mux_out.D = D;
 
  defparam axis_mux_out.U = U;
 
  axis_if axis_mux_out(.*);
 
  // axis_if #(.N(N), .I(I), .D(D), .U(U)) axis_mux_out(.*);
 
 
  assign axis_in[0].tready = select ? 0                   : axis_mux_out.tready;
  assign axis_in[0].tready = select ? 0                   : axis_mux_out.tready;
  assign axis_in[1].tready = select ? axis_mux_out.tready : 0;
  assign axis_in[1].tready = select ? axis_mux_out.tready : 0;
 
 
  assign axis_mux_out.tvalid = select ? axis_in[1].tvalid : axis_in[0].tvalid;
  assign axis_mux_out.tvalid = select ? axis_in[1].tvalid : axis_in[0].tvalid;
Line 60... Line 65...
  assign axis_mux_out.tuser  = select ? axis_in[1].tuser  : axis_in[0].tuser;
  assign axis_mux_out.tuser  = select ? axis_in[1].tuser  : axis_in[0].tuser;
 
 
 
 
  // --------------------------------------------------------------------
  // --------------------------------------------------------------------
  //
  //
 
  defparam axis_register_slice_i.N = N; // why are needed these for recursive modules?
 
  defparam axis_register_slice_i.I = I;
 
  defparam axis_register_slice_i.D = D;
 
  defparam axis_register_slice_i.U = U;
  axis_register_slice
  axis_register_slice
    #(
    // #(
      .N(N),
      // .N(N),
      .I(I),
      // .I(I),
      .D(D),
      // .D(D),
      .U(U),
      // .U(U),
      .USE_TSTRB(0),
      // .USE_TSTRB(0),
      .USE_TKEEP(0)
      // .USE_TKEEP(0)
    )
    // )
    axis_register_slice_i
    axis_register_slice_i
    (
    (
      .axis_in(axis_mux_out), // slave
      .axis_in(axis_mux_out), // slave
      .axis_out(axis_out),    // master
      .axis_out(axis_out),    // master
      .*
      .*

powered by: WebSVN 2.1.0

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