📄 pci_wb_slave_unit.v
字号:
.wbr_renable_in (fifos_wbr_renable_in), .wbr_data_out (fifos_wbr_data_out), .wbr_be_out (fifos_wbr_be_out), .wbr_control_out (fifos_wbr_control_out), .wbr_flush_in (fifos_wbr_flush_in), .wbr_empty_out (fifos_wbr_empty_out)`ifdef PCI_BIST , .mbist_si_i (mbist_si_i), .mbist_so_o (mbist_so_o), .mbist_ctrl_i (mbist_ctrl_i)`endif) ;wire [31:0] amux_addr_in = ADDR_I ;wire amux_sample_address_in = wbs_sm_sample_address_out ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_bar0_in = wbu_bar0_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_bar1_in = wbu_bar1_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_bar2_in = wbu_bar2_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_bar3_in = wbu_bar3_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_bar4_in = wbu_bar4_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_bar5_in = wbu_bar5_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_am0_in = wbu_am0_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_am1_in = wbu_am1_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_am2_in = wbu_am2_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_am3_in = wbu_am3_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_am4_in = wbu_am4_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_am5_in = wbu_am5_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_ta0_in = wbu_ta0_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_ta1_in = wbu_ta1_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_ta2_in = wbu_ta2_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_ta3_in = wbu_ta3_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_ta4_in = wbu_ta4_in ;wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] amux_ta5_in = wbu_ta5_in ;wire [5:0] amux_at_en_in = wbu_at_en_in ;pci_wb_addr_mux wb_addr_dec( `ifdef REGISTER_WBS_OUTPUTS .clk_in (wb_clock_in), .reset_in (reset_in), .sample_address_in (amux_sample_address_in), `endif .address_in (amux_addr_in), .bar0_in (amux_bar0_in), .bar1_in (amux_bar1_in), .bar2_in (amux_bar2_in), .bar3_in (amux_bar3_in), .bar4_in (amux_bar4_in), .bar5_in (amux_bar5_in), .am0_in (amux_am0_in), .am1_in (amux_am1_in), .am2_in (amux_am2_in), .am3_in (amux_am3_in), .am4_in (amux_am4_in), .am5_in (amux_am5_in), .ta0_in (amux_ta0_in), .ta1_in (amux_ta1_in), .ta2_in (amux_ta2_in), .ta3_in (amux_ta3_in), .ta4_in (amux_ta4_in), .ta5_in (amux_ta5_in), .at_en_in (amux_at_en_in), .hit_out (amux_hit_out), .address_out (amux_address_out));// delayed transaction logic inputswire del_sync_req_in = wbs_sm_del_req_out ;wire del_sync_comp_in = pcim_if_del_complete_out ;wire del_sync_done_in = wbs_sm_del_done_out ;wire del_sync_in_progress_in = wbs_sm_del_in_progress_out ;wire [31:0] del_sync_addr_in = wbs_sm_data_out ;wire [3:0] del_sync_be_in = wbs_sm_conf_be_out ;wire del_sync_we_in = wbs_sm_del_write_out ;wire [3:0] del_sync_bc_in = wbs_sm_del_bc_out ;wire del_sync_status_in = pcim_if_del_error_out ;wire del_sync_burst_in = wbs_sm_del_burst_out ;wire del_sync_retry_expired_in = pcim_if_del_rty_exp_out ;// delayed transaction logic instantiationpci_delayed_sync del_sync ( .reset_in (reset_in), .req_clk_in (wb_clock_in), .comp_clk_in (pci_clock_in), .req_in (del_sync_req_in), .comp_in (del_sync_comp_in), .done_in (del_sync_done_in), .in_progress_in (del_sync_in_progress_in), .comp_req_pending_out (del_sync_comp_req_pending_out), .comp_comp_pending_out(del_sync_comp_comp_pending_out), .req_req_pending_out (del_sync_req_req_pending_out), .req_comp_pending_out (del_sync_req_comp_pending_out), .addr_in (del_sync_addr_in), .be_in (del_sync_be_in), .addr_out (del_sync_addr_out), .be_out (del_sync_be_out), .we_in (del_sync_we_in), .we_out (del_sync_we_out), .bc_in (del_sync_bc_in), .bc_out (del_sync_bc_out), .status_in (del_sync_status_in), .status_out (del_sync_status_out), .comp_flush_out (del_sync_comp_flush_out), .burst_in (del_sync_burst_in), .burst_out (del_sync_burst_out), .retry_expired_in (del_sync_retry_expired_in) );// delayed write storage inputswire del_write_we_in = wbs_sm_del_req_out && wbs_sm_del_write_out ;wire [31:0] del_write_data_in = wbs_sm_conf_data_out ;pci_delayed_write_reg delayed_write_data( .reset_in (reset_in), .req_clk_in (wb_clock_in), .comp_wdata_out (del_write_data_out), .req_we_in (del_write_we_in), .req_wdata_in (del_write_data_in));`ifdef HOST // configuration cycle address decoder input wire [31:0] ccyc_addr_in = {8'h00, wbu_ccyc_addr_in} ; pci_conf_cyc_addr_dec ccyc_addr_dec ( .ccyc_addr_in (ccyc_addr_in), .ccyc_addr_out (ccyc_addr_out) ) ;`else`ifdef GUEST assign ccyc_addr_out = 32'h0000_0000 ;`endif`endif// pci master interface inputswire [31:0] pcim_if_wbw_addr_data_in = fifos_wbw_addr_data_out ;wire [3:0] pcim_if_wbw_cbe_in = fifos_wbw_cbe_out ;wire [3:0] pcim_if_wbw_control_in = fifos_wbw_control_out ;wire pcim_if_wbw_empty_in = fifos_wbw_empty_out ;wire pcim_if_wbw_transaction_ready_in = fifos_wbw_transaction_ready_out ;wire [31:0] pcim_if_data_in = pcim_sm_data_out ;wire [31:0] pcim_if_del_wdata_in = del_write_data_out ;wire pcim_if_del_req_in = del_sync_comp_req_pending_out ;wire [31:0] pcim_if_del_addr_in = del_sync_addr_out ;wire [3:0] pcim_if_del_bc_in = del_sync_bc_out ;wire [3:0] pcim_if_del_be_in = del_sync_be_out ;wire pcim_if_del_burst_in = del_sync_burst_out ;wire pcim_if_del_we_in = del_sync_we_out ;wire [7:0] pcim_if_cache_line_size_in = wbu_cache_line_size_in ;wire pcim_if_wait_in = pcim_sm_wait_out ;wire pcim_if_wtransfer_in = pcim_sm_wtransfer_out ;wire pcim_if_rtransfer_in = pcim_sm_rtransfer_out ;wire pcim_if_retry_in = pcim_sm_retry_out ;wire pcim_if_rerror_in = pcim_sm_rerror_out ;wire pcim_if_first_in = pcim_sm_first_out ;wire pcim_if_mabort_in = pcim_sm_mabort_out ;pci_master32_sm_if pci_initiator_if( .clk_in (pci_clock_in), .reset_in (reset_in), .address_out (pcim_if_address_out), .bc_out (pcim_if_bc_out), .data_out (pcim_if_data_out), .data_in (pcim_if_data_in), .be_out (pcim_if_be_out), .req_out (pcim_if_req_out), .rdy_out (pcim_if_rdy_out), .last_out (pcim_if_last_out), .wbw_renable_out (pcim_if_wbw_renable_out), .wbw_fifo_addr_data_in (pcim_if_wbw_addr_data_in), .wbw_fifo_cbe_in (pcim_if_wbw_cbe_in), .wbw_fifo_control_in (pcim_if_wbw_control_in), .wbw_fifo_empty_in (pcim_if_wbw_empty_in), .wbw_fifo_transaction_ready_in (pcim_if_wbw_transaction_ready_in), .wbr_fifo_wenable_out (pcim_if_wbr_wenable_out), .wbr_fifo_data_out (pcim_if_wbr_data_out), .wbr_fifo_be_out (pcim_if_wbr_be_out), .wbr_fifo_control_out (pcim_if_wbr_control_out), .del_wdata_in (pcim_if_del_wdata_in), .del_complete_out (pcim_if_del_complete_out), .del_req_in (pcim_if_del_req_in), .del_addr_in (pcim_if_del_addr_in), .del_bc_in (pcim_if_del_bc_in), .del_be_in (pcim_if_del_be_in), .del_burst_in (pcim_if_del_burst_in), .del_error_out (pcim_if_del_error_out), .del_rty_exp_out (pcim_if_del_rty_exp_out), .del_we_in (pcim_if_del_we_in), .err_addr_out (pcim_if_err_addr_out), .err_bc_out (pcim_if_err_bc_out), .err_signal_out (pcim_if_err_signal_out), .err_source_out (pcim_if_err_source_out), .err_rty_exp_out (pcim_if_err_rty_exp_out), .cache_line_size_in (pcim_if_cache_line_size_in), .mabort_received_out (pcim_if_mabort_out), .tabort_received_out (pcim_if_tabort_out), .next_data_out (pcim_if_next_data_out), .next_be_out (pcim_if_next_be_out), .next_last_out (pcim_if_next_last_out), .wait_in (pcim_if_wait_in), .wtransfer_in (pcim_if_wtransfer_in), .rtransfer_in (pcim_if_rtransfer_in), .retry_in (pcim_if_retry_in), .rerror_in (pcim_if_rerror_in), .first_in (pcim_if_first_in), .mabort_in (pcim_if_mabort_in), .posted_write_not_present_out (pcim_if_posted_write_not_present_out));// pci master state machine inputswire pcim_sm_gnt_in = wbu_pciif_gnt_in ;wire pcim_sm_frame_in = wbu_pciif_frame_in ;wire pcim_sm_irdy_in = wbu_pciif_irdy_in ;wire pcim_sm_trdy_in = wbu_pciif_trdy_in;wire pcim_sm_stop_in = wbu_pciif_stop_in ;wire pcim_sm_devsel_in = wbu_pciif_devsel_in ;wire [31:0] pcim_sm_ad_reg_in = wbu_pciif_ad_reg_in ;wire [31:0] pcim_sm_address_in = pcim_if_address_out ;wire [3:0] pcim_sm_bc_in = pcim_if_bc_out ;wire [31:0] pcim_sm_data_in = pcim_if_data_out ;wire [3:0] pcim_sm_be_in = pcim_if_be_out ;wire pcim_sm_req_in = pcim_if_req_out ;wire pcim_sm_rdy_in = pcim_if_rdy_out ;wire pcim_sm_last_in = pcim_if_last_out ;wire [7:0] pcim_sm_latency_tim_val_in = wbu_latency_tim_val_in ;wire [31:0] pcim_sm_next_data_in = pcim_if_next_data_out ;wire [3:0] pcim_sm_next_be_in = pcim_if_next_be_out ;wire pcim_sm_next_last_in = pcim_if_next_last_out ;wire pcim_sm_trdy_reg_in = wbu_pciif_trdy_reg_in ;wire pcim_sm_stop_reg_in = wbu_pciif_stop_reg_in ;wire pcim_sm_devsel_reg_in = wbu_pciif_devsel_reg_in ;wire pcim_sm_frame_en_in = wbu_pciif_frame_en_in ;wire pcim_sm_frame_out_in = wbu_pciif_frame_out_in ;pci_master32_sm pci_initiator_sm( .clk_in (pci_clock_in), .reset_in (reset_in), .pci_req_out (pcim_sm_req_out), .pci_gnt_in (pcim_sm_gnt_in), .pci_frame_in (pcim_sm_frame_in), .pci_frame_out (pcim_sm_frame_out), .pci_frame_en_out (pcim_sm_frame_en_out), .pci_frame_out_in (pcim_sm_frame_out_in), .pci_frame_load_out (pcim_sm_frame_load_out), .pci_frame_en_in (pcim_sm_frame_en_in), .pci_irdy_in (pcim_sm_irdy_in), .pci_irdy_out (pcim_sm_irdy_out), .pci_irdy_en_out (pcim_sm_irdy_en_out), .pci_trdy_in (pcim_sm_trdy_in), .pci_trdy_reg_in (pcim_sm_trdy_reg_in), .pci_stop_in (pcim_sm_stop_in), .pci_stop_reg_in (pcim_sm_stop_reg_in), .pci_devsel_in (pcim_sm_devsel_in), .pci_devsel_reg_in (pcim_sm_devsel_reg_in), .pci_ad_reg_in (pcim_sm_ad_reg_in), .pci_ad_out (pcim_sm_ad_out), .pci_ad_en_out (pcim_sm_ad_en_out), .pci_cbe_out (pcim_sm_cbe_out), .pci_cbe_en_out (pcim_sm_cbe_en_out), .address_in (pcim_sm_address_in), .bc_in (pcim_sm_bc_in), .data_in (pcim_sm_data_in), .data_out (pcim_sm_data_out), .be_in (pcim_sm_be_in), .req_in (pcim_sm_req_in), .rdy_in (pcim_sm_rdy_in), .last_in (pcim_sm_last_in), .latency_tim_val_in (pcim_sm_latency_tim_val_in), .next_data_in (pcim_sm_next_data_in), .next_be_in (pcim_sm_next_be_in), .next_last_in (pcim_sm_next_last_in), .ad_load_out (pcim_sm_ad_load_out), .ad_load_on_transfer_out (pcim_sm_ad_load_on_transfer_out), .wait_out (pcim_sm_wait_out), .wtransfer_out (pcim_sm_wtransfer_out), .rtransfer_out (pcim_sm_rtransfer_out), .retry_out (pcim_sm_retry_out), .rerror_out (pcim_sm_rerror_out), .first_out (pcim_sm_first_out), .mabort_out (pcim_sm_mabort_out)) ;endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -