📄 pl3_fpga_top.v
字号:
input pmc5381_rsop;
input pmc5381_reop;
input [1:0]pmc5381_rmod;
input pmc5381_rerr;
input pmc5381_rprty;
//test signals
input [7:0]test_sel;
output [31:0]test_point;
//////////////////////////////////////////////////////////////
//wire pmc5381_tenb;
wire [31:0]pmc5381_tdat;
wire pmc5381_tsop;
wire pmc5381_teop;
wire [1:0]pmc5381_tmod;
wire pmc5381_terr;
wire pmc5381_tprty;
//other signals for nothing
wire PMC_A13;
wire [3:0]PM5382_RADR;
wire [3:0]PM5382_TADR;
wire pmc5382_tenb;
wire pmc5382_tsx;
wire [31:0]pmc5382_tdat;
wire pmc5382_tsop;
wire pmc5382_teop;
wire [1:0]pmc5382_tmod;
wire pmc5382_terr;
wire pmc5382_tprty;
wire [1:0]pmc3386_pause_0;
wire pmc3386_renb_0;
wire [1:0]pmc3386_pause_1;
wire pmc3386_renb_1;
wire pmc5381_tenb;
wire pmc5381_renb;
////////////////////////////////////
reg [31:0]test_point;
//////////////////////////////////////
//internal signals
wire header_length;
wire crc_length;
wire [47:0]ge0_da_mac;
wire [47:0]ge0_sa_mac;
wire [47:0]ge1_da_mac;
wire [47:0]ge1_sa_mac;
wire [47:0]ge2_da_mac;
wire [47:0]ge2_sa_mac;
wire [47:0]ge3_da_mac;
wire [47:0]ge3_sa_mac;
wire [15:0]lose_pkt_cnt_0;
wire [15:0]lose_pkt_cnt_1;
wire [15:0]lose_pkt_cnt_2;
wire [15:0]lose_pkt_cnt_3;
wire [15:0]lose_pkt_cnt_4;
wire [15:0]lose_pkt_cnt_5;
wire [15:0]lose_pkt_cnt_6;
wire [15:0]lose_pkt_cnt_7;
wire [15:0]lose_pkt_cnt_8;
wire [15:0]lose_pkt_cnt_9;
wire [15:0]lose_pkt_cnt_10;
wire [15:0]lose_pkt_cnt_11;
wire [15:0]lose_pkt_cnt_12;
wire [15:0]lose_pkt_cnt_13;
wire [15:0]lose_pkt_cnt_14;
wire [15:0]lose_pkt_cnt_15;
wire [31:0]test_point_for_mbus;
wire [31:0]test_point_for_pmc5382_to_pmc3386_pl3;
wire [31:0]test_point_for_pmc5382_to_pmc5381_pl3;
////////////////////////////////////////////////////////////////
assign PMC_A13 = 1'b0;
assign PM5382_RADR[3:0] = 4'B0;
assign PM5382_TADR[3:0] = 4'B0;
assign pmc5382_tenb = 1'b1;
assign pmc5382_tsx = 1'b0;
assign pmc5382_tdat[31:0] = 32'b0 ;
assign pmc5382_tsop = 1'b0;
assign pmc5382_teop = 1'b0;
assign pmc5382_tmod[1:0] = 2'b0;
assign pmc5382_terr = 1'b0;
assign pmc5382_tprty = 1'b0;
assign pmc3386_pause_0[1:0] = 2'b0;
assign pmc3386_renb_0 = 1'b1;
assign pmc3386_pause_1[1:0] = 2'b0;
assign pmc3386_renb_1 = 1'b1;
assign pmc5381_tenb = 1'b1;
assign pmc5381_renb = 1'b1;
///////////////////////////////////////////////////
//////////////////////////////////////////////////////
//test point assignment
always @(*)
begin
if(h_reset_n)
begin
test_point[31:0]<=32'b0;
end
else if(s_reset_n)
begin
test_point[31:0]<=32'b0;
end
else
case(test_sel[7:6])
2'b00: test_point[31:0]<=test_point_for_mbus[31:0];
2'b01: test_point[31:0]<=test_point_for_pmc5382_to_pmc3386_pl3[31:0];
2'b10: test_point[31:0]<=test_point_for_pmc5382_to_pmc5381_pl3[31:0];
default: ;
endcase
end
////////////////////////////////////////////////////////////////
//m_bus.v
m_bus m_bus(
//system signals
.h_reset_n(h_reset_n),
.s_reset_n(s_reset_n),
.sys_clk_100m(sys_clk_100m),
//signals from mpc8241 block
.mpc_csb (mpc_csb ),
.mpc_rdb (mpc_rdb ),
.mpc_wrb (mpc_wrb ),
.mpc_data(mpc_data),
.mpc_addr(mpc_addr),
//signals to pmc device(3386,5382,5381) block
.pmc_3386_1_csb(pmc_3386_0_csb),
.pmc_3386_2_csb(pmc_3386_1_csb),
.pmc_5382_csb (pmc_5382_csb ),
.pmc_5381_csb (pmc_5381_csb ),
//common signals
.pmc_rdb (pmc_rdb ),
.pmc_wrb (pmc_wrb ),
.pmc_data(pmc_data),
.pmc_addr(pmc_addr),
.pmc_ale (pmc_ale ),
//signals to pmc and mpc device block
.mpc_8241_rstb (mpc_8241_rstb ),
.pmc_3386_1_rstb(pmc_3386_0_rstb),
.pmc_3386_2_rstb(pmc_3386_1_rstb),
.pmc_5382_rstb (pmc_5382_rstb ),
.pmc_5381_rstb (pmc_5381_rstb ),
//signals to pl3 block
.header_length(header_length),
.crc_length (crc_length ),
.ge0_da_mac(ge0_da_mac),
.ge0_sa_mac(ge0_sa_mac),
.ge1_da_mac(ge1_da_mac),
.ge1_sa_mac(ge1_sa_mac),
.ge2_da_mac(ge2_da_mac),
.ge2_sa_mac(ge2_sa_mac),
.ge3_da_mac(ge3_da_mac),
.ge3_sa_mac(ge3_sa_mac),
.lose_pkt_cnt_0 (lose_pkt_cnt_0 ),
.lose_pkt_cnt_1 (lose_pkt_cnt_1 ),
.lose_pkt_cnt_2 (lose_pkt_cnt_2 ),
.lose_pkt_cnt_3 (lose_pkt_cnt_3 ),
.lose_pkt_cnt_4 (lose_pkt_cnt_4 ),
.lose_pkt_cnt_5 (lose_pkt_cnt_5 ),
.lose_pkt_cnt_6 (lose_pkt_cnt_6 ),
.lose_pkt_cnt_7 (lose_pkt_cnt_7 ),
.lose_pkt_cnt_8 (lose_pkt_cnt_8 ),
.lose_pkt_cnt_9 (lose_pkt_cnt_9 ),
.lose_pkt_cnt_10(lose_pkt_cnt_10),
.lose_pkt_cnt_11(lose_pkt_cnt_11),
.lose_pkt_cnt_12(lose_pkt_cnt_12),
.lose_pkt_cnt_13(lose_pkt_cnt_13),
.lose_pkt_cnt_14(lose_pkt_cnt_14),
.lose_pkt_cnt_15(lose_pkt_cnt_15),
//test signals
.test_sel (test_sel),
.test_point(test_point_for_mbus)
);
//pmc5382_to_pmc3386_pl3.v
pmc5382_to_pmc3386_pl3 pmc5382_to_pmc3386_pl3(
//system signals
.h_reset_n(h_reset_n),
.s_reset_n(s_reset_n),
.sys_clk_100m(sys_clk_100m),
//signals from pmc5382 block
.pmc5382_renb(pmc5382_renb),
.pmc5382_rsx (pmc5382_rsx ),
.pmc5382_rval(pmc5382_rval),
.pmc5382_rdat (pmc5382_rdat ),
.pmc5382_rsop (pmc5382_rsop ),
.pmc5382_reop (pmc5382_reop ),
.pmc5382_rmod (pmc5382_rmod ),
.pmc5382_rerr (pmc5382_rerr ),
.pmc5382_rprty(pmc5382_rprty),
//signals to pmc3386_0 block
.pmc3386_tenb_0 (pmc3386_tenb_0 ),
.pmc3386_tsx_0 (pmc3386_tsx_0 ),
.pmc3386_tadr_0 (pmc3386_tadr_0 ),
.pmc3386_ptpa_0 (pmc3386_ptpa_0 ),
.pmc3386_stpa_0 (pmc3386_stpa_0 ),
.pmc3386_dtpa_0(pmc3386_dtpa_0),
.pmc3386_tdat_0 (pmc3386_tdat_0 ),
.pmc3386_tsop_0 (pmc3386_tsop_0 ),
.pmc3386_teop_0 (pmc3386_teop_0 ),
.pmc3386_tmod_0 (pmc3386_tmod_0 ),
.pmc3386_terr_0 (pmc3386_terr_0 ),
.pmc3386_tprty_0(pmc3386_tprty_0),
//signals to pmc3386_1 block
.pmc3386_tenb_1 (pmc3386_tenb_1 ),
.pmc3386_tsx_1 (pmc3386_tsx_1 ),
.pmc3386_tadr_1 (pmc3386_tadr_1 ),
.pmc3386_ptpa_1 (pmc3386_ptpa_1 ),
.pmc3386_stpa_1 (pmc3386_stpa_1 ),
.pmc3386_dtpa_1(pmc3386_dtpa_1),
.pmc3386_tdat_1 (pmc3386_tdat_1 ),
.pmc3386_tsop_1 (pmc3386_tsop_1 ),
.pmc3386_teop_1 (pmc3386_teop_1 ),
.pmc3386_tmod_1 (pmc3386_tmod_1 ),
.pmc3386_terr_1 (pmc3386_terr_1 ),
.pmc3386_tprty_1(pmc3386_tprty_1),
//signals from m_bus block
.header_length(header_length),
.crc_length (crc_length ),
.ge0_da_mac(ge0_da_mac),
.ge0_sa_mac(ge0_sa_mac),
.ge1_da_mac(ge1_da_mac),
.ge1_sa_mac(ge1_sa_mac),
.ge2_da_mac(ge2_da_mac),
.ge2_sa_mac(ge2_sa_mac),
.ge3_da_mac(ge3_da_mac),
.ge3_sa_mac(ge3_sa_mac),
.lose_pkt_cnt_0 (lose_pkt_cnt_0 ),
.lose_pkt_cnt_1 (lose_pkt_cnt_1 ),
.lose_pkt_cnt_2 (lose_pkt_cnt_2 ),
.lose_pkt_cnt_3 (lose_pkt_cnt_3 ),
.lose_pkt_cnt_4 (lose_pkt_cnt_4 ),
.lose_pkt_cnt_5 (lose_pkt_cnt_5 ),
.lose_pkt_cnt_6 (lose_pkt_cnt_6 ),
.lose_pkt_cnt_7 (lose_pkt_cnt_7 ),
.lose_pkt_cnt_8 (lose_pkt_cnt_8 ),
.lose_pkt_cnt_9 (lose_pkt_cnt_9 ),
.lose_pkt_cnt_10(lose_pkt_cnt_10),
.lose_pkt_cnt_11(lose_pkt_cnt_11),
.lose_pkt_cnt_12(lose_pkt_cnt_12),
.lose_pkt_cnt_13(lose_pkt_cnt_13),
.lose_pkt_cnt_14(lose_pkt_cnt_14),
.lose_pkt_cnt_15(lose_pkt_cnt_15),
//test signals
.test_sel (test_sel),
.test_point(test_point_for_pmc5382_to_pmc3386_pl3)
);
//pmc5382_to_pmc5381_pl3.v
//pmc5382_to_pmc5381_pl3 pmc5382_to_pmc5381_pl3(
// //system signals
// .h_reset_n(h_reset_n),
// .s_reset_n(s_reset_n),
// .sys_clk_100m(sys_clk_100m),
//
// //signals from pmc5382 block
// .pmc5382_renb(pmc5382_renb),
// .pmc5382_rsx (pmc5382_rsx ),
// .pmc5382_rval(pmc5382_rval),
//
// .pmc5382_rdat (pmc5382_rdat ),
// .pmc5382_rsop (pmc5382_rsop ),
// .pmc5382_reop (pmc5382_reop ),
// .pmc5382_rmod (pmc5382_rmod ),
// .pmc5382_rerr (pmc5382_rerr ),
// .pmc5382_rprty(pmc5382_rprty),
//
// //signals to pmc5381 block
// .pmc5381_tenb(pmc5381_tenb),
// .pmc5381_dtpa(pmc5381_dtpa),
//
// .pmc5381_tdat (pmc5381_tdat ),
// .pmc5381_tsop (pmc5381_tsop ),
// .pmc5381_teop (pmc5381_teop ),
// .pmc5381_tmod (pmc5381_tmod ),
// .pmc5381_terr (pmc5381_terr ),
// .pmc5381_tprty(pmc5381_tprty),
//
// //signals from m_bus block
// .header_length(header_length),
// .crc_length (crc_length ),
//
// //test signals
// .test_sel (test_sel),
// .test_point(test_point_for_pmc5382_to_pmc5381_pl3)
// );
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -