⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pci_rst_int.v

📁 这是用pci-wishbone核和16450串口核在xilinx的fpga上实现的串口程序
💻 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 + -