pci_bridge32(1).v
上传用户:quan1896
上传日期:2014-05-14
资源大小:211k
文件大小:93k
- <!-- pf_header_start -->
- <html>
- <head>
- <META NAME="keywords" CONTENT="cores, VHDL, Verilog HDL, ASIC, Synthesizable,
- standard cell, IP, Intellectual Property, 32-bit RISC, UART, PCI, SDRAM,
- full custom, system on a chip, SOC, reusable, design, development, synthesis,
- designs, developers, C, Linux, eCos, open, free, open source cores, RTL code,
- system-on-a-chip, circuits, digital, GNU, GPL, core, controller, processor,
- system design, chip design, EDA, design methodology, design tools, ASICs, programmable logic,
- FPGA's, PLDs, CPLDs, verification, Synthesis, HDL, Simulation, IC design software,
- semiconductor design, integrated circuits, system designs, chip designs, EDAs,
- design methodologies, design tool, ASIC, programmable logics, FPGA, PLD, CPLD, Synthesis,
- circuit, Synopsys, system design, chip design, programmable logic, FPGA's, PLDs,
- CPLDs, verification, Simulation">
- <META NAME="description" CONTENT="OPENCORES.ORG endorses development and hosts
- a repository of free, open-source cores (chip designs) and supplemental
- platforms (boards).">
- <STYLE type=text/css>
- BODY {margin: 0;}
- BODY, P, DIV, TD, TR, TH, FORM, OL, UL, LI, B, I, INPUT, TEXTAREA, SELECT,
- FONT {font-size: 10pt; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- P, TD, FORM, TEXTAREA {font-size: 10pt;}
- H1, H2 {FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica; font-size: 13pt; text-decoration: none}
- .noline {text-decoration: none;}
- .menu_top {text-decoration: none; font-weight: bold;
- font-size: 7pt; color: #000000; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .menu_section {text-decoration: none; font-weight: bold;
- font-size: 10pt; color: #ffffff; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .menu_item {font-size: 10pt; color: #004488; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .menu_section_admin {text-decoration: none; font-weight: bold;
- font-size: 10pt; color: #ffff44; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .page_title {text-decoration: none; font-weight: bold; color: #c00000; font-size: 13pt; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .block_title {text-decoration: none; font-weight: bold; font-size: 11pt; color: #000000; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .block_subtitle {text-decoration: none; font-weight: bold; font-size: 10pt; color: #000000; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .title {text-decoration: none; font-weight: bold; font-size: 10pt; color: #000000; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .large {font-size: 13pt; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .medium {font-size: 10pt; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .small {font-size: 7pt; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .ultrasmall {font-size: 3pt; FONT-FAMILY: Verdana, Tahoma, Arial, Helvetica;}
- .button { font-family:Verdana, Tahoma, Arial, Helvetica; }
- .searchfield {font-family: verdana, arial, helvetica; font-size: 10px; color: #333333; width: 80px; height: 17px;}
- </STYLE>
- <title>OPENCORES.ORG</title>
- <script laguage="Javascript">
- function check(msg) {
- if(confirm(msg)) {
- return true
- } else {
- return false
- }
- }
- </script>
- </head>
-
- <body
- bgcolor="#e0e0e0"
- topmargin="0"
- leftmargin="0"
- marginwidth="0"
- marginheight="0"
- link="#004488"
- alink="#ff3300"
- vlink="#444444"
- >
- <a name="top">
- <!-- pf_header_end -->
- <center>
- <table cellpadding=0 cellspacing=0 border=0 width=96%><tr>
- <td width=1 bgcolor=#000000><img width=1 src="/images/dotty.gif"></td>
- <td>
- <table border=0 cellpadding=0 cellspacing=0 width=100%>
- <tr><td background="/images/topbg.gif" bgcolor=#aaddff height=70>
- <table width=100% border=0 ><tr><td width=180>
- <a href="/"><img border=0 src="/images/oc_logo.gif"></a>
- </td><td>
- <center>
- <!--
- <a title="" href="/banner.cgi"><img width=468 height=60 border=0 alt="" src=""></a>
- //-->
- <script type="text/javascript"><!--
- google_ad_client = "pub-9285819221080148";
- xgoogle_ad_width = 728;
- xgoogle_ad_height = 79;
- xgoogle_ad_format = "728x90_as";
- google_ad_width = 468;
- google_ad_height = 47;
- google_ad_format = "468x60_as";
- google_ad_type = "text_image";
- google_ad_channel ="3274390903";
- google_color_border = "aaddff";
- xgoogle_color_border = "ffee88";
- xgoogle_color_bg = "FFEE88";
- google_color_bg = "aaddFF";
- google_color_link = "004488";
- google_color_url = "b00000";
- google_color_text = "000000";
- //--></script>
- <script type="text/javascript"
- src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
- </script>
- </center>
- </td><td align=right>
- </td>
- </tr></table>
- </td></tr>
- <tr bgcolor=#000000><td><img height=1 src="/images/dotty.gif"></td></tr>
- <tr><td bgcolor=#ffffff>
- <table border=0 cellpadding=0 cellspacing=0 width=100%><tr>
- <td bgcolor=#ffee88 width=60% background="/images/menu1.gif"></td>
- <td bgcolor=#ffee88 width=15 background="/images/menu1.gif" align=right><input type=image border=0 src="/images/exp1pf.gif" onclick="javascript:window.location='/pf.cgi?url=/cvsweb.shtml/pci/rtl/verilog/pci_bridge32.v?rev=1.19'"></a></td>
- <td bgcolor=#ffffff align=right nowrap>
-
- <font class=menu_top size=-1>
-
- <a class=menu_top href="/login.cgi/login">LOGIN</a>
-
- :::
-
-
- <a class=menu_top href="/recover_pass.cgi/recover_pass">RECOVER PASS</a>
-
- :::
-
-
- <a class=menu_top href="/get_account.cgi/get_account">GET ACCOUNT</a>
-
-
-
- </font>
- </td></tr>
- <tr bgcolor=#ffffff>
- <td></td>
- <td></td>
- <td bgcolor=#000000><img src="/images/dotty.gif"></td>
- </tr>
- </table>
- <table border=0 cellpadding=0 cellspacing=0>
- <tr>
- <td width=10><img width=10 src="/images/dotty.gif"></td>
- <td width=120 valign=top>
-
- <table width=100% border=0 cellpadding=2 cellspacing=0>
- <tr><td><img height=2 src="/images/dotty.gif"></td></tr>
-
- <tr><td bgcolor="#347FB8">
- <img src="/images/bullet.gif">
-
- <font class=menu_section>Browse</font>
-
- </td></tr>
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/browse.cgi/by_category"><font class=menu_item>Projects</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/cvsweb.shtml/"><font class=menu_item>Code (CVS)</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/forums.cgi"><font class=menu_item>Forums</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/news.cgi/list/1"><font class=menu_item>News</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/articles.cgi/list"><font class=menu_item>Articles</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/polls.cgi/list"><font class=menu_item>Polls</font></a></li>
-
- </td></tr>
-
-
- <tr><td><font size=-2> </font></td></tr>
-
- <tr><td bgcolor="#347FB8">
- <img src="/images/bullet.gif">
-
- <font class=menu_section>OpenCores</font>
-
- </td></tr>
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/faq.cgi/index"><font class=menu_item>FAQ</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opencores/cvs_howto"><font class=menu_item>CVS HowTo</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opencores/mission"><font class=menu_item>Mission</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opencores/media"><font class=menu_item>Media</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opencores/tools"><font class=menu_item>Tools</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opencores/sponsors"><font class=menu_item>Sponsors</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opencores/mirrors"><font class=menu_item>Mirrors</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opencores/logos"><font class=menu_item>Logos</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opencores/contacts"><font class=menu_item>Contact us</font></a></li>
-
- </td></tr>
-
-
- <tr><td><font size=-2> </font></td></tr>
-
- <tr><td bgcolor="#347FB8">
- <img src="/images/bullet.gif">
-
- <font class=menu_section>Tools</font>
-
- </td></tr>
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <font class=menu_item><a href="/search.cgi">Search</a><br><table><tr><form action=/search.cgi/do_search><td><font class=small> </font></td><td><input class=searchfield type=text name=query></td></form></tr></table></font></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/cvsget.shtml"><font class=menu_item>Download Cores (CVSGet)</font></a></li>
-
- </td></tr>
-
-
- <tr><td><font size=-2> </font></td></tr>
-
- <tr><td bgcolor="#347FB8">
- <img src="/images/bullet.gif">
-
- <font class=menu_section>More</font>
-
- </td></tr>
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/wishbone/"><font class=menu_item>Wishbone</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/perlilog/"><font class=menu_item>Perlilog</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/edatools/"><font class=menu_item>EDA tools</font></a></li>
-
- </td></tr>
-
-
- <tr><td>
-
-
- <li class=small>
-
-
-
- <a class=menu_item href="/projects.cgi/web/opentech/"><font class=menu_item>OpenTech CD</font></a></li>
-
- </td></tr>
-
-
- <tr><td><font size=-2> </font></td></tr>
-
- </table>
- </td>
- <td width=10><img width=10 src="/images/dotty.gif"></td>
- <td background="/images/vpd.gif"><img width=1 src="/images/dotty.gif"></td>
- <td width=10><img width=10 src="/images/dotty.gif"></td>
- <td valign=top>
-
- <table width=100% cellpadding=2 cellspacing=0 border=0>
- <tr><td><img height=2 src="/images/dotty.gif"></td></tr>
- </table>
-
- <table width=100% cellspacing=0 cellpadding=0 border=0><tr><td>
- <!-- pf_body_start -->
-
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
- <head>
- <title>pci/rtl/verilog/pci_bridge32.v - view - 1.19</title>
- <meta name="robots" content="nofollow" />
- <meta name="generator" content="FreeBSD-CVSweb 3.0.5" />
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
- <meta http-equiv="Content-Style-Type" content="text/css" />
- <link rel="stylesheet" type="text/css" href="/css/cvsweb.css" />
- </head>
- <body class="src">
- <table class="navigate-header" width="100%" summary="Navigation">
- <tr>
- <td>
- <a href="./pci_bridge32.v#rev1.19"><img src="/icons/back.gif" alt="[BACK]" border="0" width="20" height="22" /></a><b>Return to <a href="./pci_bridge32.v#rev1.19">pci_bridge32.v</a> CVS log</b> <img src="/icons/text.gif" alt="[TXT]" border="0" width="20" height="22" /></td> <td style="text-align: right"><img src="/icons/dir.gif" alt="[DIR]" border="0" width="20" height="22" /> <b>Up to <a href="/cvsweb.shtml/#dirlist">[Official OpenCores CVS Repository]</a> / <a href="/cvsweb.shtml/pci/#dirlist">pci</a> / <a href="/cvsweb.shtml/pci/rtl/#dirlist">rtl</a> / <a href="/cvsweb.shtml/pci/rtl/verilog/#dirlist">verilog</a></b></td>
- </tr>
- </table>
- <hr />
- <div class="log-markup">
- File:
- <a href="/cvsweb.shtml/#dirlist">[Official OpenCores CVS Repository]</a> / <a href="/cvsweb.shtml/pci/#dirlist">pci</a> / <a href="/cvsweb.shtml/pci/rtl/#dirlist">rtl</a> / <a href="/cvsweb.shtml/pci/rtl/verilog/#dirlist">verilog</a> / <a href="/cvsweb.shtml/pci/rtl/verilog/pci_bridge32.v">pci_bridge32.v</a><br />
- <a name="rev1.19"></a><a name="HEAD"></a>
- Revision <b>1.19</b>: <a href="/cvsweb.cgi/~checkout~/pci/rtl/verilog/pci_bridge32.v?rev=1.19;content-type=text%2Fplain" class="download-link">download</a> - view: <a href="pci_bridge32.v?rev=1.19;content-type=text%2Fplain" class="display-link">text</a>, <a href="pci_bridge32.v?annotate=1.19">annotated</a> - <a href="pci_bridge32.v?r1=1.19#rev1.19">select for diffs</a><br />
- <i>Thu Sep 23 13:48:53 2004 UTC</i> (2 years, 7 months ago) by <i>mihad</i><br />
- Branches: <a href="./pci_bridge32.v?only_with_tag=MAIN">MAIN</a><br />
- CVS tags: <a href="./pci_bridge32.v?only_with_tag=HEAD">HEAD</a><br />
- <pre class="log">
- The control inputs from PCI are now muxed with control outputs
- using output enable state for given signal.
- </pre>
- </div>
- <hr /><pre>
- //////////////////////////////////////////////////////////////////////
- //// ////
- //// File name "pci_bridge32.v" ////
- //// ////
- //// This file is part of the "PCI bridge" project ////
- //// http://www.opencores.org/cores/pci/ ////
- //// ////
- //// Author(s): ////
- //// - Miha Dolenc (mihad@opencores.org) ////
- //// - Tadej Markovic (tadej@opencores.org) ////
- //// ////
- //// All additional information is avaliable in the README ////
- //// file. ////
- //// ////
- //// ////
- //////////////////////////////////////////////////////////////////////
- //// ////
- //// Copyright (C) 2001 Miha Dolenc, mihad@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_bridge32.v,v $
- // Revision 1.19 2004/09/23 13:48:53 mihad
- // The control inputs from PCI are now muxed with control outputs
- // using output enable state for given signal.
- //
- // Revision 1.18 2004/08/19 15:27:34 mihad
- // Changed minimum pci image size to 256 bytes because
- // of some PC system problems with size of IO images.
- //
- // Revision 1.17 2004/01/24 11:54:18 mihad
- // Update! SPOCI Implemented!
- //
- // Revision 1.16 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.15 2003/12/10 12:02:54 mihad
- // The wbs B3 to B2 translation logic had wrong reset wire connected!
- //
- // Revision 1.14 2003/12/09 09:33:57 simons
- // Some warning cleanup.
- //
- // Revision 1.13 2003/10/17 09:11:52 markom
- // mbist signals updated according to newest convention
- //
- // Revision 1.12 2003/08/21 20:49:03 tadejm
- // Added signals for WB Master B3.
- //
- // Revision 1.11 2003/08/08 16:36:33 tadejm
- // Added 'three_left_out' to pci_pciw_fifo signaling three locations before full. Added comparison between current registered cbe and next unregistered cbe to signal wb_master whether it is allowed to performe burst or not. Due to this, I needed 'three_left_out' so that writing to pci_pciw_fifo can be registered, otherwise timing problems would occure.
- //
- // Revision 1.10 2003/08/03 18:05:06 mihad
- // Added limited WISHBONE B3 support for WISHBONE Slave Unit.
- // Doesn't support full speed bursts yet.
- //
- // Revision 1.9 2003/01/27 16:49:31 mihad
- // Changed module and file names. Updated scripts accordingly. FIFO synchronizations changed.
- //
- // Revision 1.8 2002/10/21 13:04:33 mihad
- // Changed BIST signal names etc..
- //
- // Revision 1.7 2002/10/18 03:36:37 tadejm
- // Changed wrong signal name mbist_sen into mbist_ctrl_i.
- //
- // Revision 1.6 2002/10/17 22:51:50 tadejm
- // Changed BIST signals for RAMs.
- //
- // Revision 1.5 2002/10/11 10:09:01 mihad
- // Added additional testcase and changed rst name in BIST to trst
- //
- // Revision 1.4 2002/10/08 17:17:05 mihad
- // Added BIST signals for RAMs.
- //
- // Revision 1.3 2002/02/01 15:25:12 mihad
- // Repaired a few bugs, updated specification, added test bench files and design document
- //
- // Revision 1.2 2001/10/05 08:14:28 mihad
- // Updated all files with inclusion of timescale file for simulation purposes.
- //
- // Revision 1.1.1.1 2001/10/02 15:33:46 mihad
- // New project directory structure
- //
- //
- `include "pci_constants.v"
- // synopsys translate_off
- `include "timescale.v"
- // synopsys translate_on
- // this is top level module of pci bridge core
- // it instantiates and connects other lower level modules
- // check polarity of PCI output enables in file out_reg.v and change it according to IO interface specification
- module pci_bridge32
- (
- // WISHBONE system signals
- wb_clk_i,
- wb_rst_i,
- wb_rst_o,
- wb_int_i,
- wb_int_o,
- // WISHBONE slave interface
- wbs_adr_i,
- wbs_dat_i,
- wbs_dat_o,
- wbs_sel_i,
- wbs_cyc_i,
- wbs_stb_i,
- wbs_we_i,
- `ifdef PCI_WB_REV_B3
- wbs_cti_i,
- wbs_bte_i,
- `else
- wbs_cab_i,
- `endif
- wbs_ack_o,
- wbs_rty_o,
- wbs_err_o,
- // WISHBONE master interface
- wbm_adr_o,
- wbm_dat_i,
- wbm_dat_o,
- wbm_sel_o,
- wbm_cyc_o,
- wbm_stb_o,
- wbm_we_o,
- wbm_cti_o,
- wbm_bte_o,
- wbm_ack_i,
- wbm_rty_i,
- wbm_err_i,
- // pci interface - system pins
- pci_clk_i,
- pci_rst_i,
- pci_rst_o,
- pci_inta_i,
- pci_inta_o,
- pci_rst_oe_o,
- pci_inta_oe_o,
- // arbitration pins
- pci_req_o,
- pci_req_oe_o,
- pci_gnt_i,
- // protocol pins
- pci_frame_i,
- pci_frame_o,
- pci_frame_oe_o,
- pci_irdy_oe_o,
- pci_devsel_oe_o,
- pci_trdy_oe_o,
- pci_stop_oe_o,
- pci_ad_oe_o,
- pci_cbe_oe_o,
- pci_irdy_i,
- pci_irdy_o,
- pci_idsel_i,
- pci_devsel_i,
- pci_devsel_o,
- pci_trdy_i,
- pci_trdy_o,
- pci_stop_i,
- pci_stop_o ,
- // data transfer pins
- pci_ad_i,
- pci_ad_o,
- pci_cbe_i,
- pci_cbe_o,
- // parity generation and checking pins
- pci_par_i,
- pci_par_o,
- pci_par_oe_o,
- pci_perr_i,
- pci_perr_o,
- pci_perr_oe_o,
- // system error pin
- pci_serr_o,
- pci_serr_oe_o
- `ifdef PCI_BIST
- ,
- // debug chain signals
- mbist_si_i, // bist scan serial in
- mbist_so_o, // bist scan serial out
- mbist_ctrl_i // bist chain shift control
- `endif
- `ifdef PCI_CPCI_HS_IMPLEMENT
- ,
- // Compact PCI Hot Swap signals
- pci_cpci_hs_enum_o , // ENUM# output with output enable (open drain)
- pci_cpci_hs_enum_oe_o , // ENUM# enum output enable
- pci_cpci_hs_led_o , // LED output with output enable (open drain)
- pci_cpci_hs_led_oe_o , // LED output enable
- pci_cpci_hs_es_i // ejector switch state indicator input
- `endif
- `ifdef PCI_SPOCI
- ,
- // Serial power on configuration interface
- spoci_scl_o ,
- spoci_scl_oe_o ,
- spoci_sda_i ,
- spoci_sda_o ,
- spoci_sda_oe_o
- `endif
- );
- `ifdef HOST
- `ifdef NO_CNF_IMAGE
- parameter pci_ba0_width = `PCI_NUM_OF_DEC_ADDR_LINES ;
- `else
- parameter pci_ba0_width = 20 ;
- `endif
- `endif
- `ifdef GUEST
- parameter pci_ba0_width = 20 ;
- `endif
- parameter pci_ba1_5_width = `PCI_NUM_OF_DEC_ADDR_LINES ;
- // WISHBONE system signals
- input wb_clk_i ;
- input wb_rst_i ;
- output wb_rst_o ;
- input wb_int_i ;
- output wb_int_o ;
- // WISHBONE slave interface
- input [31:0] wbs_adr_i ;
- input [31:0] wbs_dat_i ;
- output [31:0] wbs_dat_o ;
- input [3:0] wbs_sel_i ;
- input wbs_cyc_i ;
- input wbs_stb_i ;
- input wbs_we_i ;
- `ifdef PCI_WB_REV_B3
- input [2:0] wbs_cti_i ;
- input [1:0] wbs_bte_i ;
- `else
- input wbs_cab_i ;
- `endif
- output wbs_ack_o ;
- output wbs_rty_o ;
- output wbs_err_o ;
- // WISHBONE master interface
- output [31:0] wbm_adr_o ;
- input [31:0] wbm_dat_i ;
- output [31:0] wbm_dat_o ;
- output [3:0] wbm_sel_o ;
- output wbm_cyc_o ;
- output wbm_stb_o ;
- output wbm_we_o ;
- output [2:0] wbm_cti_o ;
- output [1:0] wbm_bte_o ;
- input wbm_ack_i ;
- input wbm_rty_i ;
- input wbm_err_i ;
- // pci interface - system pins
- input pci_clk_i ;
- input pci_rst_i ;
- output pci_rst_o ;
- output pci_rst_oe_o ;
- input pci_inta_i ;
- output pci_inta_o ;
- output pci_inta_oe_o ;
- // arbitration pins
- output pci_req_o ;
- output pci_req_oe_o ;
- input pci_gnt_i ;
- // protocol pins
- input pci_frame_i ;
- output pci_frame_o ;
- output pci_frame_oe_o ;
- output pci_irdy_oe_o ;
- output pci_devsel_oe_o ;
- output pci_trdy_oe_o ;
- output pci_stop_oe_o ;
- output [31:0] pci_ad_oe_o ;
- output [3:0] pci_cbe_oe_o ;
- input pci_irdy_i ;
- output pci_irdy_o ;
- input pci_idsel_i ;
- input pci_devsel_i ;
- output pci_devsel_o ;
- input pci_trdy_i ;
- output pci_trdy_o ;
- input pci_stop_i ;
- output pci_stop_o ;
- // data transfer pins
- input [31:0] pci_ad_i ;
- output [31:0] pci_ad_o ;
- input [3:0] pci_cbe_i ;
- output [3:0] pci_cbe_o ;
- // parity generation and checking pins
- input pci_par_i ;
- output pci_par_o ;
- output pci_par_oe_o ;
- input pci_perr_i ;
- output pci_perr_o ;
- output pci_perr_oe_o ;
- // system error pin
- output pci_serr_o ;
- output pci_serr_oe_o ;
- `ifdef PCI_BIST
- /*-----------------------------------------------------
- BIST debug chain port signals
- -----------------------------------------------------*/
- input mbist_si_i; // bist scan serial in
- output mbist_so_o; // bist scan serial out
- input [`PCI_MBIST_CTRL_WIDTH - 1:0] mbist_ctrl_i; // bist chain shift control
- `endif
- `ifdef PCI_CPCI_HS_IMPLEMENT
- // Compact PCI Hot Swap signals
- output pci_cpci_hs_enum_o ; // ENUM# output with output enable (open drain)
- output pci_cpci_hs_enum_oe_o ; // ENUM# enum output enable
- output pci_cpci_hs_led_o ; // LED output with output enable (open drain)
- output pci_cpci_hs_led_oe_o ; // LED output enable
- input pci_cpci_hs_es_i ; // ejector switch state indicator input
- assign pci_cpci_hs_enum_o = 1'b0 ;
- assign pci_cpci_hs_led_o = 1'b0 ;
- `endif
- `ifdef PCI_SPOCI
- output spoci_scl_o ;
- output spoci_scl_oe_o ;
- input spoci_sda_i ;
- output spoci_sda_o ;
- output spoci_sda_oe_o ;
- assign spoci_scl_o = 1'b0 ;
- assign spoci_sda_o = 1'b0 ;
- `endif
- // declare clock and reset wires
- wire pci_clk = pci_clk_i ;
- wire wb_clk = wb_clk_i ;
- wire reset ; // assigned at pci bridge reset and interrupt logic
- /*=========================================================================================================
- First comes definition of all modules' outputs, so they can be assigned to any other module's input later
- in the file, when module is instantiated
- =========================================================================================================*/
- // PCI BRIDGE RESET AND INTERRUPT LOGIC OUTPUTS
- wire pci_reso_reset ;
- wire pci_reso_pci_rstn_out ;
- wire pci_reso_pci_rstn_en_out ;
- wire pci_reso_rst_o ;
- wire pci_into_pci_intan_out ;
- wire pci_into_pci_intan_en_out ;
- wire pci_into_int_o ;
- wire pci_into_conf_isr_int_prop_out ;
- // assign pci bridge reset interrupt logic outputs to top outputs where possible
- assign reset = pci_reso_reset ;
- assign pci_rst_o = pci_reso_pci_rstn_out ;
- assign pci_rst_oe_o = pci_reso_pci_rstn_en_out ;
- assign wb_rst_o = pci_reso_rst_o ;
- assign pci_inta_o = pci_into_pci_intan_out ;
- assign pci_inta_oe_o = pci_into_pci_intan_en_out ;
- assign wb_int_o = pci_into_int_o ;
- // WISHBONE SLAVE UNIT OUTPUTS
- wire [31:0] wbu_sdata_out ;
- wire wbu_ack_out ;
- wire wbu_rty_out ;
- wire wbu_err_out ;
- wire wbu_pciif_req_out ;
- wire wbu_pciif_frame_out ;
- wire wbu_pciif_frame_en_out ;
- wire wbu_pciif_irdy_out ;
- wire wbu_pciif_irdy_en_out ;
- wire [31:0] wbu_pciif_ad_out ;
- wire wbu_pciif_ad_en_out ;
- wire [3:0] wbu_pciif_cbe_out ;
- wire wbu_pciif_cbe_en_out ;
- wire [31:0] wbu_err_addr_out ;
- wire [3:0] wbu_err_bc_out ;
- wire wbu_err_signal_out ;
- wire wbu_err_source_out ;
- wire wbu_err_rty_exp_out ;
- wire wbu_tabort_rec_out ;
- wire wbu_mabort_rec_out ;
- wire [11:0] wbu_conf_offset_out ;
- wire wbu_conf_renable_out ;
- wire wbu_conf_wenable_out ;
- wire [3:0] wbu_conf_be_out ;
- wire [31:0] wbu_conf_data_out ;
- wire wbu_del_read_comp_pending_out ;
- wire wbu_wbw_fifo_empty_out ;
- wire wbu_ad_load_out ;
- wire wbu_ad_load_on_transfer_out ;
- wire wbu_pciif_frame_load_out ;
- // PCI TARGET UNIT OUTPUTS
- wire [31:0] pciu_adr_out ;
- wire [31:0] pciu_mdata_out ;
- wire pciu_cyc_out ;
- wire pciu_stb_out ;
- wire pciu_we_out ;
- wire [2:0] pciu_cti_out ;
- wire [1:0] pciu_bte_out ;
- wire [3:0] pciu_sel_out ;
- wire pciu_pciif_trdy_out ;
- wire pciu_pciif_stop_out ;
- wire pciu_pciif_devsel_out ;
- wire pciu_pciif_trdy_en_out ;
- wire pciu_pciif_stop_en_out ;
- wire pciu_pciif_devsel_en_out ;
- wire pciu_ad_load_out ;
- wire pciu_ad_load_on_transfer_out ;
- wire [31:0] pciu_pciif_ad_out ;
- wire pciu_pciif_ad_en_out ;
- wire pciu_pciif_tabort_set_out ;
- wire [31:0] pciu_err_addr_out ;
- wire [3:0] pciu_err_bc_out ;
- wire [31:0] pciu_err_data_out ;
- wire [3:0] pciu_err_be_out ;
- wire pciu_err_signal_out ;
- wire pciu_err_source_out ;
- wire pciu_err_rty_exp_out ;
- wire [11:0] pciu_conf_offset_out ;
- wire pciu_conf_renable_out ;
- wire pciu_conf_wenable_out ;
- wire [3:0] pciu_conf_be_out ;
- wire [31:0] pciu_conf_data_out ;
- wire pciu_pci_drcomp_pending_out ;
- wire pciu_pciw_fifo_empty_out ;
- // assign pci target unit's outputs to top outputs where possible
- assign wbm_adr_o = pciu_adr_out ;
- assign wbm_dat_o = pciu_mdata_out ;
- assign wbm_cyc_o = pciu_cyc_out ;
- assign wbm_stb_o = pciu_stb_out ;
- assign wbm_we_o = pciu_we_out ;
- assign wbm_cti_o = pciu_cti_out ;
- assign wbm_bte_o = pciu_bte_out ;
- assign wbm_sel_o = pciu_sel_out ;
- // CONFIGURATION SPACE OUTPUTS
- wire [31:0] conf_w_data_out ;
- wire [31:0] conf_r_data_out ;
- wire conf_serr_enable_out ;
- wire conf_perr_response_out ;
- wire conf_pci_master_enable_out ;
- wire conf_mem_space_enable_out ;
- wire conf_io_space_enable_out ;
- wire [7:0] conf_cache_line_size_to_pci_out ;
- wire [7:0] conf_cache_line_size_to_wb_out ;
- wire conf_cache_lsize_not_zero_to_wb_out ;
- wire [7:0] conf_latency_tim_out ;
- wire [pci_ba0_width - 1:0] conf_pci_ba0_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ba1_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ba2_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ba3_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ba4_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ba5_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ta0_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ta1_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ta2_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ta3_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ta4_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_ta5_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_am0_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_am1_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_am2_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_am3_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_am4_out ;
- wire [pci_ba1_5_width - 1:0] conf_pci_am5_out ;
- wire conf_pci_mem_io0_out ;
- wire conf_pci_mem_io1_out ;
- wire conf_pci_mem_io2_out ;
- wire conf_pci_mem_io3_out ;
- wire conf_pci_mem_io4_out ;
- wire conf_pci_mem_io5_out ;
- wire [1:0] conf_pci_img_ctrl0_out ;
- wire [1:0] conf_pci_img_ctrl1_out ;
- wire [1:0] conf_pci_img_ctrl2_out ;
- wire [1:0] conf_pci_img_ctrl3_out ;
- wire [1:0] conf_pci_img_ctrl4_out ;
- wire [1:0] conf_pci_img_ctrl5_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ba0_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ba1_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ba2_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ba3_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ba4_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ba5_out ;
- wire conf_wb_mem_io0_out ;
- wire conf_wb_mem_io1_out ;
- wire conf_wb_mem_io2_out ;
- wire conf_wb_mem_io3_out ;
- wire conf_wb_mem_io4_out ;
- wire conf_wb_mem_io5_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_am0_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_am1_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_am2_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_am3_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_am4_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_am5_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ta0_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ta1_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ta2_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ta3_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ta4_out ;
- wire [19:(20 - `WB_NUM_OF_DEC_ADDR_LINES)] conf_wb_ta5_out ;
- wire [2:0] conf_wb_img_ctrl0_out ;
- wire [2:0] conf_wb_img_ctrl1_out ;
- wire [2:0] conf_wb_img_ctrl2_out ;
- wire [2:0] conf_wb_img_ctrl3_out ;
- wire [2:0] conf_wb_img_ctrl4_out ;
- wire [2:0] conf_wb_img_ctrl5_out ;
- wire [23:0] conf_ccyc_addr_out ;
- wire conf_soft_res_out ;
- wire conf_int_out ;
- wire conf_wb_init_complete_out ;
- wire conf_pci_init_complete_out ;
- // PCI IO MUX OUTPUTS
- wire pci_mux_frame_out ;
- wire pci_mux_irdy_out ;
- wire pci_mux_devsel_out ;
- wire pci_mux_trdy_out ;
- wire pci_mux_stop_out ;
- wire [3:0] pci_mux_cbe_out ;
- wire [31:0] pci_mux_ad_out ;
- wire pci_mux_ad_load_out ;
- wire [31:0] pci_mux_ad_en_out ;
- wire pci_mux_ad_en_unregistered_out ;
- wire pci_mux_frame_en_out ;
- wire pci_mux_irdy_en_out ;
- wire pci_mux_devsel_en_out ;
- wire pci_mux_trdy_en_out ;
- wire pci_mux_stop_en_out ;
- wire [3:0] pci_mux_cbe_en_out ;
- wire pci_mux_par_out ;
- wire pci_mux_par_en_out ;
- wire pci_mux_perr_out ;
- wire pci_mux_perr_en_out ;
- wire pci_mux_serr_out ;
- wire pci_mux_serr_en_out ;
- wire pci_mux_req_out ;
- wire pci_mux_req_en_out ;
- // assign outputs to top level outputs
- assign pci_ad_oe_o = pci_mux_ad_en_out ;
- assign pci_frame_oe_o = pci_mux_frame_en_out ;
- assign pci_irdy_oe_o = pci_mux_irdy_en_out ;
- assign pci_cbe_oe_o = pci_mux_cbe_en_out ;
- assign pci_par_o = pci_mux_par_out ;
- assign pci_par_oe_o = pci_mux_par_en_out ;
- assign pci_perr_o = pci_mux_perr_out ;
- assign pci_perr_oe_o = pci_mux_perr_en_out ;
- assign pci_serr_o = pci_mux_serr_out ;
- assign pci_serr_oe_o = pci_mux_serr_en_out ;
- assign pci_req_o = pci_mux_req_out ;
- assign pci_req_oe_o = pci_mux_req_en_out ;
- assign pci_trdy_oe_o = pci_mux_trdy_en_out ;
- assign pci_devsel_oe_o = pci_mux_devsel_en_out ;
- assign pci_stop_oe_o = pci_mux_stop_en_out ;
- assign pci_trdy_o = pci_mux_trdy_out ;
- assign pci_devsel_o = pci_mux_devsel_out ;
- assign pci_stop_o = pci_mux_stop_out ;
- assign pci_ad_o = pci_mux_ad_out ;
- assign pci_frame_o = pci_mux_frame_out ;
- assign pci_irdy_o = pci_mux_irdy_out ;
- assign pci_cbe_o = pci_mux_cbe_out ;
- // duplicate output register's outputs
- wire out_bckp_frame_out ;
- wire out_bckp_irdy_out ;
- wire out_bckp_devsel_out ;
- wire out_bckp_trdy_out ;
- wire out_bckp_stop_out ;
- wire [3:0] out_bckp_cbe_out ;
- wire out_bckp_cbe_en_out ;
- wire [31:0] out_bckp_ad_out ;
- wire out_bckp_ad_en_out ;
- wire out_bckp_irdy_en_out ;
- wire out_bckp_frame_en_out ;
- wire out_bckp_tar_ad_en_out ;
- wire out_bckp_mas_ad_en_out ;
- wire out_bckp_trdy_en_out ;
- wire out_bckp_par_out ;
- wire out_bckp_par_en_out ;
- wire out_bckp_perr_out ;
- wire out_bckp_perr_en_out ;
- wire out_bckp_serr_out ;
- wire out_bckp_serr_en_out ;
- wire int_pci_frame = out_bckp_frame_en_out ? out_bckp_frame_out : pci_frame_i ;
- wire int_pci_irdy = out_bckp_irdy_en_out ? out_bckp_irdy_out : pci_irdy_i ;
- wire int_pci_devsel = out_bckp_trdy_en_out ? out_bckp_devsel_out : pci_devsel_i ;
- wire int_pci_trdy = out_bckp_trdy_en_out ? out_bckp_trdy_out : pci_trdy_i ;
- wire int_pci_stop = out_bckp_trdy_en_out ? out_bckp_stop_out : pci_stop_i ;
- wire [ 3: 0] int_pci_cbe = out_bckp_cbe_en_out ? out_bckp_cbe_out : pci_cbe_i ;
- wire int_pci_par = out_bckp_par_en_out ? out_bckp_par_out : pci_par_i ;
- wire int_pci_perr = out_bckp_perr_en_out ? out_bckp_perr_out : pci_perr_i ;
- // PARITY CHECKER OUTPUTS
- wire parchk_pci_par_out ;
- wire parchk_pci_par_en_out ;
- wire parchk_pci_perr_out ;
- wire parchk_pci_perr_en_out ;
- wire parchk_pci_serr_out ;
- wire parchk_pci_serr_en_out ;
- wire parchk_par_err_detect_out ;
- wire parchk_perr_mas_detect_out ;
- wire parchk_sig_serr_out ;
- // input register outputs
- wire in_reg_gnt_out ;
- wire in_reg_frame_out ;
- wire in_reg_irdy_out ;
- wire in_reg_trdy_out ;
- wire in_reg_stop_out ;
- wire in_reg_devsel_out ;
- wire in_reg_idsel_out ;
- wire [31:0] in_reg_ad_out ;
- wire [3:0] in_reg_cbe_out ;
- /*=========================================================================================================
- Now comes definition of all modules' and their appropriate inputs
- =========================================================================================================*/
- // PCI BRIDGE RESET AND INTERRUPT LOGIC INPUTS
- wire pci_resi_rst_i = wb_rst_i ;
- wire pci_resi_pci_rstn_in = pci_rst_i ;
- wire pci_resi_conf_soft_res_in = conf_soft_res_out ;
- wire pci_inti_pci_intan_in = pci_inta_i ;
- wire pci_inti_conf_int_in = conf_int_out ;
- wire pci_inti_int_i = wb_int_i ;
- wire pci_into_init_complete_in = conf_pci_init_complete_out ;
- pci_rst_int pci_resets_and_interrupts
- (
- .clk_in (pci_clk),
- .rst_i (pci_resi_rst_i),
- .pci_rstn_in (pci_resi_pci_rstn_in),
- .conf_soft_res_in (pci_resi_conf_soft_res_in),
- .reset (pci_reso_reset),
- .pci_rstn_out (pci_reso_pci_rstn_out),
- .pci_rstn_en_out (pci_reso_pci_rstn_en_out),
- .rst_o (pci_reso_rst_o),
- .pci_intan_in (pci_inti_pci_intan_in),
- .conf_int_in (pci_inti_conf_int_in),
- .int_i (pci_inti_int_i),
- .pci_intan_out (pci_into_pci_intan_out),
- .pci_intan_en_out (pci_into_pci_intan_en_out),
- .int_o (pci_into_int_o),
- .conf_isr_int_prop_out (pci_into_conf_isr_int_prop_out),
- .init_complete_in (pci_into_init_complete_in)
- );
- `ifdef PCI_WB_REV_B3
- wire wbs_wbb3_2_wbb2_cyc_o ;
- wire wbs_wbb3_2_wbb2_stb_o ;
- wire [31:0] wbs_wbb3_2_wbb2_adr_o ;
- wire [31:0] wbs_wbb3_2_wbb2_dat_i_o ;
- wire [31:0] wbs_wbb3_2_wbb2_dat_o_o ;
- wire wbs_wbb3_2_wbb2_we_o ;
- wire [ 3:0] wbs_wbb3_2_wbb2_sel_o ;
- wire wbs_wbb3_2_wbb2_ack_o ;
- wire wbs_wbb3_2_wbb2_err_o ;
- wire wbs_wbb3_2_wbb2_rty_o ;
- wire wbs_wbb3_2_wbb2_cab_o ;
- // assign wishbone slave unit's outputs to top outputs where possible
- assign wbs_dat_o = wbs_wbb3_2_wbb2_dat_o_o ;
- assign wbs_ack_o = wbs_wbb3_2_wbb2_ack_o ;
- assign wbs_rty_o = wbs_wbb3_2_wbb2_rty_o ;
- assign wbs_err_o = wbs_wbb3_2_wbb2_err_o ;
- wire wbs_wbb3_2_wbb2_cyc_i = wbs_cyc_i ;
- wire wbs_wbb3_2_wbb2_stb_i = wbs_stb_i ;
- wire wbs_wbb3_2_wbb2_we_i = wbs_we_i ;
- wire wbs_wbb3_2_wbb2_ack_i = wbu_ack_out ;
- wire wbs_wbb3_2_wbb2_err_i = wbu_err_out ;
- wire wbs_wbb3_2_wbb2_rty_i = wbu_rty_out ;
- wire [31:0] wbs_wbb3_2_wbb2_adr_i = wbs_adr_i ;
- wire [ 3:0] wbs_wbb3_2_wbb2_sel_i = wbs_sel_i ;
- wire [31:0] wbs_wbb3_2_wbb2_dat_i_i = wbs_dat_i ;
- wire [31:0] wbs_wbb3_2_wbb2_dat_o_i = wbu_sdata_out ;
- wire [ 2:0] wbs_wbb3_2_wbb2_cti_i = wbs_cti_i ;
- wire [ 1:0] wbs_wbb3_2_wbb2_bte_i = wbs_bte_i ;
- pci_wbs_wbb3_2_wbb2 i_pci_wbs_wbb3_2_wbb2
- (
- .wb_clk_i ( wb_clk_i ) ,
- .wb_rst_i ( reset ) ,
-
- .wbs_cyc_i ( wbs_wbb3_2_wbb2_cyc_i ) ,
- .wbs_cyc_o ( wbs_wbb3_2_wbb2_cyc_o ) ,
- .wbs_stb_i ( wbs_wbb3_2_wbb2_stb_i ) ,
- .wbs_stb_o ( wbs_wbb3_2_wbb2_stb_o ) ,
- .wbs_adr_i ( wbs_wbb3_2_wbb2_adr_i ) ,
- .wbs_adr_o ( wbs_wbb3_2_wbb2_adr_o ) ,
- .wbs_dat_i_i ( wbs_wbb3_2_wbb2_dat_i_i ) ,
- .wbs_dat_i_o ( wbs_wbb3_2_wbb2_dat_i_o ) ,
- .wbs_dat_o_i ( wbs_wbb3_2_wbb2_dat_o_i ) ,
- .wbs_dat_o_o ( wbs_wbb3_2_wbb2_dat_o_o ) ,
- .wbs_we_i ( wbs_wbb3_2_wbb2_we_i ) ,
- .wbs_we_o ( wbs_wbb3_2_wbb2_we_o ) ,
- .wbs_sel_i ( wbs_wbb3_2_wbb2_sel_i ) ,
- .wbs_sel_o ( wbs_wbb3_2_wbb2_sel_o ) ,
- .wbs_ack_i ( wbs_wbb3_2_wbb2_ack_i ) ,
- .wbs_ack_o ( wbs_wbb3_2_wbb2_ack_o ) ,
- .wbs_err_i ( wbs_wbb3_2_wbb2_err_i ) ,
- .wbs_err_o ( wbs_wbb3_2_wbb2_err_o ) ,
- .wbs_rty_i ( wbs_wbb3_2_wbb2_rty_i ) ,
- .wbs_rty_o ( wbs_wbb3_2_wbb2_rty_o ) ,
- .wbs_cti_i ( wbs_wbb3_2_wbb2_cti_i ) ,
- .wbs_bte_i ( wbs_wbb3_2_wbb2_bte_i ) ,
- .wbs_cab_o ( wbs_wbb3_2_wbb2_cab_o ) ,
- .wb_init_complete_i ( conf_wb_init_complete_out )
- ) ;
- // WISHBONE SLAVE UNIT INPUTS
- wire [31:0] wbu_addr_in = wbs_wbb3_2_wbb2_adr_o ;
- wire [31:0] wbu_sdata_in = wbs_wbb3_2_wbb2_dat_i_o ;
- wire wbu_cyc_in = wbs_wbb3_2_wbb2_cyc_o ;
- wire wbu_stb_in = wbs_wbb3_2_wbb2_stb_o ;
- wire wbu_we_in = wbs_wbb3_2_wbb2_we_o ;
- wire [3:0] wbu_sel_in = wbs_wbb3_2_wbb2_sel_o ;
- wire wbu_cab_in = wbs_wbb3_2_wbb2_cab_o ;
- `else
- // WISHBONE SLAVE UNIT INPUTS
- wire [31:0] wbu_addr_in = wbs_adr_i ;
- wire [31:0] wbu_sdata_in = wbs_dat_i ;
- wire wbu_cyc_in = wbs_cyc_i ;
- wire wbu_stb_in = wbs_stb_i ;
- wire wbu_we_in = wbs_we_i ;
- wire [3:0] wbu_sel_in = wbs_sel_i ;
- wire wbu_cab_in = wbs_cab_i ;
- // assign wishbone slave unit's outputs to top outputs where possible
- assign wbs_dat_o = wbu_sdata_out ;
- assign wbs_ack_o = wbu_ack_out ;
- assign wbs_rty_o = wbu_rty_out ;
- assign wbs_err_o = wbu_err_out ;
- `endif
- wire [5:0] wbu_map_in = {
- conf_wb_mem_io5_out,
- conf_wb_mem_io4_out,
- conf_wb_mem_io3_out,
- conf_wb_mem_io2_out,
- conf_wb_mem_io1_out,
- conf_wb_mem_io0_out
- } ;
- wire [5:0] wbu_pref_en_in = {
- conf_wb_img_ctrl5_out[1],
- conf_wb_img_ctrl4_out[1],
- conf_wb_img_ctrl3_out[1],
- conf_wb_img_ctrl2_out[1],
- conf_wb_img_ctrl1_out[1],
- conf_wb_img_ctrl0_out[1]
- };
- wire [5:0] wbu_mrl_en_in = {
- conf_wb_img_ctrl5_out[0],
- conf_wb_img_ctrl4_out[0],
- conf_wb_img_ctrl3_out[0],
- conf_wb_img_ctrl2_out[0],
- conf_wb_img_ctrl1_out[0],
- conf_wb_img_ctrl0_out[0]
- };
- wire [5:0] wbu_at_en_in = {
- conf_wb_img_ctrl5_out[2],
- conf_wb_img_ctrl4_out[2],
- conf_wb_img_ctrl3_out[2],
- conf_wb_img_ctrl2_out[2],
- conf_wb_img_ctrl1_out[2],
- conf_wb_img_ctrl0_out[2]
- } ;
- wire wbu_pci_drcomp_pending_in = pciu_pci_drcomp_pending_out ;
- wire wbu_pciw_empty_in = pciu_pciw_fifo_empty_out ;
- `ifdef HOST
- wire [31:0] wbu_conf_data_in = conf_w_data_out ;
- `else
- `ifdef GUEST
- wire [31:0] wbu_conf_data_in = conf_r_data_out ;
- `endif
- `endif
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_bar0_in = conf_wb_ba0_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_bar1_in = conf_wb_ba1_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_bar2_in = conf_wb_ba2_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_bar3_in = conf_wb_ba3_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_bar4_in = conf_wb_ba4_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_bar5_in = conf_wb_ba5_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_am0_in = conf_wb_am0_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_am1_in = conf_wb_am1_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_am2_in = conf_wb_am2_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_am3_in = conf_wb_am3_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_am4_in = conf_wb_am4_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_am5_in = conf_wb_am5_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_ta0_in = conf_wb_ta0_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_ta1_in = conf_wb_ta1_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_ta2_in = conf_wb_ta2_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_ta3_in = conf_wb_ta3_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_ta4_in = conf_wb_ta4_out ;
- wire [(`WB_NUM_OF_DEC_ADDR_LINES - 1):0] wbu_ta5_in = conf_wb_ta5_out ;
- wire [23:0] wbu_ccyc_addr_in = conf_ccyc_addr_out ;
- wire wbu_master_enable_in = conf_pci_master_enable_out ;
- wire wbu_cache_line_size_not_zero = conf_cache_lsize_not_zero_to_wb_out ;
- wire [7:0] wbu_cache_line_size_in = conf_cache_line_size_to_pci_out ;
- wire wbu_pciif_gnt_in = pci_gnt_i ;
- wire wbu_pciif_frame_in = in_reg_frame_out ;
- wire wbu_pciif_irdy_in = in_reg_irdy_out ;
- wire wbu_pciif_trdy_in = int_pci_trdy ;
- wire wbu_pciif_stop_in = int_pci_stop ;
- wire wbu_pciif_devsel_in = int_pci_devsel ;
- wire [31:0] wbu_pciif_ad_reg_in = in_reg_ad_out ;
- wire wbu_pciif_trdy_reg_in = in_reg_trdy_out ;
- wire wbu_pciif_stop_reg_in = in_reg_stop_out ;
- wire wbu_pciif_devsel_reg_in = in_reg_devsel_out ;
- wire [7:0] wbu_latency_tim_val_in = conf_latency_tim_out ;
- wire wbu_pciif_frame_en_in = out_bckp_frame_en_out ;
- wire wbu_pciif_frame_out_in = out_bckp_frame_out ;
- wire wbu_wb_init_complete_in = conf_wb_init_complete_out ;
- pci_wb_slave_unit wishbone_slave_unit
- (
- .reset_in (reset),
- .wb_clock_in (wb_clk),
- .pci_clock_in (pci_clk),
- .ADDR_I (wbu_addr_in),
- .SDATA_I (wbu_sdata_in),
- .SDATA_O (wbu_sdata_out),
- .CYC_I (wbu_cyc_in),
- .STB_I (wbu_stb_in),
- .WE_I (wbu_we_in),
- .SEL_I (wbu_sel_in),
- .ACK_O (wbu_ack_out),
- .RTY_O (wbu_rty_out),
- .ERR_O (wbu_err_out),
- .CAB_I (wbu_cab_in),
- .wbu_map_in (wbu_map_in),
- .wbu_pref_en_in (wbu_pref_en_in),
- .wbu_mrl_en_in (wbu_mrl_en_in),
- .wbu_pci_drcomp_pending_in (wbu_pci_drcomp_pending_in),
- .wbu_conf_data_in (wbu_conf_data_in),
- .wbu_pciw_empty_in (wbu_pciw_empty_in),
- .wbu_bar0_in (wbu_bar0_in),
- .wbu_bar1_in (wbu_bar1_in),
- .wbu_bar2_in (wbu_bar2_in),
- .wbu_bar3_in (wbu_bar3_in),
- .wbu_bar4_in (wbu_bar4_in),
- .wbu_bar5_in (wbu_bar5_in),
- .wbu_am0_in (wbu_am0_in),
- .wbu_am1_in (wbu_am1_in),
- .wbu_am2_in (wbu_am2_in),
- .wbu_am3_in (wbu_am3_in),
- .wbu_am4_in (wbu_am4_in),
- .wbu_am5_in (wbu_am5_in),
- .wbu_ta0_in (wbu_ta0_in),
- .wbu_ta1_in (wbu_ta1_in),
- .wbu_ta2_in (wbu_ta2_in),
- .wbu_ta3_in (wbu_ta3_in),
- .wbu_ta4_in (wbu_ta4_in),
- .wbu_ta5_in (wbu_ta5_in),
- .wbu_at_en_in (wbu_at_en_in),
- .wbu_ccyc_addr_in (wbu_ccyc_addr_in),
- .wbu_master_enable_in (wbu_master_enable_in),
- .wb_init_complete_in (wbu_wb_init_complete_in),
- .wbu_cache_line_size_not_zero (wbu_cache_line_size_not_zero),
- .wbu_cache_line_size_in (wbu_cache_line_size_in),
- .wbu_pciif_gnt_in (wbu_pciif_gnt_in),
- .wbu_pciif_frame_in (wbu_pciif_frame_in),
- .wbu_pciif_frame_en_in (wbu_pciif_frame_en_in),
- .wbu_pciif_frame_out_in (wbu_pciif_frame_out_in),
- .wbu_pciif_irdy_in (wbu_pciif_irdy_in),
- .wbu_pciif_trdy_in (wbu_pciif_trdy_in),
- .wbu_pciif_stop_in (wbu_pciif_stop_in),
- .wbu_pciif_devsel_in (wbu_pciif_devsel_in),
- .wbu_pciif_ad_reg_in (wbu_pciif_ad_reg_in),
- .wbu_pciif_req_out (wbu_pciif_req_out),
- .wbu_pciif_frame_out (wbu_pciif_frame_out),
- .wbu_pciif_frame_en_out (wbu_pciif_frame_en_out),
- .wbu_pciif_frame_load_out (wbu_pciif_frame_load_out),
- .wbu_pciif_irdy_out (wbu_pciif_irdy_out),
- .wbu_pciif_irdy_en_out (wbu_pciif_irdy_en_out),
- .wbu_pciif_ad_out (wbu_pciif_ad_out),
- .wbu_pciif_ad_en_out (wbu_pciif_ad_en_out),
- .wbu_pciif_cbe_out (wbu_pciif_cbe_out),
- .wbu_pciif_cbe_en_out (wbu_pciif_cbe_en_out),
- .wbu_err_addr_out (wbu_err_addr_out),
- .wbu_err_bc_out (wbu_err_bc_out),
- .wbu_err_signal_out (wbu_err_signal_out),
- .wbu_err_source_out (wbu_err_source_out),
- .wbu_err_rty_exp_out (wbu_err_rty_exp_out),
- .wbu_tabort_rec_out (wbu_tabort_rec_out),
- .wbu_mabort_rec_out (wbu_mabort_rec_out),
- .wbu_conf_offset_out (wbu_conf_offset_out),
- .wbu_conf_renable_out (wbu_conf_renable_out),
- .wbu_conf_wenable_out (wbu_conf_wenable_out),
- .wbu_conf_be_out (wbu_conf_be_out),
- .wbu_conf_data_out (wbu_conf_data_out),
- .wbu_del_read_comp_pending_out (wbu_del_read_comp_pending_out),
- .wbu_wbw_fifo_empty_out (wbu_wbw_fifo_empty_out),
- .wbu_latency_tim_val_in (wbu_latency_tim_val_in),
- .wbu_ad_load_out (wbu_ad_load_out),
- .wbu_ad_load_on_transfer_out (wbu_ad_load_on_transfer_out),
- .wbu_pciif_trdy_reg_in (wbu_pciif_trdy_reg_in),
- .wbu_pciif_stop_reg_in (wbu_pciif_stop_reg_in),
- .wbu_pciif_devsel_reg_in (wbu_pciif_devsel_reg_in)
- `ifdef PCI_BIST
- ,
- .mbist_si_i (mbist_si_i),
- .mbist_so_o (mbist_so_o_internal),
- .mbist_ctrl_i (mbist_ctrl_i)
- `endif
- );
- // PCI TARGET UNIT INPUTS
- wire [31:0] pciu_mdata_in = wbm_dat_i ;
- wire pciu_ack_in = wbm_ack_i ;
- wire pciu_rty_in = wbm_rty_i ;
- wire pciu_err_in = wbm_err_i ;
- wire [5:0] pciu_map_in = {
- conf_pci_mem_io5_out,
- conf_pci_mem_io4_out,
- conf_pci_mem_io3_out,
- conf_pci_mem_io2_out,
- conf_pci_mem_io1_out,
- conf_pci_mem_io0_out
- } ;
- wire [5:0] pciu_pref_en_in = {
- conf_pci_img_ctrl5_out[0],
- conf_pci_img_ctrl4_out[0],
- conf_pci_img_ctrl3_out[0],
- conf_pci_img_ctrl2_out[0],
- conf_pci_img_ctrl1_out[0],
- conf_pci_img_ctrl0_out[0]
- };
- wire [5:0] pciu_at_en_in = {
- conf_pci_img_ctrl5_out[1],
- conf_pci_img_ctrl4_out[1],
- conf_pci_img_ctrl3_out[1],
- conf_pci_img_ctrl2_out[1],
- conf_pci_img_ctrl1_out[1],
- conf_pci_img_ctrl0_out[1]
- } ;
- wire pciu_mem_enable_in = conf_mem_space_enable_out ;
- wire pciu_io_enable_in = conf_io_space_enable_out ;
- wire pciu_wbw_fifo_empty_in = wbu_wbw_fifo_empty_out ;
- wire pciu_wbu_del_read_comp_pending_in = wbu_del_read_comp_pending_out ;
- wire pciu_wbu_frame_en_in = out_bckp_frame_en_out ;
- `ifdef HOST
- wire [31:0] pciu_conf_data_in = conf_r_data_out ;
- `else
- `ifdef GUEST
- wire [31:0] pciu_conf_data_in = conf_w_data_out ;
- `endif
- `endif
- wire [pci_ba0_width - 1:0] pciu_bar0_in = conf_pci_ba0_out ;
- wire [pci_ba1_5_width - 1:0] pciu_bar1_in = conf_pci_ba1_out ;
- wire [pci_ba1_5_width - 1:0] pciu_bar2_in = conf_pci_ba2_out ;
- wire [pci_ba1_5_width - 1:0] pciu_bar3_in = conf_pci_ba3_out ;
- wire [pci_ba1_5_width - 1:0] pciu_bar4_in = conf_pci_ba4_out ;
- wire [pci_ba1_5_width - 1:0] pciu_bar5_in = conf_pci_ba5_out ;
- wire [pci_ba1_5_width - 1:0] pciu_am0_in = conf_pci_am0_out ;
- wire [pci_ba1_5_width - 1:0] pciu_am1_in = conf_pci_am1_out ;
- wire [pci_ba1_5_width - 1:0] pciu_am2_in = conf_pci_am2_out ;
- wire [pci_ba1_5_width - 1:0] pciu_am3_in = conf_pci_am3_out ;
- wire [pci_ba1_5_width - 1:0] pciu_am4_in = conf_pci_am4_out ;
- wire [pci_ba1_5_width - 1:0] pciu_am5_in = conf_pci_am5_out ;
- wire [pci_ba1_5_width - 1:0] pciu_ta0_in = conf_pci_ta0_out ;
- wire [pci_ba1_5_width - 1:0] pciu_ta1_in = conf_pci_ta1_out ;
- wire [pci_ba1_5_width - 1:0] pciu_ta2_in = conf_pci_ta2_out ;
- wire [pci_ba1_5_width - 1:0] pciu_ta3_in = conf_pci_ta3_out ;
- wire [pci_ba1_5_width - 1:0] pciu_ta4_in = conf_pci_ta4_out ;
- wire [pci_ba1_5_width - 1:0] pciu_ta5_in = conf_pci_ta5_out ;
- wire [7:0] pciu_cache_line_size_in = conf_cache_line_size_to_wb_out ;
- wire pciu_cache_lsize_not_zero_in = conf_cache_lsize_not_zero_to_wb_out ;
- wire pciu_pciif_frame_in = int_pci_frame ;
- wire pciu_pciif_irdy_in = int_pci_irdy ;
- wire pciu_pciif_idsel_in = pci_idsel_i ;
- wire pciu_pciif_frame_reg_in = in_reg_frame_out ;
- wire pciu_pciif_irdy_reg_in = in_reg_irdy_out ;
- wire pciu_pciif_idsel_reg_in = in_reg_idsel_out ;
- wire [31:0] pciu_pciif_ad_reg_in = in_reg_ad_out ;
- wire [3:0] pciu_pciif_cbe_reg_in = in_reg_cbe_out ;
- wire [3:0] pciu_pciif_cbe_in = int_pci_cbe ;
- wire pciu_pciif_bckp_trdy_en_in = out_bckp_trdy_en_out ;
- wire pciu_pciif_bckp_devsel_in = out_bckp_devsel_out ;
- wire pciu_pciif_bckp_trdy_in = out_bckp_trdy_out ;
- wire pciu_pciif_bckp_stop_in = out_bckp_stop_out ;
- wire pciu_pciif_trdy_reg_in = in_reg_trdy_out ;
- wire pciu_pciif_stop_reg_in = in_reg_stop_out ;
- pci_target_unit pci_target_unit
- (
- .reset_in (reset),
- .wb_clock_in (wb_clk),
- .pci_clock_in (pci_clk),
- .pciu_wbm_adr_o (pciu_adr_out),
- .pciu_wbm_dat_o (pciu_mdata_out),
- .pciu_wbm_dat_i (pciu_mdata_in),
- .pciu_wbm_cyc_o (pciu_cyc_out),
- .pciu_wbm_stb_o (pciu_stb_out),
- .pciu_wbm_we_o (pciu_we_out),
- .pciu_wbm_cti_o (pciu_cti_out),
- .pciu_wbm_bte_o (pciu_bte_out),
- .pciu_wbm_sel_o (pciu_sel_out),
- .pciu_wbm_ack_i (pciu_ack_in),
- .pciu_wbm_rty_i (pciu_rty_in),
- .pciu_wbm_err_i (pciu_err_in),
- .pciu_mem_enable_in (pciu_mem_enable_in),
- .pciu_io_enable_in (pciu_io_enable_in),
- .pciu_map_in (pciu_map_in),
- .pciu_pref_en_in (pciu_pref_en_in),
- .pciu_conf_data_in (pciu_conf_data_in),
- .pciu_wbw_fifo_empty_in (pciu_wbw_fifo_empty_in),
- .pciu_wbu_del_read_comp_pending_in (pciu_wbu_del_read_comp_pending_in),
- .pciu_wbu_frame_en_in (pciu_wbu_frame_en_in),
- .pciu_bar0_in (pciu_bar0_in),
- .pciu_bar1_in (pciu_bar1_in),
- .pciu_bar2_in (pciu_bar2_in),
- .pciu_bar3_in (pciu_bar3_in),
- .pciu_bar4_in (pciu_bar4_in),
- .pciu_bar5_in (pciu_bar5_in),
- .pciu_am0_in (pciu_am0_in),
- .pciu_am1_in (pciu_am1_in),
- .pciu_am2_in (pciu_am2_in),
- .pciu_am3_in (pciu_am3_in),
- .pciu_am4_in (pciu_am4_in),
- .pciu_am5_in (pciu_am5_in),
- .pciu_ta0_in (pciu_ta0_in),
- .pciu_ta1_in (pciu_ta1_in),
- .pciu_ta2_in (pciu_ta2_in),
- .pciu_ta3_in (pciu_ta3_in),
- .pciu_ta4_in (pciu_ta4_in),
- .pciu_ta5_in (pciu_ta5_in),
- .pciu_at_en_in (pciu_at_en_in),
- .pciu_cache_line_size_in (pciu_cache_line_size_in),
- .pciu_cache_lsize_not_zero_in (pciu_cache_lsize_not_zero_in),
- .pciu_pciif_frame_in (pciu_pciif_frame_in),
- .pciu_pciif_irdy_in (pciu_pciif_irdy_in),
- .pciu_pciif_idsel_in (pciu_pciif_idsel_in),
- .pciu_pciif_frame_reg_in (pciu_pciif_frame_reg_in),
- .pciu_pciif_irdy_reg_in (pciu_pciif_irdy_reg_in),
- .pciu_pciif_idsel_reg_in (pciu_pciif_idsel_reg_in),
- .pciu_pciif_ad_reg_in (pciu_pciif_ad_reg_in),
- .pciu_pciif_cbe_reg_in (pciu_pciif_cbe_reg_in),
- .pciu_pciif_cbe_in (pciu_pciif_cbe_in),
- .pciu_pciif_bckp_trdy_en_in (pciu_pciif_bckp_trdy_en_in),
- .pciu_pciif_bckp_devsel_in (pciu_pciif_bckp_devsel_in),
- .pciu_pciif_bckp_trdy_in (pciu_pciif_bckp_trdy_in),
- .pciu_pciif_bckp_stop_in (pciu_pciif_bckp_stop_in),
- .pciu_pciif_trdy_reg_in (pciu_pciif_trdy_reg_in),
- .pciu_pciif_stop_reg_in (pciu_pciif_stop_reg_in),
- .pciu_pciif_trdy_out (pciu_pciif_trdy_out),
- .pciu_pciif_stop_out (pciu_pciif_stop_out),
- .pciu_pciif_devsel_out (pciu_pciif_devsel_out),
- .pciu_pciif_trdy_en_out (pciu_pciif_trdy_en_out),
- .pciu_pciif_stop_en_out (pciu_pciif_stop_en_out),
- .pciu_pciif_devsel_en_out (pciu_pciif_devsel_en_out),
- .pciu_ad_load_out (pciu_ad_load_out),
- .pciu_ad_load_on_transfer_out (pciu_ad_load_on_transfer_out),
- .pciu_pciif_ad_out (pciu_pciif_ad_out),
- .pciu_pciif_ad_en_out (pciu_pciif_ad_en_out),
- .pciu_pciif_tabort_set_out (pciu_pciif_tabort_set_out),
- .pciu_err_addr_out (pciu_err_addr_out),
- .pciu_err_bc_out (pciu_err_bc_out),
- .pciu_err_data_out (pciu_err_data_out),
- .pciu_err_be_out (pciu_err_be_out),
- .pciu_err_signal_out (pciu_err_signal_out),
- .pciu_err_source_out (pciu_err_source_out),
- .pciu_err_rty_exp_out (pciu_err_rty_exp_out),
- .pciu_conf_offset_out (pciu_conf_offset_out),
- .pciu_conf_renable_out (pciu_conf_renable_out),
- .pciu_conf_wenable_out (pciu_conf_wenable_out),
- .pciu_conf_be_out (pciu_conf_be_out),
- .pciu_conf_data_out (pciu_conf_data_out),
- .pciu_pci_drcomp_pending_out (pciu_pci_drcomp_pending_out),
- .pciu_pciw_fifo_empty_out (pciu_pciw_fifo_empty_out)
- `ifdef PCI_BIST
- ,
- .mbist_si_i (mbist_so_o_internal),
- .mbist_so_o (mbist_so_o),
- .mbist_ctrl_i (mbist_ctrl_i)
- `endif
- );
- // CONFIGURATION SPACE INPUTS
- `ifdef HOST
- wire [11:0] conf_w_addr_in = wbu_conf_offset_out ;
- wire [31:0] conf_w_data_in = wbu_conf_data_out ;
- wire conf_w_we_in = wbu_conf_wenable_out ;
- wire conf_w_re_in = wbu_conf_renable_out ;
- wire [3:0] conf_w_be_in = wbu_conf_be_out ;
- wire conf_w_clock = wb_clk ;
- wire [11:0] conf_r_addr_in = pciu_conf_offset_out ;
- wire conf_r_re_in = pciu_conf_renable_out ;
- `else
- `ifdef GUEST
- wire [11:0] conf_r_addr_in = wbu_conf_offset_out ;
- wire conf_r_re_in = wbu_conf_renable_out ;
- wire conf_w_clock = pci_clk ;
- wire [11:0] conf_w_addr_in = pciu_conf_offset_out ;
- wire [31:0] conf_w_data_in = pciu_conf_data_out ;
- wire conf_w_we_in = pciu_conf_wenable_out ;
- wire conf_w_re_in = pciu_conf_renable_out ;
- wire [3:0] conf_w_be_in = pciu_conf_be_out ;
- `endif
- `endif
- wire conf_perr_in = parchk_par_err_detect_out ;
- wire conf_serr_in = parchk_sig_serr_out ;
- wire conf_master_abort_recv_in = wbu_mabort_rec_out ;
- wire conf_target_abort_recv_in = wbu_tabort_rec_out ;
- wire conf_target_abort_set_in = pciu_pciif_tabort_set_out ;
- wire conf_master_data_par_err_in = parchk_perr_mas_detect_out ;
- wire [3:0] conf_pci_err_be_in = pciu_err_be_out ;
- wire [3:0] conf_pci_err_bc_in = pciu_err_bc_out;
- wire conf_pci_err_es_in = pciu_err_source_out ;
- wire conf_pci_err_rty_exp_in = pciu_err_rty_exp_out ;
- wire conf_pci_err_sig_in = pciu_err_signal_out ;
- wire [31:0] conf_pci_err_addr_in = pciu_err_addr_out ;
- wire [31:0] conf_pci_err_data_in = pciu_err_data_out ;
- wire [3:0] conf_wb_err_be_in = out_bckp_cbe_out ;
- wire [3:0] conf_wb_err_bc_in = wbu_err_bc_out ;
- wire conf_wb_err_rty_exp_in = wbu_err_rty_exp_out ;
- wire conf_wb_err_es_in = wbu_err_source_out ;
- wire conf_wb_err_sig_in = wbu_err_signal_out ;
- wire [31:0] conf_wb_err_addr_in = wbu_err_addr_out ;
- wire [31:0] conf_wb_err_data_in = out_bckp_ad_out ;
- wire conf_isr_int_prop_in = pci_into_conf_isr_int_prop_out ;
- wire conf_par_err_int_in = parchk_perr_mas_detect_out ;
- wire conf_sys_err_int_in = parchk_sig_serr_out ;
- pci_conf_space configuration(
- .reset (reset),
- .pci_clk (pci_clk),
- .wb_clk (wb_clk),
- .w_conf_address_in (conf_w_addr_in),
- .w_conf_data_in (conf_w_data_in),
- .w_conf_data_out (conf_w_data_out),
- .r_conf_address_in (conf_r_addr_in),
- .r_conf_data_out (conf_r_data_out),
- .w_we_i (conf_w_we_in),
- .w_re (conf_w_re_in),
- .r_re (conf_r_re_in),
- .w_byte_en_in (conf_w_be_in),
- .w_clock (conf_w_clock),
- .serr_enable (conf_serr_enable_out),
- .perr_response (conf_perr_response_out),
- .pci_master_enable (conf_pci_master_enable_out),
- .memory_space_enable (conf_mem_space_enable_out),
- .io_space_enable (conf_io_space_enable_out),
- .perr_in (conf_perr_in),
- .serr_in (conf_serr_in),
- .master_abort_recv (conf_master_abort_recv_in),
- .target_abort_recv (conf_target_abort_recv_in),
- .target_abort_set (conf_target_abort_set_in),
- .master_data_par_err (conf_master_data_par_err_in),
- .cache_line_size_to_pci (conf_cache_line_size_to_pci_out),
- .cache_line_size_to_wb (conf_cache_line_size_to_wb_out),
- .cache_lsize_not_zero_to_wb (conf_cache_lsize_not_zero_to_wb_out),
- .latency_tim (conf_latency_tim_out),
- .pci_base_addr0 (conf_pci_ba0_out),
- .pci_base_addr1 (conf_pci_ba1_out),
- .pci_base_addr2 (conf_pci_ba2_out),
- .pci_base_addr3 (conf_pci_ba3_out),
- .pci_base_addr4 (conf_pci_ba4_out),
- .pci_base_addr5 (conf_pci_ba5_out),
- .pci_memory_io0 (conf_pci_mem_io0_out),
- .pci_memory_io1 (conf_pci_mem_io1_out),
- .pci_memory_io2 (conf_pci_mem_io2_out),
- .pci_memory_io3 (conf_pci_mem_io3_out),
- .pci_memory_io4 (conf_pci_mem_io4_out),
- .pci_memory_io5 (conf_pci_mem_io5_out),
- .pci_addr_mask0 (conf_pci_am0_out),
- .pci_addr_mask1 (conf_pci_am1_out),
- .pci_addr_mask2 (conf_pci_am2_out),
- .pci_addr_mask3 (conf_pci_am3_out),
- .pci_addr_mask4 (conf_pci_am4_out),
- .pci_addr_mask5 (conf_pci_am5_out),
- .pci_tran_addr0 (conf_pci_ta0_out),
- .pci_tran_addr1 (conf_pci_ta1_out),
- .pci_tran_addr2 (conf_pci_ta2_out),
- .pci_tran_addr3 (conf_pci_ta3_out),
- .pci_tran_addr4 (conf_pci_ta4_out),
- .pci_tran_addr5 (conf_pci_ta5_out),
- .pci_img_ctrl0 (conf_pci_img_ctrl0_out),
- .pci_img_ctrl1 (conf_pci_img_ctrl1_out),
- .pci_img_ctrl2 (conf_pci_img_ctrl2_out),
- .pci_img_ctrl3 (conf_pci_img_ctrl3_out),
- .pci_img_ctrl4 (conf_pci_img_ctrl4_out),
- .pci_img_ctrl5 (conf_pci_img_ctrl5_out),
- .pci_error_be (conf_pci_err_be_in),
- .pci_error_bc (conf_pci_err_bc_in),
- .pci_error_rty_exp (conf_pci_err_rty_exp_in),
- .pci_error_es (conf_pci_err_es_in),
- .pci_error_sig (conf_pci_err_sig_in),
- .pci_error_addr (conf_pci_err_addr_in),
- .pci_error_data (conf_pci_err_data_in),
- .wb_base_addr0 (conf_wb_ba0_out),
- .wb_base_addr1 (conf_wb_ba1_out),
- .wb_base_addr2 (conf_wb_ba2_out),
- .wb_base_addr3 (conf_wb_ba3_out),
- .wb_base_addr4 (conf_wb_ba4_out),
- .wb_base_addr5 (conf_wb_ba5_out),
- .wb_memory_io0 (conf_wb_mem_io0_out),
- .wb_memory_io1 (conf_wb_mem_io1_out),
- .wb_memory_io2 (conf_wb_mem_io2_out),
- .wb_memory_io3 (conf_wb_mem_io3_out),
- .wb_memory_io4 (conf_wb_mem_io4_out),
- .wb_memory_io5 (conf_wb_mem_io5_out),
- .wb_addr_mask0 (conf_wb_am0_out),
- .wb_addr_mask1 (conf_wb_am1_out),
- .wb_addr_mask2 (conf_wb_am2_out),
- .wb_addr_mask3 (conf_wb_am3_out),
- .wb_addr_mask4 (conf_wb_am4_out),
- .wb_addr_mask5 (conf_wb_am5_out),
- .wb_tran_addr0 (conf_wb_ta0_out),
- .wb_tran_addr1 (conf_wb_ta1_out),
- .wb_tran_addr2 (conf_wb_ta2_out),
- .wb_tran_addr3 (conf_wb_ta3_out),
- .wb_tran_addr4 (conf_wb_ta4_out),
- .wb_tran_addr5 (conf_wb_ta5_out),
- .wb_img_ctrl0 (conf_wb_img_ctrl0_out),
- .wb_img_ctrl1 (conf_wb_img_ctrl1_out),
- .wb_img_ctrl2 (conf_wb_img_ctrl2_out),
- .wb_img_ctrl3 (conf_wb_img_ctrl3_out),
- .wb_img_ctrl4 (conf_wb_img_ctrl4_out),
- .wb_img_ctrl5 (conf_wb_img_ctrl5_out),
- .wb_error_be (conf_wb_err_be_in),
- .wb_error_bc (conf_wb_err_bc_in),
- .wb_error_rty_exp (conf_wb_err_rty_exp_in),
- .wb_error_es (conf_wb_err_es_in),
- .wb_error_sig (conf_wb_err_sig_in),
- .wb_error_addr (conf_wb_err_addr_in),
- .wb_error_data (conf_wb_err_data_in),
- .config_addr (conf_ccyc_addr_out),
- .icr_soft_res (conf_soft_res_out),
- .int_out (conf_int_out),
- .isr_int_prop (conf_isr_int_prop_in),
- .isr_par_err_int (conf_par_err_int_in),
- .isr_sys_err_int (conf_sys_err_int_in),
- .pci_init_complete_out (conf_pci_init_complete_out),
- .wb_init_complete_out (conf_wb_init_complete_out)
- `ifdef PCI_CPCI_HS_IMPLEMENT
- ,
- .pci_cpci_hs_enum_oe_o (pci_cpci_hs_enum_oe_o) ,
- .pci_cpci_hs_led_oe_o (pci_cpci_hs_led_oe_o ) ,
- .pci_cpci_hs_es_i (pci_cpci_hs_es_i)
- `endif
-
- `ifdef PCI_SPOCI
- ,
- // Serial power on configuration interface
- .spoci_scl_oe_o (spoci_scl_oe_o ) ,
- .spoci_sda_i (spoci_sda_i ) ,
- .spoci_sda_oe_o (spoci_sda_oe_o )
- `endif
- ) ;
- // pci data io multiplexer inputs
- wire pci_mux_tar_ad_en_in = pciu_pciif_ad_en_out ;
- wire pci_mux_tar_ad_en_reg_in = out_bckp_tar_ad_en_out ;
- wire [31:0] pci_mux_tar_ad_in = pciu_pciif_ad_out ;
- wire pci_mux_devsel_in = pciu_pciif_devsel_out ;
- wire pci_mux_devsel_en_in = pciu_pciif_devsel_en_out ;
- wire pci_mux_trdy_in = pciu_pciif_trdy_out ;
- wire pci_mux_trdy_en_in = pciu_pciif_trdy_en_out ;
- wire pci_mux_stop_in = pciu_pciif_stop_out ;
- wire pci_mux_stop_en_in = pciu_pciif_stop_en_out ;
- wire pci_mux_tar_load_in = pciu_ad_load_out ;
- wire pci_mux_tar_load_on_transfer_in = pciu_ad_load_on_transfer_out ;
- wire pci_mux_mas_ad_en_in = wbu_pciif_ad_en_out ;
- wire [31:0] pci_mux_mas_ad_in = wbu_pciif_ad_out ;
- wire pci_mux_frame_in = wbu_pciif_frame_out ;
- wire pci_mux_frame_en_in = wbu_pciif_frame_en_out ;
- wire pci_mux_irdy_in = wbu_pciif_irdy_out;
- wire pci_mux_irdy_en_in = wbu_pciif_irdy_en_out;
- wire pci_mux_mas_load_in = wbu_ad_load_out ;
- wire pci_mux_mas_load_on_transfer_in = wbu_ad_load_on_transfer_out ;
- wire [3:0] pci_mux_cbe_in = wbu_pciif_cbe_out ;
- wire pci_mux_cbe_en_in = wbu_pciif_cbe_en_out ;
- wire pci_mux_par_in = parchk_pci_par_out ;
- wire pci_mux_par_en_in = parchk_pci_par_en_out ;
- wire pci_mux_perr_in = parchk_pci_perr_out ;
- wire pci_mux_perr_en_in = parchk_pci_perr_en_out ;
- wire pci_mux_serr_in = parchk_pci_serr_out ;
- wire pci_mux_serr_en_in = parchk_pci_serr_en_out;
- wire pci_mux_req_in = wbu_pciif_req_out ;
- wire pci_mux_frame_load_in = wbu_pciif_frame_load_out ;
- wire pci_mux_pci_irdy_in = int_pci_irdy ;
- wire pci_mux_pci_trdy_in = int_pci_trdy ;
- wire pci_mux_pci_frame_in = int_pci_frame ;
- wire pci_mux_pci_stop_in = int_pci_stop ;
- wire pci_mux_init_complete_in = conf_pci_init_complete_out ;
- pci_io_mux pci_io_mux
- (
- .reset_in (reset),
- .clk_in (pci_clk),
- .frame_in (pci_mux_frame_in),
- .frame_en_in (pci_mux_frame_en_in),
- .frame_load_in (pci_mux_frame_load_in),
- .irdy_in (pci_mux_irdy_in),
- .irdy_en_in (pci_mux_irdy_en_in),
- .devsel_in (pci_mux_devsel_in),
- .devsel_en_in (pci_mux_devsel_en_in),
- .trdy_in (pci_mux_trdy_in),
- .trdy_en_in (pci_mux_trdy_en_in),
- .stop_in (pci_mux_stop_in),
- .stop_en_in (pci_mux_stop_en_in),
- .master_load_in (pci_mux_mas_load_in),
- .master_load_on_transfer_in (pci_mux_mas_load_on_transfer_in),
- .target_load_in (pci_mux_tar_load_in),
- .target_load_on_transfer_in (pci_mux_tar_load_on_transfer_in),
- .cbe_in (pci_mux_cbe_in),
- .cbe_en_in (pci_mux_cbe_en_in),
- .mas_ad_in (pci_mux_mas_ad_in),
- .tar_ad_in (pci_mux_tar_ad_in),
- .mas_ad_en_in (pci_mux_mas_ad_en_in),
- .tar_ad_en_in (pci_mux_tar_ad_en_in),
- .tar_ad_en_reg_in (pci_mux_tar_ad_en_reg_in),
- .par_in (pci_mux_par_in),
- .par_en_in (pci_mux_par_en_in),
- .perr_in (pci_mux_perr_in),
- .perr_en_in (pci_mux_perr_en_in),
- .serr_in (pci_mux_serr_in),
- .serr_en_in (pci_mux_serr_en_in),
- .frame_en_out (pci_mux_frame_en_out),
- .irdy_en_out (pci_mux_irdy_en_out),
- .devsel_en_out (pci_mux_devsel_en_out),
- .trdy_en_out (pci_mux_trdy_en_out),
- .stop_en_out (pci_mux_stop_en_out),
- .cbe_en_out (pci_mux_cbe_en_out),
- .ad_en_out (pci_mux_ad_en_out),
- .frame_out (pci_mux_frame_out),
- .irdy_out (pci_mux_irdy_out),
- .devsel_out (pci_mux_devsel_out),
- .trdy_out (pci_mux_trdy_out),
- .stop_out (pci_mux_stop_out),
- .cbe_out (pci_mux_cbe_out),
- .ad_out (pci_mux_ad_out),
- .ad_load_out (pci_mux_ad_load_out),
- .par_out (pci_mux_par_out),
- .par_en_out (pci_mux_par_en_out),
- .perr_out (pci_mux_perr_out),
- .perr_en_out (pci_mux_perr_en_out),
- .serr_out (pci_mux_serr_out),
- .serr_en_out (pci_mux_serr_en_out),
- .req_in (pci_mux_req_in),
- .req_out (pci_mux_req_out),
- .req_en_out (pci_mux_req_en_out),
- .pci_irdy_in (pci_mux_pci_irdy_in),
- .pci_trdy_in (pci_mux_pci_trdy_in),
- .pci_frame_in (pci_mux_pci_frame_in),
- .pci_stop_in (pci_mux_pci_stop_in),
- .ad_en_unregistered_out (pci_mux_ad_en_unregistered_out),
- .init_complete_in (pci_mux_init_complete_in)
- );
- pci_cur_out_reg output_backup
- (
- .reset_in (reset),
- .clk_in (pci_clk),
- .frame_in (pci_mux_frame_in),
- .frame_en_in (pci_mux_frame_en_in),
- .frame_load_in (pci_mux_frame_load_in),
- .irdy_in (pci_mux_irdy_in),
- .irdy_en_in (pci_mux_irdy_en_in),
- .devsel_in (pci_mux_devsel_in),
- .trdy_in (pci_mux_trdy_in),
- .trdy_en_in (pci_mux_trdy_en_in),
- .stop_in (pci_mux_stop_in),
- .ad_load_in (pci_mux_ad_load_out),
- .cbe_in (pci_mux_cbe_in),
- .cbe_en_in (pci_mux_cbe_en_in),
- .mas_ad_in (pci_mux_mas_ad_in),
- .tar_ad_in (pci_mux_tar_ad_in),
- .mas_ad_en_in (pci_mux_mas_ad_en_in),
- .tar_ad_en_in (pci_mux_tar_ad_en_in),
- .ad_en_unregistered_in (pci_mux_ad_en_unregistered_out),
- .par_in (pci_mux_par_in),
- .par_en_in (pci_mux_par_en_in),
- .perr_in (pci_mux_perr_in),
- .perr_en_in (pci_mux_perr_en_in),
- .serr_in (pci_mux_serr_in),
- .serr_en_in (pci_mux_serr_en_in),
- .frame_out (out_bckp_frame_out),
- .frame_en_out (out_bckp_frame_en_out),
- .irdy_out (out_bckp_irdy_out),
- .irdy_en_out (out_bckp_irdy_en_out),
- .devsel_out (out_bckp_devsel_out),
- .trdy_out (out_bckp_trdy_out),
- .trdy_en_out (out_bckp_trdy_en_out),
- .stop_out (out_bckp_stop_out),
- .cbe_out (out_bckp_cbe_out),
- .ad_out (out_bckp_ad_out),
- .ad_en_out (out_bckp_ad_en_out),
- .cbe_en_out (out_bckp_cbe_en_out),
- .tar_ad_en_out (out_bckp_tar_ad_en_out),
- .mas_ad_en_out (out_bckp_mas_ad_en_out),
- .par_out (out_bckp_par_out),
- .par_en_out (out_bckp_par_en_out),
- .perr_out (out_bckp_perr_out),
- .perr_en_out (out_bckp_perr_en_out),
- .serr_out (out_bckp_serr_out),
- .serr_en_out (out_bckp_serr_en_out)
- ) ;
- // PARITY CHECKER INPUTS
- wire parchk_pci_par_in = int_pci_par ;
- wire parchk_pci_perr_in = int_pci_perr ;
- wire parchk_pci_frame_reg_in = in_reg_frame_out ;
- wire parchk_pci_frame_en_in = out_bckp_frame_en_out ;
- wire parchk_pci_irdy_en_in = out_bckp_irdy_en_out ;
- wire parchk_pci_irdy_reg_in = in_reg_irdy_out ;
- wire parchk_pci_trdy_reg_in = in_reg_trdy_out ;
- wire parchk_pci_trdy_en_in = out_bckp_trdy_en_out ;
- wire [31:0] parchk_pci_ad_out_in = out_bckp_ad_out ;
- wire [31:0] parchk_pci_ad_reg_in = in_reg_ad_out ;
- wire [3:0] parchk_pci_cbe_in_in = int_pci_cbe ;
- wire [3:0] parchk_pci_cbe_reg_in = in_reg_cbe_out ;
- wire [3:0] parchk_pci_cbe_out_in = out_bckp_cbe_out ;
- wire parchk_pci_ad_en_in = out_bckp_ad_en_out ;
- wire parchk_par_err_response_in = conf_perr_response_out ;
- wire parchk_serr_enable_in = conf_serr_enable_out ;
- wire parchk_pci_perr_out_in = out_bckp_perr_out ;
- wire parchk_pci_serr_en_in = out_bckp_serr_en_out ;
- wire parchk_pci_serr_out_in = out_bckp_serr_out ;
- wire parchk_pci_cbe_en_in = out_bckp_cbe_en_out ;
- wire parchk_pci_par_en_in = out_bckp_par_en_out ;
- pci_parity_check parity_checker
- (
- .reset_in (reset),
- .clk_in (pci_clk),
- .pci_par_in (parchk_pci_par_in),
- .pci_par_out (parchk_pci_par_out),
- .pci_par_en_out (parchk_pci_par_en_out),
- .pci_par_en_in (parchk_pci_par_en_in),
- .pci_perr_in (parchk_pci_perr_in),
- .pci_perr_out (parchk_pci_perr_out),
- .pci_perr_en_out (parchk_pci_perr_en_out),
- .pci_perr_out_in (parchk_pci_perr_out_in),
- .pci_serr_out (parchk_pci_serr_out),
- .pci_serr_out_in (parchk_pci_serr_out_in),
- .pci_serr_en_out (parchk_pci_serr_en_out),
- .pci_serr_en_in (parchk_pci_serr_en_in),
- .pci_frame_reg_in (parchk_pci_frame_reg_in),
- .pci_frame_en_in (parchk_pci_frame_en_in),
- .pci_irdy_en_in (parchk_pci_irdy_en_in),
- .pci_irdy_reg_in (parchk_pci_irdy_reg_in),
- .pci_trdy_reg_in (parchk_pci_trdy_reg_in),
- .pci_trdy_en_in (parchk_pci_trdy_en_in),
- .pci_ad_out_in (parchk_pci_ad_out_in),
- .pci_ad_reg_in (parchk_pci_ad_reg_in),
- .pci_cbe_in_in (parchk_pci_cbe_in_in),
- .pci_cbe_reg_in (parchk_pci_cbe_reg_in),
- .pci_cbe_en_in (parchk_pci_cbe_en_in),
- .pci_cbe_out_in (parchk_pci_cbe_out_in),
- .pci_ad_en_in (parchk_pci_ad_en_in),
- .par_err_response_in (parchk_par_err_response_in),
- .par_err_detect_out (parchk_par_err_detect_out),
- .perr_mas_detect_out (parchk_perr_mas_detect_out),
- .serr_enable_in (parchk_serr_enable_in),
- .sig_serr_out (parchk_sig_serr_out)
- );
- wire in_reg_gnt_in = pci_gnt_i ;
- wire in_reg_frame_in = int_pci_frame ;
- wire in_reg_irdy_in = int_pci_irdy ;
- wire in_reg_trdy_in = int_pci_trdy ;
- wire in_reg_stop_in = int_pci_stop ;
- wire in_reg_devsel_in = int_pci_devsel ;
- wire in_reg_idsel_in = pci_idsel_i ;
- wire [31:0] in_reg_ad_in = pci_ad_i ;
- wire [3:0] in_reg_cbe_in = int_pci_cbe ;
- pci_in_reg input_register
- (
- .reset_in (reset),
- .clk_in (pci_clk),
- .init_complete_in (conf_pci_init_complete_out),
- .pci_gnt_in (in_reg_gnt_in),
- .pci_frame_in (in_reg_frame_in),
- .pci_irdy_in (in_reg_irdy_in),
- .pci_trdy_in (in_reg_trdy_in),
- .pci_stop_in (in_reg_stop_in),
- .pci_devsel_in (in_reg_devsel_in),
- .pci_idsel_in (in_reg_idsel_in),
- .pci_ad_in (in_reg_ad_in),
- .pci_cbe_in (in_reg_cbe_in),
- .pci_gnt_reg_out (in_reg_gnt_out),
- .pci_frame_reg_out (in_reg_frame_out),
- .pci_irdy_reg_out (in_reg_irdy_out),
- .pci_trdy_reg_out (in_reg_trdy_out),
- .pci_stop_reg_out (in_reg_stop_out),
- .pci_devsel_reg_out (in_reg_devsel_out),
- .pci_idsel_reg_out (in_reg_idsel_out),
- .pci_ad_reg_out (in_reg_ad_out),
- .pci_cbe_reg_out (in_reg_cbe_out)
- );
- endmodule
- </pre>
- <hr />
- <address><span style="font-size: smaller">FreeBSD-CVSweb <<a href="mailto:freebsd-cvsweb@FreeBSD.org">freebsd-cvsweb@FreeBSD.org</a>></span></address>
- </body>
- </html>
- <!-- pf_body_end -->
- </td>
- <td><img width=15 src="/images/dotty.gif"></td>
- </tr></table>
- <xcenter>
- <p>
- <table width=100% cellpadding=0 cellspacing=0 border=0>
- <tr><td align=right valign=bottom><a title='Top' href='#top'><img border=0 alt='Top' src='/images/hr_up.gif'></a></td></tr>
- <tr><td background='/images/hpd.gif'><img height=1 border=0 src='/images/dotty.gif'></td></tr><tr><td height=4><img height=4 src='/images/dotty.gif'></td></tr></table>
-
- <br>
- <!--
- <table border=0 cellpadding=0 cellspacing=1 bgcolor=#ffffff><tr><td>
- <table cellpadding=0 cellspacing=0 border=0 bgcolor=#ffffff><tr><td>
- //-->
- <script type="text/javascript"><!--
- google_ad_client = "pub-9285819221080148";
- google_alternate_color = "FFFFFF";
- google_ad_width = 728;
- google_ad_height = 90;
- google_ad_format = "728x90_as";
- google_ad_type = "text_image";
- google_ad_channel ="3034172958";
- google_color_border = "ffffff";
- google_color_bg = "ffffff";
- google_color_link = "444488";
- google_color_url = "b00000";
- google_color_text = "666666";
- //--></script>
- <script type="text/javascript"
- src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
- </script>
- <!--
- </td></tr></table>
- </td></tr></table>
- //-->
- </center>
- <img border=0 src="/images/dotty.gif" height=1 width=400>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- <img border=0 src="/images/dotty.gif" height=1 width=30>
- </td></tr>
- </table>
-
- </td></tr>
- <tr bgcolor=#000000><td><img height=1 src="/images/dotty.gif"></td></tr>
- </table>
- <table background="/images/topbg.gif" width=100% cellpadding=0 cellspacing=0 border=0 bgcolor=#aaddff>
- <tr><td align=right>
- Copyright (c) 1999-2007 OPENCORES.ORG. All rights reserved.
- </td></tr>
- <tr><td>
-
- </td></tr>
- </table>
- </td>
- <td width=1 bgcolor=#000000><img width=1 src="/images/dotty.gif"></td>
- <td width=1 bgcolor=#f0f0c8><img width=1 src="/images/dotty.gif"></td>
- </tr></table>
- </center>
- <!-- pf_footer_start -->
- </body>
- </html>
- <!-- pf_footer_end -->