📄 pci_rst_int.v
字号:
////////////////////////////////////////////////////////////////////////// //////// File name: pci_rst_int.v //////// //////// This file is part of the "PCI bridge" project //////// http://www.opencores.org/cores/pci/ //////// //////// Author(s): //////// - Tadej Markovic, tadej@opencores.org //////// //////// All additional information is avaliable in the README.txt //////// file. //////// //////// ////////////////////////////////////////////////////////////////////////////// //////// Copyright (C) 2000 Tadej Markovic, tadej@opencores.org //////// //////// This source file may be used and distributed without //////// restriction provided that this copyright statement is not //////// removed from the file and that any derivative work contains //////// the original copyright notice and the associated disclaimer. //////// //////// This source file is free software; you can redistribute it //////// and/or modify it under the terms of the GNU Lesser General //////// Public License as published by the Free Software Foundation; //////// either version 2.1 of the License, or (at your option) any //////// later version. //////// //////// This source is distributed in the hope that it will be //////// useful, but WITHOUT ANY WARRANTY; without even the implied //////// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //////// PURPOSE. See the GNU Lesser General Public License for more //////// details. //////// //////// You should have received a copy of the GNU Lesser General //////// Public License along with this source; if not, download it //////// from http://www.opencores.org/lgpl.shtml //////// ////////////////////////////////////////////////////////////////////////////// CVS Revision History//// $Log: pci_rst_int.v,v $// Revision 1.3 2003/12/19 11:11:30 mihad// Compact PCI Hot Swap support added.// New testcases added.// Specification updated.// Test application changed to support WB B3 cycles.//// Revision 1.2 2003/01/27 16:49:31 mihad// Changed module and file names. Updated scripts accordingly. FIFO synchronizations changed.//// Revision 1.1 2002/02/01 14:43:31 mihad// *** empty log message ***//////`include "pci_constants.v"// synopsys translate_off`include "timescale.v"// synopsys translate_on// Module is used to switch appropriate reset and interrupt signals with few logicmodule pci_rst_int( clk_in, // reset signals rst_i, pci_rstn_in, conf_soft_res_in, reset, pci_rstn_out, pci_rstn_en_out, rst_o, // interrupt signals pci_intan_in, conf_int_in, int_i, pci_intan_out, pci_intan_en_out, int_o, conf_isr_int_prop_out, init_complete_in);input clk_in;// RESET inputs and outputsinput rst_i;input pci_rstn_in;input conf_soft_res_in;output reset;output pci_rstn_out;output pci_rstn_en_out;output rst_o;// INTERRUPT inputs and outputsinput pci_intan_in;input conf_int_in;input int_i;output pci_intan_out;output pci_intan_en_out;output int_o;output conf_isr_int_prop_out;input init_complete_in ;/*--------------------------------------------------------------------------------------------------------RESET logic--------------------------------------------------------------------------------------------------------*/assign pci_rstn_out = 1'b0 ;// host implementation of the bridge gets its reset from WISHBONE bus - RST_I and propagates it to PCI bus`ifdef HOST assign reset = rst_i ; `ifdef ACTIVE_LOW_OE assign pci_rstn_en_out = ~(rst_i || conf_soft_res_in) ; `else assign pci_rstn_en_out = rst_i || conf_soft_res_in ; `endif assign rst_o = 1'b0 ;`else// guest implementation of the bridge gets its reset from PCI bus - RST# and propagates it to WISHBONE bus`ifdef GUEST assign reset = ~pci_rstn_in ; assign rst_o = (~pci_rstn_in) || conf_soft_res_in ; `ifdef ACTIVE_LOW_OE assign pci_rstn_en_out = 1'b1 ; // disabled `else assign pci_rstn_en_out = 1'b0 ; // disabled `endif`endif`endif/*--------------------------------------------------------------------------------------------------------INTERRUPT logic--------------------------------------------------------------------------------------------------------*/assign pci_intan_out = 1'b0 ;// host implementation of the bridge gets its interrupt from PCI bus - INTA# and propagates it to WISHBONE bus`ifdef HOST assign conf_isr_int_prop_out = ~pci_intan_in ; assign int_o = conf_int_in ; `ifdef ACTIVE_LOW_OE assign pci_intan_en_out = 1'b1 ; // disabled `else assign pci_intan_en_out = 1'b0 ; // disabled `endif`else// guest implementation of the bridge gets its interrupt from WISHBONE bus - INT_I and propagates it to PCI bus`ifdef GUEST wire interrupt_a_en; pci_out_reg inta ( .reset_in ( reset ), .clk_in ( clk_in) , .dat_en_in ( 1'b1 ), .en_en_in ( init_complete_in ), .dat_in ( 1'b0 ) , // active low .en_in ( conf_int_in ) , .en_out ( interrupt_a_en ), .dat_out ( ) ); assign conf_isr_int_prop_out = int_i ; assign int_o = 1'b0 ; assign pci_intan_en_out = interrupt_a_en ;`endif`endifendmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -