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

Subversion Repositories srdydrdy_lib

[/] [srdydrdy_lib/] [trunk/] [examples/] [bridge/] [rtl/] [fib_lookup.v] - Blame information for rev 4

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 ghutchis
// Inputs are PPI (port parser input)
2
// Outputs are FLO (FIB lookup out)
3
 
4
module fib_lookup
5
  (/*AUTOARG*/
6
  // Outputs
7
  ppi_drdy, flo_data, flo_srdy,
8
  // Inputs
9
  ppi_srdy, clk, reset, ppi_data, flo_drdy
10
  );
11
 
12
  input     clk;
13
  input     reset;
14
 
15
  input [`PAR_DATA_SZ-1:0] ppi_data;
16
  output [`NUM_PORTS-1:0]  flo_data;
17
  output [`NUM_PORTS-1:0]  flo_srdy;
18
  input [`NUM_PORTS-1:0]   flo_drdy;
19
  /*AUTOINPUT*/
20
  // Beginning of automatic inputs (from unused autoinst inputs)
21
  input                 ppi_srdy;               // To port_parse_in of sd_input.v
22
  // End of automatics
23
  /*AUTOOUTPUT*/
24
  // Beginning of automatic outputs (from unused autoinst outputs)
25
  output                ppi_drdy;               // From port_parse_in of sd_input.v
26
  // End of automatics
27
 
28
  wire [`FIB_ENTRY_SZ-1:0] ft_rdata;
29
  wire [`PAR_DATA_SZ-1:0] lpp_data;
30
  /*AUTOWIRE*/
31
  // Beginning of automatic wires (for undeclared instantiated-module outputs)
32
  wire [`FIB_ASZ-1:0]   ft_addr;                // From fsm0 of fib_lookup_fsm.v
33
  wire                  ft_rd_n;                // From fsm0 of fib_lookup_fsm.v
34
  wire [`FIB_ENTRY_SZ-1:0] ft_wdata;            // From fsm0 of fib_lookup_fsm.v
35
  wire                  ft_wr_n;                // From fsm0 of fib_lookup_fsm.v
36
  wire [`NUM_PORTS-1:0] lout_data;              // From fsm0 of fib_lookup_fsm.v
37
  wire                  lout_drdy;              // From fib_res_out of sd_mirror.v
38
  wire                  lout_srdy;              // From fsm0 of fib_lookup_fsm.v
39
  wire                  lpp_drdy;               // From fsm0 of fib_lookup_fsm.v
40
  wire                  lpp_srdy;               // From port_parse_in of sd_input.v
41
  // End of automatics
42
 
43
/* sd_input AUTO_TEMPLATE
44
 (
45
 .c_\(.*\)      (ppi_\1),
46
 .ip_\(.*\)     (lpp_\1),
47
 );
48
 */
49
  sd_input #(`PAR_DATA_SZ) port_parse_in
50
    (/*AUTOINST*/
51
     // Outputs
52
     .c_drdy                            (ppi_drdy),              // Templated
53
     .ip_srdy                           (lpp_srdy),              // Templated
54
     .ip_data                           (lpp_data),              // Templated
55
     // Inputs
56
     .clk                               (clk),
57
     .reset                             (reset),
58
     .c_srdy                            (ppi_srdy),              // Templated
59
     .c_data                            (ppi_data),              // Templated
60
     .ip_drdy                           (lpp_drdy));              // Templated
61
 
62
/* behave1p_mem AUTO_TEMPLATE
63
 (
64
   .d_out                             (ft_rdata),
65
   .d_in                              (ft_wdata),
66
   .clk                               (clk),
67
   .\(.*\)     (ft_\1),
68
 );
69
 */
70
  behave1p_mem #(`FIB_ENTRIES, `FIB_ENTRY_SZ) fib_mem
71
    (/*AUTOINST*/
72
     // Outputs
73
     .d_out                             (ft_rdata),              // Templated
74
     // Inputs
75
     .wr_n                              (ft_wr_n),               // Templated
76
     .rd_n                              (ft_rd_n),               // Templated
77
     .clk                               (clk),                   // Templated
78
     .d_in                              (ft_wdata),              // Templated
79
     .addr                              (ft_addr));               // Templated
80
 
81
  fib_lookup_fsm fsm0
82
    (/*AUTOINST*/
83
     // Outputs
84
     .lpp_drdy                          (lpp_drdy),
85
     .ft_wdata                          (ft_wdata[`FIB_ENTRY_SZ-1:0]),
86
     .ft_rd_n                           (ft_rd_n),
87
     .ft_wr_n                           (ft_wr_n),
88
     .ft_addr                           (ft_addr[`FIB_ASZ-1:0]),
89
     .lout_data                         (lout_data[`NUM_PORTS-1:0]),
90
     .lout_srdy                         (lout_srdy),
91
     // Inputs
92
     .clk                               (clk),
93
     .reset                             (reset),
94
     .lpp_data                          (lpp_data[`PAR_DATA_SZ-1:0]),
95
     .lpp_srdy                          (lpp_srdy),
96
     .ft_rdata                          (ft_rdata[`FIB_ENTRY_SZ-1:0]),
97
     .lout_drdy                         (lout_drdy));
98
 
99
/* sd_mirror AUTO_TEMPLATE
100
 (
101
 .c_\(.*\)     (lout_\1),
102
 .p_\(.*\)     (flo_\1),
103
 )
104
 */
105
  sd_mirror #(`NUM_PORTS, `NUM_PORTS) fib_res_out
106
    (/*AUTOINST*/
107
     // Outputs
108
     .c_drdy                            (lout_drdy),             // Templated
109
     .p_srdy                            (flo_srdy),              // Templated
110
     .p_data                            (flo_data),              // Templated
111
     // Inputs
112
     .clk                               (clk),
113
     .reset                             (reset),
114
     .c_srdy                            (lout_srdy),             // Templated
115
     .c_data                            (lout_data),             // Templated
116
     .p_drdy                            (flo_drdy));              // Templated
117
 
118
endmodule // fib_lookup

powered by: WebSVN 2.1.0

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