Introducing. QuickLogic s The Basics of PCI. QuickPCI - The PCI Solution for System Needs

Similar documents
Typical System Implementation

Older PC Implementations

PCI Bus Quick Reference by Doug Abbott

Introduction to the PCI Interface. Meeta Srivastav

PCI / PMC / CPCI / PCI-X Bus Analysis

PCI Compliance Checklist

PCI-X Addendum to the PCI Compliance Checklist. Revision 1.0a

PCI Local Bus Specification. Production Version

PCI Local Bus Specification

PCI-X Addendum to the PCI Compliance Checklist. Revision 1.0b

128 Kb Dual-Port SRAM with PCI Bus Controller (PCI-DP)

PCI Local Bus Specification Revision 3.0. June 2002JuneDecember 5February 3, , 2002

PCI Bus Prototyping Card (2)

Architecture Specification

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses

Errata and Clarifications to the PCI-X Addendum, Revision 1.0a. Update 3/12/01 Rev P

TPCE260. PCI Express PMC Carrier. Version 1.0. User Manual. Issue August 2014

128K Bit Dual-Port SRAM with PCI Bus Controller

Errata History For PCI System Architecture, 4th Edition

PCI and PCI Express Bus Architecture

Reference board User Guide for PI7C8152 By Glenn Sanders

Errata history for PCI-X System Architecture, 1st Edition. Page Severity Description

cpci-pci Adapter Technical Reference Manual cpci-pci Adapter Reference Manual Version 1.0

PCI-X Protocol Addendum to the PCI Local Bus Specification Revision 2.0a

PCI-X Protocol Addendum to the PCI Local Bus Specification Revision 2.0a

ECE 485/585 Microprocessor System Design

Embedded Systems Programming

#64. Quick start: (photo of 8154 reference board) The numbers on the photo correspond to the text explanation on the right:

PI7C8140A 2-Port PCI-to-PCI Bridge REVISION 1.01

ISP General description. Hi-Speed USB PCI host controller

21154 PCI-to-PCI Bridge Configuration

PI7C7300D 3-PORT PCI-to-PCI BRIDGE Revision 1.01

PCI-OPTO32B-CONTACT. User s Manual. 24 Input Bits. 8 Output Bits. -12V-CONTACT Optional. Opto Isolator Board

User Guide for the Pericom PI7C8150 Reference board By Glenn Sanders

PCI Host Controller 14a Hardware Reference Release 1.2 (October 16, 2017)

Computer Architecture

AMD HD5450 PCI ADD-IN BOARD. Datasheet. Advantech model number:gfx-a3t5-61fst1

Comprehensive Statistical Analysis of Min & Max of over 100 parameters at user specific addresses

BUF(PCI)13. PCI Bus Expansion Adapter Set. User's Guide

ACROMAG INCORPORATED Tel: (248) South Wixom Road Fax: (248) P.O. BOX 437 Wixom, MI U.S.A.

PC87200 PCI to ISA Bridge

PCI-X Addendum to the PCI Local Bus Specification. Revision 1.0

Comprehensive Statistical Analysis of Min & Max of over 100 parameters at user specific addresses

FireBridge II 82C814 Docking Station Controller Data Book

Intel IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor PCI 16-Bit Read Implementation

The PCI 9054 has Direct Master, DMA and Direct Slave Hitachi SH bit RISC Processor

INTEL 380FB PCISET: 82380AB MOBILE PCI-TO-ISA BRIDGE (MISA)

PCI Bus Demystified. by Doug Abbott DEMYSTIFYING TECHNOLOGY SERIES. A VOLUME IN THE. Eagle Rock, Virginia

Lecture #9-10: Communication Methods

PCI1211 GGU/PGE PC CARD CONTROLLERS

PRELIMINARY IDT7M9510 IDT7M9514

Table 3. Summary of Silicon Errata and Applicable Revision No. Problem Description Impact Work Around 1 ROM three-state wait functionality not working

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

PCI-X Addendum to the PCI Local Bus Specification. Revision 1.0a

Sensoray Model 623 PC/104+ to PCI Adapter. Revised December 19, Sensoray Model 623 Instruction Manual 1

Zephyr Engineering, Inc

Product Information SK1-CHORD. CompactPCI Serial PMC Module Carrier. Document No July 2017

IT and Instrumentation for industry. CE5-CADENZA CompactPCI Hostadapter Quad Serial ATA Controller & 2.5-Inch Hard Disk Drive

Digital Logic Level. Buses PCI (..continued) PTE MIK MIT

Galileo GT System Controller for PowerPC Processors FEATURES. Product Review Revision 1.1 DEC 15, 1999

DYNAMIC ENGINEERING 150 DuBois St. Suite C Santa Cruz CA Fax Est.

S5920 ADD-ON. 32 Byte FIFO. Pass- Thru AMCC ADD-ON. 32 Byte FIFO PCI. Local Bus Interface Logic. Pass- Thru. Mux/ Demux Active R/W Logic Buffers

PCI-X Electrical and Mechanical Addendum to the PCI Local Bus Specification Revision 2.0a

1999 PCIBus Solutions

This page intentionally left blank

IMPORTANT NOTICE. As a result, the following changes are applicable to the attached document.

NPCI-PMC Technical Reference Manual

USER S MANUAL. Series PMC341 PCI Mezzanine Card Simultaneous Sampling Analog Input Module

Bus (Väylä) Stallings: Ch 3 What moves on Bus? Bus characteristics PCI-bus PCI Express

IMPORTANT NOTICE. As a result, the following changes are applicable to the attached document.

Application Note Features A[31:28] GLUE LOGIC (PLD) A[2] [Gnd:Vcc] Figure 1. TMS320C6202 to PCI Subsystem

PCI Bus Demystified. By Doug Abbott SECOND EDITION

Owner s Manual for the DQP-1300 DRV11 Option Module for NuVAX and NuPDPq. DQP-1300-OM Revision A

82558 Fast Ethernet PCI Bus Controller with Integrated PHY

PCI1031 PCI-TO-PC CARD16 CONTROLLER UNIT

Agilent Technologies E2929B PCI-X Exerciser and Analyzer. Technical Overview. Key Specifications

cpci-8273 Advance Technologies; Automate the World. 3 Port IEEE 1394a 3U CompactPCI Card User s Manual Manual Rev. 2.00

Tsi148/Universe II Differences Application Note. Formal Status September 29, 2014

CorePCI Target+DMA Master 33/66MHz

PI7C8152A & PI7C8152B 2-Port PCI-to-PCI Bridge REVISION 1.11

LSI53C875A PCI to Ultra SCSI Controller

Product Information CP3-HOUSE

PCI Compliance Testing

CorePCIX. v2.0. High Performance Customizable PCI-X Bus Interface

Computer Architectures

Emerald-MM-8Plus. PC/104-Plus 8-Port Multi-Protocol Serial Port Module. User Manual v1.04

The HP E2910A PCI Exerciser. Technical Data. Product Description and Specifications. Key functions

USER S MANUAL. Series ACPC8630A/8635A Industrial I/O Pack CompactPCI Bus Non-Intelligent Carrier Board

PCI to SH-3 AN Hitachi SH3 to PCI bus

USER S MANUAL. Series ACPC8630/8635 Industrial I/O Pack CompactPCI Bus Non-Intelligent Carrier Board

CorePCI Target 33/66 MHz

PCI 6140 (HB1) PCI-to-PCI Bridge Data Book

PCI Express to PCI/PCI-X Bridge Specification Revision 1.0

PCI Bus Master Interface Chip for Adapters and Embedded Systems. Figure 1. Typical Adapter or Embedded System Block Diagram

Lecture 2: Bus

CM17215HR 100MB/s Fiber CM17212HR 10/100MB/s UTP PC/104-Plus Dual Ethernet utilitymodule. User s Manual. BDM Rev. A

Optimizing the PCI Interface Configuration for the RC32336

8-Slot NI PXIe-1062Q Backplane

PCI-HPDI32A PCI-HPDI32A-PECL PMC-HPDI32A PMC-HPDI32A-PECL

PC/104+ to PCMCIA PC-Card/CardBus Adapter. Model 335 (Rev.A)

Transcription:

Introducing QuickLogic s The Basics of PCI QuickPCI - The PCI Solution for System Needs

Typical System Implementation CPU Cache Memory Subsystem DRAM Subsystem Host Bus PCI Local Bus PCI Bridge/ Memory Controller ISA Bus Bridge ISA Bus PCI Add-in Slots ISA Add-in Slots PCI 2

Desktop Platforms Processor Processor Bridge/ Bridge/ Memory Memory Controller Controller Cache Cache DRAM DRAM Graphics Graphics PCI Local Bus IDE IDE Exp ExpBus Xface Xface Fax Modem Add-in LAN, SCSI, Video, etc ISA/EISA - MicroChannel R PCI 3

Server Platforms Processor/ Cache Processor/ Cache Memory Controller Memory System Bus Host Bridge PCI Local Bus Host Bridge 32/64-Bit PCI Local Bus Expansion Bus Bridge Expansion Bus Bridge Bridg e I/O SCSI SCSI LAN LAN LAN FAX PCI to PCI Bridge PCI Local Bus Conn 1 Conn 4 PCI 4

Mobile Platforms Processor Processor Bridge/ Bridge/ Memory Memory Controller Controller Cache Cache DRAM DRAM PCI Local Bus Graphics Graphics IDE IDE Bridge Bridge I/O Bus Sockets PCI 5

PCI Auto-Configuration + PCI Add-in Card PCI Based Mother Board Auto Configuration System PCI 6

PCI Overview PCI 7

PCI Features 32-Bit or 64-Bit address and data 66 or 33 down to 0 MH synchronous operation Single or multiple bus masters Reflected bus signaling Stepped signaling Bus parity error reporting 5 or 3.3 volt operation Cache support JTAG testing PCI 8

PCI Bus Bus Signals Bus Commands Bus Transactions Arbitration PCI 9

PCI Bus Signals Required Pins Optional Pins Address & Data AD[31::00] C/BE#[3::0] AD[63::32] C/BE#[7::4] 64-Bit Extension Interface Control PAR FRAME# TRDY# IRDY# STOP# DEVSEL# IDSEL PCI COMPLIANT DEVICE PAR64 REQ64# ACK64# M66EN LOCK# Interrupt A-D# Clkrun# Interface Control Arbitration (masters only) REQ# GNT# SBO# SDONE Cache Support Error Reporting System PERR# SERR# CLK RST Present 1-2 TDI TDO TCK TMS TRST# JTAG (IEEE 1149.1) PCI Pin List PCI 10

PCI Bus Control Signals System CLK RST# Address Data AD[31:00] C/BE[3:0]# PAR PCI 11

PCI Bus Control Signals Interface Control FRAME# - LOCK# IRDY# - IDSEL# TRDY# - DEVSEL# STOP# Arbitration REQ# GNT# PCI 12

PCI bus access PCI is a Multimaster Bus All transactions initiated by a master All transactions to/from a target PCI 13

PCI Bus Control Signals FRAME# driven by master to indicate transfer start and end IRDY# driven by master to indicate it is ready to transfer data TRDY# driven by master to indicate it is ready to transfer data PCI 14

Bus transaction start CLK 1 2 3 4 5 6 7 8 9 FRAME# AD Address C/BE# Command IRDY# GNT# Bus Idle PCI 15

PCI Command Definition C/BE [3::0]# Command Type 0000 Interrupt acknowledge 0001 Special Cycle 0010 I/O Read 0011 I/O Write 0110 Memory Read 0111 Memory Write 1010 Configuration Read 1011 Configuration Write 1100 Memory Read Multiple 1101 Dual Address Cycle 1110 Memory Read Line 1111 Memory Write and Invalidate PCI 16

PCI Commands The PCI bus commands, encoded on the C/BE[3::0]# lines, are summaried below: Interrupt Acknowledge (0000) Performs a read implicitly addressed to the system interrupt controller Address bits are logical don t cares during the address phase Byte enables indicate the sie of the vector to be returned Special Cycle (0001) Provides a simple message broadcast mechanism on the PCI bus Logical equivalent of a wire to all agents Alternative to physical signals during sideband communications PCI 17

PCI Commands (Cont Cont.) I/O Read (0010) Reads data from an agent mapped in I/O address space Byte enables indicate the sie of the transfer and must be consistent with the byte address I/O Write (0011) Writes data to an agent mapped in I/O address space Byte enables indicate the sie of the transfer and must be consistent with the byte address Reserved (0100, 0101, 1000, 1001) Reserved for future use Memory Read (0110) Reads data from an agent mapped in memory address space Target can do anticipatory read if no side effects can be guaranteed (Prefetchable Memory) Target must ensure coherency of data in temporary buffers after this transaction PCI 18

PCI Commands (Cont Cont.) Memory Write (0111) Writes data to an agent mapped in memory address space Target assumes responsibility for coherency of data Configuration Read (1010) Reads the configuration space of each agent Configuration Write (1011) Transfers data to the configuration space of each agent Memory Read Multiple (1100) Fetches a full cache line and starts fetching the next Differs from Memory Read by the intent to fetch more than one cache line before disconnecting PCI 19

