Getting Started Asic
Getting Started Asic
Proprietary Notice
Words and logos marked with ® or ™ are registered trademarks or trademarks owned by PLDA SA. Other brands
and names mentioned herein may be the trademarks of their respective owners.
Neither the whole nor any part of the information contained in, or the product described in, this document may be
adapted or reproduced in any material form except with the prior written permission of the copyright holder.
The product described in this document is subject to continuous developments and improvements. All particulars
of the product and its use contained in this document are given by PLDA in good faith. This document is provided
“as is” with no warranties whatsoever, including any warranty of merchantability, non infringement, fitness for any
particular purpose, or any warranty otherwise arising out of any proposal, specification, or sample.
This document is intended only to assist the reader in the use of the product. PLDA shall not be liable for any loss
or damage arising from the use of any information in this document, or any error or omission in such information,
or any incorrect use of the product. Nor shall PLDA be liable for infringement of proprietary rights relating to use of
information in this document. No license, express or implied, by estoppel or otherwise, to any intellectual property
rights is granted herein.
Product Status
The information in this document is final content pertaining to the PLDA PCI-X & PCI Core.
Web Address
http://www.plda.com
2
PCI-X & PCI Core Getting Started
Table of Contents
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
About this document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Additional Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Feedback and Contact Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3
PCI-X & PCI Core Getting Started
List of Tables
4
PCI-X & PCI Core Getting Started
List of Figures
5
PCI-X & PCI Core Getting Started
Preface
Scope
This document provides information to enable designers to integrate the PLDA PCI-X & PCI IP into their design
flow as quickly as possible (installing, customizing, integrating, and simulating the Core). Accompanied by the
Reference Manual, these two documents comprise all of the documentation for the PLDA PCI-X & PCI Core.
Typographical Conventions
Additional Reading
This section lists additional resources from PLDA and third-parties.
PLDA periodically updates its documentation. Please contact PLDA at [email protected] or check the Web site
at http://www.plda.com for current versions.
PLDA Publications
Please refer to the following documents for further information:
• PCI-X & PCI Reference Manual: The Reference Manual provides the complete functional description of the
PLDA PCI-X & PCI Core.
• PCI-X & PCI Testbench Reference Manual: This document describes PLDA’s PCI-X & PCI Testbench.
• Build History: The Build History lists changes made in each version and build of the Core.
Other Publications
Please refer to the following documents for information on specification standards:
• PCI-X Addendum to the PCI Local Bus Specification , revision 2.0a - PCI SIG, July 2003
• PCI Local Bus Specification , revision 3.0 - PCI Special Interest Group, February 2004
• PCI Compliance Checklist , revision 3.0 - PCI Special Interest Group, March 2004
• PCI Mobile Design Guide, revision 1.1 - PCI Special Interest Group, December 1998
• PCI Bus Power Management Interface, revision 1.2 - PCI SIG, March 2004
• CompactPCI Hot Swap Specification , revision 1.0 - PICMG, August 1998
• MiniPCI Specification , revision 1.0 - PCI Special Interest Group, October 1999
• PC Cards Standard , release 8.0 - PCMCIA Association, April 2001
6
PCI-X & PCI Core Getting Started
Contact information
Corporate Headquarters
PLDA
Parc club du golf - Bât. 11a
Rue Guillibert
13856 Aix-en-Provence Cedex 3 - France
Tel: USA +1 408 273 4528 - International +33 442 393 600
Fax: +33 442 394 902
Sales
For sales questions, please contact [email protected].
Technical Support
For technical support questions, please contact [email protected].
7
Before you Start... PCI-X & PCI Core Getting Started
8
PCI-X & PCI Core Getting Started Before you Start...
• core
• pci
• source
• vhdl/vlog: RTL clear-text core source code
• simulation
• Modelsim
• vhdl/vlog: pre-compiled simulation library
• ncsim
• vhdl/vlog: compiled simulation library
• VCS
• vhdl/vlog:compiled simulation library
• documentation
build_history.pdf
revision_history.pdf
getting_started.pdf
reference_manual.pdf
testbench_reference_manual.pdf
• appnotes
• application notes and sample source code
• testsuite
• Testsuite environment
• ref_design
• Reference Design for simulation
• software
• plda_api: Application Programming Interface files
• tools_source: C++ examples of PLDA tools
• windows: PCI drivers and PLDA tools executables
• simulation
• Modelsim
• vhdl/vlog: pre-compiled simulation library
• ncsim
• vhdl/vlog: compiled simulation library
• VCS
• vhdl/vlog:compiled simulation library
• wizard: TxRx interface wizard provided for creating a top-level instance of the Core.
9
Frontend Design PCI-X & PCI Core Getting Started
VHDL
vmap pcixpcitestb_lib
install_path/testbench/pci/modelsim/vhdl/pcixpcitestb_lib
vcom –force_refresh -work pcixpcitestb_lib
vmap pcixpcicore_lib
install_path/core/pci/modelsim/vhdl/pcixpcicore_lib
vcom –force_refresh –work pcixpcicore_lib
10
PCI-X & PCI Core Getting Started Frontend Design
Verilog
vmap pcixpcitestb_lib
install_path/testbench/pci/modelsim/vlog/pcixpcitestb_lib
vlog –force_refresh -work pcixpcitestb_lib
vmap pcixpcicore_lib
install_path/core/pci/modelsim/vlog/pcixpcicore_lib
vlog –force_refresh –work pcixpcicore_lib
It is now possible to simulate any custom instance of PCI-X & PCI core and backend logic with the PCI-X
testbench. Refer to the PCI-X & PCI Testbench Reference Manual for more information.
VHDL
ncvhdl –93 -work pcixpcicore_lib -update
install_path/core/pci/ncsim/vhdl/pcixpcicore_lib.vhdp
ncvhdl –93 -work pcixpcitestb_lib -update
install_path/testbench/pci/ncsim/vhdl/pcixpcitestb_lib.vhdp
Verilog
ncvlog –work pcixpcicore_lib -update
install_path/core/pci/ncsim/vlog/pcixpcicore_lib.vp
ncvlog –work pcixpcitestb_lib -update
install_path/testbench/pci/ncsim/vlog/pcixpcitestb_lib.vp
PCI Wizard creates a project setup Tcl script from the user-entered information which generates all necessary
constraints once launched in QuartusII (see section 2.3 for detail).
66MHz PCI designs require additional constraints to be added (like logic placement) in order to meet the PCI
11
Frontend Design PCI-X & PCI Core Getting Started
timing requirements. PLDA provides custom optimization services for 66MHz PCI designs that are detailed in the
Core License Agreement.
12
PCI-X & PCI Core Getting Started Reference Design
Reference Design
PCI-PCIX Core
DMA
FIFO
DMA management
module
Slave management
module LEDs
13
Reference Design PCI-X & PCI Core Getting Started
pcixpci_core_64
pcixpci_core_32
(Core Module
instance)
ref_design_64
ref_design_32
14
PCI-X & PCI Core Getting Started Reference Design
Module Description
dcram Generic DCRAM model available in ASIC (RTL description) and Stratix (uses
Altera memory primitives).
dcrambe Generic DPRAM with Byte Enable model available in ASIC (RTL description)
Stratix (uses Altera memory primitives) versions.
dma_mgt DMA management module handles two DMA channels that connect to the Core
Master interface through a 64-bit X 256 Words FIFO. The FIFO uses PLDA’s
scfifo general purpose single-clock FIFO model. A set of memory-mapped
registers (accessible from the PCI bus) is used to set up DMA registers and start
transfers.
ref_design_32 Reference Design top-level that connects the peripheral modules together with
ref_design_64 32-bit or 64_bit datapath
pcixpci_core_32 ToPCI-X & PCI core instance generated with the PCI Wizard. This wrapper
pcixpci_core_64 contains custom core settings for this design. The core is configured to support
the following options:
• DMA0: Write to FIFO, read from PCI
• DMA1: Read from FIFO, write to PCI
• BAR 0/1: 4 KB memory space (registers)
• BAR 2/3: 4 KB memory space (internal SRAM)
refdesign_xxx Top-level for a specific board, connects board specific resource to the design.
3.5 Registers
The table below describes the registers used by the Reference Design, mapped in BAR0/1 space.
DMA0_SIZE DMA0 transfer size in bytes. Bits [19:0] are implemented, other bits are 08h
tied to ‘0’ so maximum size is 512KB.
15
Reference Design PCI-X & PCI Core Getting Started
MAILBOX_REG General purpose 32-bit read / write register. Bits [2:0] are connected to 24h
onboard LEDs
INT_REG Bit 0 indicates an interrupt request; writing 1 to this bit clears interrupt 34h
reserved -- other
3.6 Simulation
A simulation environment is provided for Modelsim, NCSim & VCS. PCI-X & PCI testbench reads the pci_script.txt
and pci_mem.txt files and executes the specified commands. These files can be modified to generate different
patterns. Different scripts can be found in the script sub-directory.
Follow these steps to simulate the Reference Design with Modelsim :
1. Open Modelsim
2. Change working directory to ../ref_design/sim (File → Change Directory)
3. Run following script:
do simulate.tcl model $language $busmode $scenario
Where $language can be “vhdl” or “vlog”, $busmode can be “pci” or “pcix” and $scenario can be “target”, “dma” or
“sg”
16
PCI-X & PCI Core Getting Started Reference Design
17