File: axis_ctrl_crossbar_2d_mesh_top.v.in

package info (click to toggle)
uhd 3.13.1.0-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 207,120 kB
  • sloc: cpp: 167,245; ansic: 86,841; vhdl: 53,420; python: 40,839; xml: 13,167; tcl: 5,688; makefile: 2,167; sh: 1,719; pascal: 230; csh: 94; asm: 20; perl: 11
file content (48 lines) | stat: -rw-r--r-- 1,567 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//
// Copyright 2018 Ettus Research, A National Instruments Company
//
// SPDX-License-Identifier: LGPL-3.0-or-later
//

module axis_ctrl_crossbar_2d_mesh_top(
  input clk,
  input rst
);
  // Router global config
  localparam IMPL        = "{top}";
  localparam NPORTS_SQRT = {dimw};
  localparam NPORTS      = NPORTS_SQRT * NPORTS_SQRT;
  localparam DWIDTH      = {dataw};
  localparam MTU         = {mtu};
  localparam ROUTING     = "{ralloc}";

  (* dont_touch = "true"*) wire [(DWIDTH*NPORTS)-1:0] s_axis_tdata , m_axis_tdata ;
  (* dont_touch = "true"*) wire [NPORTS-1:0]          s_axis_tlast , m_axis_tlast ;
  (* dont_touch = "true"*) wire [NPORTS-1:0]          s_axis_tvalid, m_axis_tvalid;
  (* dont_touch = "true"*) wire [NPORTS-1:0]          s_axis_tready, m_axis_tready;
  (* dont_touch = "true"*) wire                       deadlock_detected;

  axis_ctrl_crossbar_2d_mesh #(
    .WIDTH            (DWIDTH),
    .DIM_SIZE         (NPORTS_SQRT),
    .TOPOLOGY         (IMPL),
    .INGRESS_BUFF_SIZE(MTU),
    .ROUTER_BUFF_SIZE (MTU),
    .ROUTING_ALLOC    (ROUTING),
    .SWITCH_ALLOC     ("ROUND-ROBIN")
  ) router_dut_i (
    .clk              (clk),
    .reset            (rst),
    .s_axis_tdata     (s_axis_tdata ),
    .s_axis_tlast     (s_axis_tlast ),
    .s_axis_tvalid    (s_axis_tvalid),
    .s_axis_tready    (s_axis_tready),
    .m_axis_tdata     (m_axis_tdata ),
    .m_axis_tlast     (m_axis_tlast ),
    .m_axis_tvalid    (m_axis_tvalid),
    .m_axis_tready    (m_axis_tready),
    .deadlock_detected(deadlock_detected)
  );

endmodule