PCI Commands (Cont Cont.) Dual Address Cycle (1101) Generates two 32-bit address cycles to produce one 64- bit address Memory Read Line (1110) Reads up to the cacheline boundary Differs from Memory Read by the intent to complete a full cacheline read Memory Write and Invalidate (1111) Transfers a complete cacheline to memory, then invalidates the line in cache (Writeback & HITM#) Differs from Memory Write by its guarantee of a minimum transfer of one complete cacheline PCI 20

Memory Access Reads Memory Read 0110 burst of less than a cache line Memory Read Line 1110 burst of cache line Memory Read Multiple 1100 Writes Memory Write 0111 Memory Write & Invalidate 1111 PCI 21

FRAME# AD C/BE# IRDY# TRDY# DEVSEL # 1 2 3 4 5 6 7 8 9 Address Data 2 Data 3 Bus Cmd wait Data transfer wait Data transfer wait Data transfer CLK Bus Read Data 1 BE# s PCI 22

PCI Bus Read CLK FRAME# AD ADDRESS DATA-1 DATA-2 DATA-3 C/BE# BUS CMD BE# S IRDY# TRDY# DEVSEL# PCI 23

PCI Bus Write PCI 24

Premature Termination Master Abort No DEVSEL from any target Disconnect Target can t continue burst, stop after current transfer Retry Target can t complete current cycle, retry later Abort Target has fatal error, don t retry PCI 25

Master Abort CLK 1 2 3 4 5 6 7 8 9 FRAME# AD Address C/BE# Bus Cmd IRDY# TRDY# DEVSEL # Fast Medium Slow Bridge PCI 26

Disconnect CLK 1 2 3 4 5 6 7 FRAME# AD Data Data IRDY# TRDY# Data transfer wait Data transfer STOP# DEVSEL # TRDY - True, Stop - True, Devsel - True PCI 27

Retry CLK 1 2 3 4 5 6 7 FRAME# IRDY# TRDY# STOP# DEVSEL# TRDY - False, Stop - True, Devsel - True PCI 28

Target Abort CLK 1 2 3 4 5 6 7 FRAME# IRDY# TRDY# STOP# DEVSEL# TRDY - False, Stop - True, Devsel - False PCI 29

PCI Arbitration

PCI Bus Arbitration PCI 31

Arbitration Arbitration is access based Master must arbitrate for each bus access Central arbitration scheme Each master has a unique request and grant signal Arbitration is hidden Occurs during previous bus cycle PCI 32

Arbitration Scheme An arbiter may implement any scheme which is fair Fairness means that, in general, the the arbiter must advance to a new agent when the current master releases the bus Each potential master must be granted access to the bus independently of other requests PCI 33

Bus Parking Parking permits the arbiter to select an agent, by asserting its GNT#, when no other agent is using or requesting the bus The arbiter determines how this selection is made Fixed, Last Used,, or None PCI 34

Delayed Transactions

Delayed Transactions Used by two types of devices: I/O Controllers Single delayed transaction in general Bridges Particularly PCI-to-PCI bridges Multiple delayed transactions in general PCI 36

CPU MEM Local Bus ATU PCI Bus PCI 37

Delayed Transactions Master issues read Slave latches date Slave terminates with retry Slave transfers data from memory to buffer Master issues repeat read Slave terminates with TRDY PCI 38

Latency

Latency Arbitration latency Bus acquisition latency Master data latency Target latency Initial Subsequent PCI 40

Bus Access Latency Number of clocks from the assertion of REQ# to the completion of the first data transaction Sum of: Arbitration Latency Bus Acquisition Latency Master Latency Target Latency PCI 41

Latency Master asserts REQ# Master receives GNT# Master asserts FRAME# Target asserts TRDY# Arbitration Latency Acquisition Latency Target Latency PCI 42

Latency Timer Latency Timer (LT) controls trade-off between high throughput and low latency Latency Timer counter sets minimum number of clocks before the master must surrender GNT# PCI 43

Exclusive Access Lock

Exclusive Access Lock is an exclusive access mechanism which also permits non-exclusive accesses to proceed This is referred to as Resource Lock. A hardware lock can be held across several accesses without interfering with other, nonexclusive, real-time transfers This mechanism locks only the target of the original locked access. Other transfers, to agents other than the locked device, may share the bus Exclusive access is provided through the use of the LOCK# signal PCI 45

PCI Hardware

PCI Card Connectors 5V 32-Bit Connector Keyway 33 MH 5V 64-Bit Connector 3.3V 32-Bit Connector 33/66 MH 3.3V 64-Bit Connector Rear Front PCI 47

5 V To 3.3 V Migration Path 5 Volt Card Dual-Voltage Card 3 Volt Card 5 Volt System Key away from backpanel 3 Volt System Key near backpanel PCI 48

PCI Component Pin Out PCI 49

Trace Length Less than 1.5" Trace Length PCI 50

PCI Component Bus Loading Clock Driver PCI Device < 2nS PCI Device LOW HIGH T_prop V_ih V_test 5v = 1.5 v V_test 3v = 0.4 Vcc V_test V_test Driving PCI V_il Driving 50pF Test Load T_prop PCI 51

PCI Load Definition Tprop = 10ns @33MH, 5ns @ 66MH <10 PF per PCI line <20 NH per PCI line 60-100 Ohms Z 150 to 190 ps/inch signal velocity (50%C ± 5%) Shared signals are limited to 1.5 inches Unshared signals are limited to 2 inches Clock must be 2.5 ±.1 inch, only one load Max Clock skew 2ns @ 33MH, 1ns @ 66 MH No maximum number of loads is given in the specification. Pullup resistor calculations assume 10 to be typical, and 16 to be worst case loading PCI 52

PCI Load Restrictions It is specifically a violation of the PCI specification to: Attach an expansion ROM directly, or via bus transceivers, on any PCI pins ROM code may not execute in-place Attach two or more PCI devices on an expansion board except behind a PCI component Attach any logic, other than a single PCI device, which snoops PCI pins Use PCI component sets which place more than one load on any PCI pin, Separate address and data path components Use a PCI component which has more than 10pF per pin Attach any pull-up resistors, or other discrete devices, to PCI signals except behind PCI component PCI 53

66MH Operation PCI operates at 66 MH only in the 3.3V environment Agents indicate 66MH capability both electrically and programmatically M66EN pin 66M bit in status register Any 33MH board on the bus grounds the M66EN pin and disables 66 MH operation Pin B49 grounded indicates 33MH PCI 54

PCI BIOS 32-Bit Operating Systems

PCI BIOS Only BIOS is permitted to access PCI: Configuration Registers Interrupt Routing Logic Special Cycle generation logic PCI 56

PCI BIOS Functions Determine configuration mechanism Detect all PCI buses in the system Search for PCI devices Read/Write configuration registers Assign Interrupts to PCI devices Determine Special Cycle abilities Permit Special Cycle generation PCI 57

PCI Configuration

System Initialiation Configuration allows software (BIOS) to initialie the system Each device has configuration registers At power up software scans bus(es) Software analyses system requirements Configuration registers are set to configure individual devices PCI 59

Configuration Types Specific bus commands configuration read (C/BE# = 1010) configuration write (C/BE# = 1011) Type 0 local PCI bus IDSEL line indicates device address field indicates register Type 1 remote PCI bus (through bridge) address field indicates bus, device and register PCI 60

Configuration Space Header BIST Max_Lat Device ID Vendor ID Status Command Class Code Rev Header Type Latency Timer Cache Line Sie Base Address 0 Base Address 1 Base Address 2 Base Address 3 Base Address 4 Base Address 5 Cardbus CIS Pointer Subsystem ID Subsystem Vendor ID Expansion ROM Base Address Reserved Reserved Min_Gnt Interrupt Pin Interrupt Line 00 04 08 0C 10 14 18 1C 20 24 28 2C 30 34 38 3C PCI 61

Command Register Bit Meaning 0 I/O Space Enable 1 Memory Space Enable 2 Bus Master Enable 3 Special Cycle Enable 4 Memory Write and Invalidate Enable 5 VGA Palette Snoop Enable 6 Parity Error Enable 7 Wait Cycle Control 8 SERR# Enable 9 Fast Back to Back Enable 10:15 Reserved PCI 62

IDSEL Line Addressing Addressing the Configuration Space of a device is done using the IDSEL signal as a chip select, and setting AD[1::0] to 00 to indicate a Type 0 configuration transaction The method used to generate IDSEL is system specific, however, if no other mapping is required the following may be used The IDSEL of Device 0 is connected to AD[16], Device 1 is connected to AD[17], etc. through Device 16 connected to AD[31] PCI 63

Interrupt Line 8-Bit register which contains interrupt line routing Value in this register is the interrupt number (IRQ) to which the device s interrupt pin is connected If, during initialiation, the device requests an IRQ, one is assigned. The IRQ number is placed in this register by configuration software at initialiation time PCI 64

Interrupt Pin The interrupt pin register indicates which of the four interrupts, INTA#-INTD#, the device or function uses A value of 1 corresponds to INTA#, 2 to INTB# etc Devices which do not use interrupts place 0 in this register This register is read only Each function within a device may use one interrupt A single function device must use INTA# If a multifunction device requires two interrupts they must be INTA# and INTB# etc. Interrupts may be shared (chained) PCI 65

Interrupt Routing A A A Route 0 IRQ5 B C D B C D B C D Route 1 Route 2 Route 3 I R Q R o u t e r IRQ9 IRQ10 IRQ11 IRQ12 Slot 1 Slot 2 Slot 3 PCI 66

PCI Bus Interrupts Router PCI 67

MIN_GNT and MAX_LAT Minimum Grant and Maximum Latency MIN_GNT defines the burst-period length required by the device MAX_LAT specifies how often the device must gain access to the PCI bus Maximum time between accesses Both registers are read only and have a granularity of 250 nanoseconds Values of 0 in these registers indicates no major latency requirements for the device PCI 68

Documentation PCI Local bus Specification Rev 2.1 PCI Special Interest Group http://www.pcisig.com/ PCI System Architecture, 3rd Edition Mindshare ISBN# 0-201-40993-3 PCI Hardware & Software Architecture and Design Edward Solari & George Willse PCI 69