Line 2... |
Line 2... |
// Outputs are FLO (FIB lookup out)
|
// Outputs are FLO (FIB lookup out)
|
|
|
module fib_lookup
|
module fib_lookup
|
(/*AUTOARG*/
|
(/*AUTOARG*/
|
// Outputs
|
// Outputs
|
ppi_drdy, flo_data, flo_srdy,
|
refup_srdy, refup_page, refup_count, ppi_drdy, flo_data, flo_srdy,
|
// Inputs
|
// Inputs
|
ppi_srdy, clk, reset, ppi_data, flo_drdy
|
refup_drdy, ppi_srdy, clk, reset, ppi_data, flo_drdy
|
);
|
);
|
|
|
input clk;
|
input clk;
|
input reset;
|
input reset;
|
|
|
input [`PAR_DATA_SZ-1:0] ppi_data;
|
input [`PM2F_SZ-1:0] ppi_data;
|
output [`NUM_PORTS-1:0] flo_data;
|
output [`LL_PG_ASZ-1:0] flo_data;
|
output [`NUM_PORTS-1:0] flo_srdy;
|
output [`NUM_PORTS-1:0] flo_srdy;
|
input [`NUM_PORTS-1:0] flo_drdy;
|
input [`NUM_PORTS-1:0] flo_drdy;
|
/*AUTOINPUT*/
|
/*AUTOINPUT*/
|
// Beginning of automatic inputs (from unused autoinst inputs)
|
// Beginning of automatic inputs (from unused autoinst inputs)
|
input ppi_srdy; // To port_parse_in of sd_input.v
|
input ppi_srdy; // To port_parse_in of sd_input.v
|
|
input refup_drdy; // To fsm0 of fib_lookup_fsm.v
|
// End of automatics
|
// End of automatics
|
/*AUTOOUTPUT*/
|
/*AUTOOUTPUT*/
|
// Beginning of automatic outputs (from unused autoinst outputs)
|
// Beginning of automatic outputs (from unused autoinst outputs)
|
output ppi_drdy; // From port_parse_in of sd_input.v
|
output ppi_drdy; // From port_parse_in of sd_input.v
|
|
output [`LL_REFSZ-1:0] refup_count; // From fsm0 of fib_lookup_fsm.v
|
|
output [`LL_PG_ASZ-1:0] refup_page; // From fsm0 of fib_lookup_fsm.v
|
|
output refup_srdy; // From fsm0 of fib_lookup_fsm.v
|
// End of automatics
|
// End of automatics
|
|
|
wire [`FIB_ENTRY_SZ-1:0] ft_rdata;
|
wire [`FIB_ENTRY_SZ-1:0] ft_rdata;
|
wire [`PAR_DATA_SZ-1:0] lpp_data;
|
wire [`PM2F_SZ-1:0] lpp_data;
|
/*AUTOWIRE*/
|
/*AUTOWIRE*/
|
// Beginning of automatic wires (for undeclared instantiated-module outputs)
|
// Beginning of automatic wires (for undeclared instantiated-module outputs)
|
wire [`FIB_ASZ-1:0] ft_addr; // From fsm0 of fib_lookup_fsm.v
|
wire [`FIB_ASZ-1:0] ft_addr; // From fsm0 of fib_lookup_fsm.v
|
wire ft_rd_en; // From fsm0 of fib_lookup_fsm.v
|
wire ft_rd_en; // From fsm0 of fib_lookup_fsm.v
|
wire [`FIB_ENTRY_SZ-1:0] ft_wdata; // From fsm0 of fib_lookup_fsm.v
|
wire [`FIB_ENTRY_SZ-1:0] ft_wdata; // From fsm0 of fib_lookup_fsm.v
|
wire ft_wr_en; // From fsm0 of fib_lookup_fsm.v
|
wire ft_wr_en; // From fsm0 of fib_lookup_fsm.v
|
wire [`NUM_PORTS-1:0] lout_data; // From fsm0 of fib_lookup_fsm.v
|
|
wire lout_drdy; // From fib_res_out of sd_mirror.v
|
wire lout_drdy; // From fib_res_out of sd_mirror.v
|
wire [`NUM_PORTS-1:0] lout_dst_vld; // From fsm0 of fib_lookup_fsm.v
|
wire [`NUM_PORTS-1:0] lout_dst_vld; // From fsm0 of fib_lookup_fsm.v
|
wire lout_srdy; // From fsm0 of fib_lookup_fsm.v
|
wire lout_srdy; // From fsm0 of fib_lookup_fsm.v
|
|
wire [`LL_PG_ASZ-1:0] lout_start; // From fsm0 of fib_lookup_fsm.v
|
wire lpp_drdy; // From fsm0 of fib_lookup_fsm.v
|
wire lpp_drdy; // From fsm0 of fib_lookup_fsm.v
|
wire lpp_srdy; // From port_parse_in of sd_input.v
|
wire lpp_srdy; // From port_parse_in of sd_input.v
|
// End of automatics
|
// End of automatics
|
|
|
/* sd_input AUTO_TEMPLATE
|
/* sd_input AUTO_TEMPLATE
|
(
|
(
|
.c_\(.*\) (ppi_\1),
|
.c_\(.*\) (ppi_\1),
|
.ip_\(.*\) (lpp_\1),
|
.ip_\(.*\) (lpp_\1),
|
);
|
);
|
*/
|
*/
|
sd_input #(`PAR_DATA_SZ) port_parse_in
|
sd_input #(`PM2F_SZ) port_parse_in
|
(/*AUTOINST*/
|
(/*AUTOINST*/
|
// Outputs
|
// Outputs
|
.c_drdy (ppi_drdy), // Templated
|
.c_drdy (ppi_drdy), // Templated
|
.ip_srdy (lpp_srdy), // Templated
|
.ip_srdy (lpp_srdy), // Templated
|
.ip_data (lpp_data), // Templated
|
.ip_data (lpp_data), // Templated
|
Line 85... |
Line 89... |
.lpp_drdy (lpp_drdy),
|
.lpp_drdy (lpp_drdy),
|
.ft_wdata (ft_wdata[`FIB_ENTRY_SZ-1:0]),
|
.ft_wdata (ft_wdata[`FIB_ENTRY_SZ-1:0]),
|
.ft_rd_en (ft_rd_en),
|
.ft_rd_en (ft_rd_en),
|
.ft_wr_en (ft_wr_en),
|
.ft_wr_en (ft_wr_en),
|
.ft_addr (ft_addr[`FIB_ASZ-1:0]),
|
.ft_addr (ft_addr[`FIB_ASZ-1:0]),
|
.lout_data (lout_data[`NUM_PORTS-1:0]),
|
.lout_start (lout_start[`LL_PG_ASZ-1:0]),
|
.lout_srdy (lout_srdy),
|
.lout_srdy (lout_srdy),
|
.lout_dst_vld (lout_dst_vld[`NUM_PORTS-1:0]),
|
.lout_dst_vld (lout_dst_vld[`NUM_PORTS-1:0]),
|
|
.refup_srdy (refup_srdy),
|
|
.refup_page (refup_page[`LL_PG_ASZ-1:0]),
|
|
.refup_count (refup_count[`LL_REFSZ-1:0]),
|
// Inputs
|
// Inputs
|
.clk (clk),
|
.clk (clk),
|
.reset (reset),
|
.reset (reset),
|
.lpp_data (lpp_data[`PAR_DATA_SZ-1:0]),
|
.lpp_data (lpp_data[`PM2F_SZ-1:0]),
|
.lpp_srdy (lpp_srdy),
|
.lpp_srdy (lpp_srdy),
|
.ft_rdata (ft_rdata[`FIB_ENTRY_SZ-1:0]),
|
.ft_rdata (ft_rdata[`FIB_ENTRY_SZ-1:0]),
|
.lout_drdy (lout_drdy));
|
.lout_drdy (lout_drdy),
|
|
.refup_drdy (refup_drdy));
|
|
|
/* sd_mirror AUTO_TEMPLATE
|
/* sd_mirror AUTO_TEMPLATE
|
(
|
(
|
|
.c_data (lout_start[`LL_PG_ASZ-1:0]),
|
.c_\(.*\) (lout_\1),
|
.c_\(.*\) (lout_\1),
|
.p_\(.*\) (flo_\1),
|
.p_\(.*\) (flo_\1),
|
)
|
)
|
*/
|
*/
|
sd_mirror #(`NUM_PORTS, `NUM_PORTS) fib_res_out
|
sd_mirror #(// Parameters
|
|
.mirror (`NUM_PORTS),
|
|
.width (`LL_PG_ASZ)) fib_res_out
|
(/*AUTOINST*/
|
(/*AUTOINST*/
|
// Outputs
|
// Outputs
|
.c_drdy (lout_drdy), // Templated
|
.c_drdy (lout_drdy), // Templated
|
.p_srdy (flo_srdy), // Templated
|
.p_srdy (flo_srdy), // Templated
|
.p_data (flo_data), // Templated
|
.p_data (flo_data), // Templated
|
// Inputs
|
// Inputs
|
.clk (clk),
|
.clk (clk),
|
.reset (reset),
|
.reset (reset),
|
.c_srdy (lout_srdy), // Templated
|
.c_srdy (lout_srdy), // Templated
|
.c_data (lout_data), // Templated
|
.c_data (lout_start[`LL_PG_ASZ-1:0]), // Templated
|
.c_dst_vld (lout_dst_vld), // Templated
|
.c_dst_vld (lout_dst_vld), // Templated
|
.p_drdy (flo_drdy)); // Templated
|
.p_drdy (flo_drdy)); // Templated
|
|
|
endmodule // fib_lookup
|
endmodule // fib_lookup
|
// Local Variables:
|
// Local Variables:
|