09449PV CY7C09449PV-AC 128 Kb Dual-Port SRAM with PCI Bus Controller (PCI-DP) Features • 128 Kb of dual-ported shared memory • Master and Target PCI Specification 2.2 compliant interface • Embedded host bridge capability • Direct interface to many microprocessors • I2O message transport unit; includes four 32-bit, 32entry FIFO • Local bus clock rates up to 50 MHz • Single 3.3V Power Supply including compatibility with 3V and 5V PCI Bus signaling • 160-pin thin plastic quad flat package Introduction The CY7C09449PV is one of the PCI interface controllers in the Cypress Semiconductor PCI-DP™ family. The CY7C09449PV provides a PCI master/target interface with direct connections to many popular microprocessors. It provides 128 Kb of dual-port SRAM that is used as shared memory between the local microprocessor and the PCI bus. An I2O message unit, complete with message queues and interrupt capability, is also provided. The CY7C09449PV allows the designer to interface an application to the PCI bus in a straightforward, inexpensive way. Functional Overview A primary resource within the CY7C09449PV is its 128 Kb of dual-port memory. This memory is interfaced to both the PCI bus and to a local microprocessor bus. This shared memory can be accessed as a target from both buses at the same time for inter-process communication. From either the local or PCI bus the CY7C09449PV can be directed to become a PCI bus master to move data into or out of the internal shared memory as a direct memory access (DMA). The CY7C09449PV can DMA across the PCI bus any number of 32-bit double words (DWORD), up to 16K bytes. It uses the full bursting capabilities of the PCI bus for maximum efficiency and can transfer data over the full 32-bit PCI address space. The CY7C09449PV implements optional requirements of the PCI specification by selecting the optimum PCI command for each transaction it masters to the PCI bus. This maximizes overall efficiency of the system platform. PCI bridging functions (PCI-to-PCI and Host-to-PCI bridges) use the commands to enhance prefetch and cache coherency operations. The CY7C09449PV requests and gains access to the PCI bus as any master. It does not, within itself, include a PCI bus arbitration function. Standard PC PCI buses include this function; embedded systems may need to implement this function. The CY7C09449PV provides a direct access mechanism from the local bus to the PCI bus. With it, the local processor can direct the CY7C09449PV to run a PCI bus master cycle of any kind to any address. This means that the CY7C09449PV can run PCI configuration cycles allowing it to be used as a host bridge. The CY7C09449PV is composed of a number of shared resources that allow effective data movement between the local bus and the PCI bus. Table of Contents Features 1 Introduction 1 Functional Overview 1 Pin Configuration 4 Pin Description 5 PCI Bus 9 Local Bus 12 Timing Diagrams 16 2 I C Serial Port and Auto-Configuration 27 Operations Registers 29 Performance Characteristics 41 CY7C09449PV Operations 46 Ordering Information 48 Package Diagram 48 Cypress Semiconductor Corporation Document #: 38-06061 Rev. *A • 3901 North First Street • San Jose • CA 95134 • 408-943-2600 Revised December 27, 2002 CY7C09449PV-AC 128 Kb Dual-Port Shared Memory PCI 2.2 Bus Interface PCI Bus Up to 16 KByte Burst Transfers on PCI Bus I2O Message Transport Unit Operations Registers User-Configurable Target Interfac (Supports Burst Mode) Local Processor Bus Interface Bus Master/Slave Interface Local Bus I2C SCL/SDA TM Allows Local Processor Provides Required FIFOs and Direct Access to PCI Bus Interrupt Status Registers PCI-DP AN3042_BD.vs Four First-In First-Out (FIFO) storage elements provide another resource to the user. These are accessible from either the PCI bus or the Local bus. When the I2O messaging unit functionality of the CY7C09449PV is to be used, the four FIFOs become part of the I2O messaging unit of the CY7C09449PV. The I2O messaging unit consists of the four FIFOs and the I2O system interrupt registers. The shared memory of the CY7C09449PV may be used to store I2O message frame buffers while most of shared memory is still available for generals purpose use. Efficient I2O messaging is realized when the local processor uses the CY7C09449PV direct access mechanism. It can be used to retrieve and post I2O message pointers to other I2O agents. Data transfer of the messages themselves is made very efficient using the CY7C09449PV PCI DMA controller to burst the message frames to other I2O agents. Interprocess communication is supported by two resources of the CY7C09449PV: the mailbox registers and the arbitration flags. By writing to the mailbox registers, a method is available for the local processor to pass data while causing an interrupt to the host, and vice versa. This is enabled by the interrupt mask located in the CY7C09449PV Operations Registers. The arbitration flags are four pairs of bits that can be used to manage resource allocation and sharing between software and system processes. The CY7C09449PV includes an interrupt controller. There are separate interrupt mask and command/status registers for the Document #: 38-06061 Rev. *A PCI bus and the Local bus. The interrupt sources are DMA completion, mailbox, FIFO not empty (also for I2O), FIFO overflow, PCI master abort, PCI target abort, and there is an external interrupt input pin. This interrupt controller is used to signal interrupts onto the PCI bus and the Local bus. The CY7C09449PV interrupt controller does not perform the interrupt controller function for the PCI bus system. Standard PC PCI systems include this function; embedded systems may need to implement this function. An I2C-compatible serial interface is provided to allow the use of a serial EEPROM for non-volatile storage of CY7C09449PV initialization parameters. The parameters are PCI configuration and local bus settings. The CY7C09449PV will optionally access the EEPROM after reset and download initialization information before responding to PCI or local bus transactions. A wide variety of available I2C-compatible serial components are available to the local and host processor when connected through this interface. The CY7C09449PV local bus is a flexible, configurable interface that is designed to readily connect to many industry standard microprocessors. In most cases, no external interface logic (“glue”) is needed. The following block diagram illustrates a generic application for the CY7C09449PV. Page 2 of 50 CY7C09449PV-AC PCI Add-In Card or PCI System Host Processor Power QUICC, 80x86, DSP, etc. 128K Bit Shared Memory Memory SRAM, DRAM, FLASH, etc. Processor Local Bus PCI System Bus CY7C09449PV Peripherals Mass Storage, ATM, Special, etc. 3042APP.VSD DB 6/02 Document #: 38-06061 Rev. *A Page 3 of 50 CY7C09449PV-AC Pin Configuration BE[0] BE[1] BE[2] BE[3] VDD8 VSS11 CLKIN VSS10 PCLKOUT2 PCLKOUT1 PCLKOUT0 RDY_OUT RDY_IN RDY_IN WRITE READ BLAST VSS9 DQ[31] DQ[30] DQ[29] VDD7 VSS8 DQ[28] DQ[27] DQ[26] DQ[25] DQ[24] DQ[23] DQ[22] DQ[21] VDD6 ADR[9] ADR[10] ADR[11] ADR[12] ADR[13] ADR[14] STROBE 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 VSS12 160-Lead TQFP (A160) for CY7C09449PV Top View VDD1 ADR[8] ADR[7] 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 VSS7 DQ[20] DQ[19] DQ[18] DQ[17] DQ[16] DQ[15] DQ[14] VDD5 VSS6 DQ[13] DQ[12] DQ[11] DQ[10] DQ[9] DQ[8] DQ[7] VDD4 VSS5 DQ[6] DQ[5] DQ[4] DQ[3] DQ[2] DQ[1] DQ[0] VDD3 VSS4 AD[0] AD[1] AD[2] AD[3] VDDP8 VSSP8 AD[4] AD[5] AD[6] AD[7] C/BE[0] VDDP7 VSSP3 C/BE[3] IDSEL AD[23] AD[22] NC1 AD[21] AD[20] AD[19] VSSP4 VDDP4 AD[18] AD[17] AD[16] C/BE[2] NC2 FRAME IRDY TRDY VSSP5 VDDP5 DEVSEL STOP PERR NC3 SERR PAR C/BE[1] AD[15] VSSP6 VDDP6 AD[14] AD[13] AD[12] AD[11] AD[10] AD[9] AD[8] NC4 VSSP7 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 ADR[6] ADR[5] ADR[4] ADR[3] ADR[2] VSS1 ALE IRQ_IN IRQ_OUT VSS2 VDD2 RSTOUTD RSTOUTD RSTOUT VSS3 SELECT SDA SCL TEST_MODE INTA RST CLK VSSP1 VDDP1 GNT REQ AD[31] AD[30] AD[29] VSSP2 VDDP2 AD[28] AD[27] AD[26] AD[25] AD[24] VDDP3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Document #: 38-06061 Rev. *A Page 4 of 50 CY7C09449PV-AC Pin Description The Pin Type for CY7C09449PV is defined as follows: in out Input is a standard input-only signal. Standard output driver. t/s s/t/s o/d Three-state is an output or bidirectional signal. Sustained Three-State is an active LOW, three-state capable signal driven by only one bus agent at a time. When ownership is passed to another agent, the signal is driven HIGH for one clock, and then three-stated for an additional clock before being driven by the new owner. Open Drain signals allow multiple devices to share the pin as a wired-OR. o/c Open Collector signals allow multiple devices to share the pin as a wired-OR. PCI Bus Signals Signal Name Type Description CLK in Clock: This is the PCI Bus clock and is the timing reference for all PCI bus transactions. The CY7C09449PV can operate with a 33-MHz PCI bus interface. RST in RESET: This signal is the PCI bus reset. It is one of the few PCI signals which may be asserted or deasserted asynchronously to the PCI bus clock (CLK). AD[31:0] t/s Address and Data: These signals represent the PCI bus address and data signals multiplexed on the same PCI pins. Information on these pins is identified as an address during the clock cycle in which the signal FRAME is first asserted. This is termed the “address phase” of a bus transaction. Information on these pins represents valid read or write data when both IRDY and TRDY are asserted, based on the current cycle type as defined on the C/BE lines during the address phase. This condition is termed the “data phase” of a bus transaction. C/BE[3:0] t/s Command and Byte Enables: These pins are used with the AD[31:0] pins. During the address phase of a bus operation, they identify the bus command to be performed. During the data phase of a bus operation they identify which bytes are involved. PAR t/s Parity: This PCI bus pin represents the even parity across the A/D[31:00] and C/BE[3:0] pins (36 pins) and is generated with a one clock delay. FRAME s/t/s Cycle Frame: This PCI bus pin is asserted by the current bus master to signify the beginning of a bus transaction. Data transfers may continue in burst mode while FRAME remains asserted. When FRAME is deasserted it indicates that the transaction is in the final data phase. IRDY s/t/s Initiator Ready: This signal is driven by the current bus master (initiator) and asserted to indicate its ability to complete the current data phase. Data is transferred when both IRDY and TRDY are asserted, otherwise wait cycles will occur. TRDY s/t/s Target Ready: This signal is driven by the selected bus target and asserted when that target is ready to complete the current data phase. Data is transferred when both IRDY and TRDY are asserted, otherwise wait cycles will occur. STOP s/t/s Stop: The STOP signal is driven by the selected bus target and is asserted when it wishes to cease the current data transaction. IDSEL in Initialization Device Select: This signal is used to gain access to the PCI configuration register space of a given PCI Bus agent. s/t/s Device Select: The DEVSEL signal is driven and asserted by the currently selected PCI bus target based on the current address and that target’s assigned address range. Bus masters examine this signal to determine whether the desired device is present. DEVSEL Document #: 38-06061 Rev. *A Page 5 of 50 CY7C09449PV-AC PCI Bus Signals (continued) Signal Name Type Description REQ t/s Request: This signal indicates to the bus arbiter that this device wishes to use the bus. It is a pointto-point signal that is driven whenever RST is not asserted. GNT t/s Grant: This point-to-point signal indicates that the bus has been granted to the requester. It is driven whenever RST is not asserted and is ignored during the assertion of RST. PERR s/t/s Parity Error: This signal indicates that a parity error has occurred. It is driven by the target or master that is the receiver of data at the clock after the PAR signal becomes valid. SERR o/d System Error: This open drain signal is driven by any device that detects odd parity during an address phase. INTA o/d Interrupt A: This signal is asserted when interrupt servicing of the CY7C09449PV device is required. The INTA pin is a shared PCI bus signal and utilizes an open-drain element to allow a wired-OR. Local Bus Interface Signals Signal Name Type Description ADR[14:2] in Address: These signals identify the local memory location. When the local processor outputs multiplexed address and data, those lines need to be tied to both the DQ[14:2] and ADR[14:2]. BE[3:0] in Byte Enables: The Byte Enable inputs identify the specific bytes involved in an access. The pins may be configured as byte lane enables, directly, or used as size and encoded byte lane enables when interfacing to certain Motorola processors; see the Local Bus section for definition. DQ[31:0] t/s Data: CY7C09449PV data input and output are provided on these bidirectional pins. This bus remains in high impedance during power-up and active Reset (RST) and only drives during read transactions. SELECT in Chip Select: This signal must be asserted for the full duration of any access. The polarity is programmable; the default is active LOW. ALE in Address Latch Enable: The local address provided on ADR[14:2] is latched on the trailing edge (from active to inactive) of this signal. The polarity is programmable; the default is active HIGH. STROBE in Address Strobe: The assertion of this signal begins a memory access and indicates that a valid address has been latched through ALE or is provided at the pins (if ALE is not used and is tied active). The address is provided on the ADR[14:2] pins (during non-multiplexed mode), or on the DQ[14:2] (during multiplexed mode). Outside the address phase, the level of STROBE is don’t care.The polarity is programmable; the default is active LOW. WRITE READ in Write and Read Signals: These signals control the transfer of data to and from the local data bus. WRITE and READ are sampled in the address phase and are don’t cares during the remainder of the bus transaction. The polarity and function of these signals is programmable so that they can be interfaced to processors that support WR/RD or RD/WR, as well as separate RD/RD and WR/WR signals. BLAST in Burst Last: The signal indicates the end of a burst transfer. This signal has two modes. It can be active during the burst and go inactive when the burst is over, or it can go active during the last data phase of the burst. The polarity is programmable; the default is active LOW. RDY_IN RDY_IN in Ready In: The assertion of these signals indicates that the local processor is prepared to complete the current data transaction. out or t/s Ready Out: When this signal is asserted it indicates that the CY7C09449PV is ready to complete the current access. The polarity is programmable; the default is active LOW. This signal is also programmable to three-state when inactive; the default is to three-state when inactive. RDY_OUT Document #: 38-06061 Rev. *A Page 6 of 50 CY7C09449PV-AC Local System Signals Signal Name PCLKOUT2 PCLKOUT1 PCLKOUT0 Type out CLKIN in Description Clock Outputs: These pins provide three buffered copies of the PCI bus clock. Clock In: This pin provides the timing reference for local bus signals. The CLKIN pin can be driven by an external clock. Also, one of the buffered copies of the PCI clock, PCLKOUT[2:0], may be used as input to CLKIN. This clock must be toggling for proper start-up operation of the CY7C09449PV as well as for PCI access to resources other than the dual-ported shared memory. RSTOUT out Reset Out: This pin provides a buffered version of the PCI bus signal, RST. RSTOUTD RSTOUTD out Reset Out Delayed: These pins are similar to the RSTOUT pin described above, however RSTOUTD and RSTOUTD remain asserted until released by the host interface via software control. This allows the CY7C09449PV to hold the local processor in reset until the host processor is ready to release it. IRQ_OUT t/s Interrupt Request Out: This signal may be used to trigger an interrupt on the local microprocessor. A variety of host-triggered events can be used to cause the assertion of this interrupt request output. This signal may be masked using the Local Interrupt Control/Status Register. When in the inactive state, this signal is three-stated. The polarity is programmable; the default is active LOW. IRQ_IN in Interrupt Request In: This signal, when asserted, will result in the CY7C09449PV driving the PCI bus INTA signal and therefore cause an interrupt of the host system. This signal may be masked using the Host Interrupt Control/Status Register. TEST_MODE in Test Mode: When HIGH, this pin puts the CY7C09449PV into a factory test mode. When HIGH and READ is LOW, all outputs are set to high impedance except RDY_OUT will continue to drive if Operations Register LBUSCFG bit 16 is ‘0’. This is the only test mode available to the user. The user must drive this signal LOW if unused. Local Configuration Signals Signal Name Type Description SCL o/c Serial Clock: This pin is the clock output to be used with an external I2C-compatible serial memory device. A pull-up resistor is required. SDA o/c Serial Data: This pin is the bidirectional data pin to be used with an external I2C-compatible serial memory device. A pull-up resistor is required. Power Pins Signal Name Type VSSP1–VSSP8, VSS1–VSS12 GND VDDP1–VDDP8, VDD1–VDD8 POWER Description Ground: These pins are ground pins (0 volts). Power: These pins provide power, nominally 3.3 volts. Other Pins Signal Name NC1–NC4 Type NC Description No Connect: These pins are not to be used; leave unconnected. Signal Terminations PCI Bus signals should be terminated according to the PCI 2.2 specification. Generally, termination is provided by the PCI system. If the CY7C09449PC is used as a PCI add-in card or other device as part of a PCI bus, no termination should be used. For embedded systems, then terminations are part of the system design; they are not particular to the CY7C09449PV. Any PCI system must include a single pull-up on each PCI bus control signal used. These signals are FRAME, TRDY, IRDY, DEVSEL, STOP, SERR, PERR, LOCK, INTA, INTB, INTC, INTD, REQ64, and ACK64. Refer to Sec- Document #: 38-06061 Rev. *A tion 4.3, System (Motherboard) Specification, of the PCI 2.2 specification for detailed requirements. All Local System and Local Bus Interface input signals must be driven at all times. If they are unused inputs, then they may be driven either HIGH or LOW (pull-up or pull-down, VDD or Ground). SCL and SDA must have a pull-up in the range of 2.2 kΩ to 10 kΩ to VDD. These pull-ups are required whether the signals are to be used or not. Page 7 of 50 CY7C09449PV-AC Pin List Pin Name No. Pin Name No. Pin Name No. Pin Name No. VDD1 1 VSSP3 41 VDDP7 81 VDD6 121 ADR[8] 2 C/BE[3] 42 C/BE[0] 82 DQ[21] 122 ADR[7] 3 IDSEL 43 AD[7] 83 DQ[22] 123 ADR[6] 4 AD[23] 44 AD[6] 84 DQ[23] 124 ADR[5] 5 AD[22] 45 AD[5] 85 DQ[24] 125 ADR[4] 6 NC1 46 AD[4] 86 DQ[25] 126 ADR[3] 7 AD[21] 47 VSSP8 87 DQ[26] 127 ADR[2] 8 AD[20] 48 VDDP8 88 DQ[27] 128 VSS1 9 AD[19] 49 AD[3] 89 DQ[28] 129 ALE 10 VSSP4 50 AD[2] 90 VSS8 130 IRQ_IN 11 VDDP4 51 AD[1] 91 VDD7 131 IRQ_OUT 12 AD[18] 52 AD[0] 92 DQ[29] 132 VSS2 13 AD[17] 53 VSS4 93 DQ[30] 133 VDD2 14 AD[16] 54 VDD3 94 DQ[31] 134 RSTOUTD 15 C/BE[2] 55 DQ[0] 95 VSS9 135 RSTOUTD 16 NC2 56 DQ[1] 96 BLAST 136 RSTOUT 17 FRAME 57 DQ[2] 97 READ 137 VSS3 18 IRDY 58 DQ[3] 98 WRITE 138 SELECT 19 TRDY 59 DQ[4] 99 RDY_IN 139 SDA 20 VSSP5 60 DQ[5] 100 RDY_IN 140 SCL 21 VDDP5 61 DQ[6] 101 RDY_OUT 141 TEST_MODE 22 DEVSEL 62 VSS5 102 PCLKOUT0 142 INTA 23 STOP 63 VDD4 103 PCLKOUT1 143 RST 24 PERR 64 DQ[7] 104 PCLKOUT2 144 CLK 25 NC3 65 DQ[8] 105 VSS10 145 VSSP1 26 SERR 66 DQ[9] 106 CLKIN 146 VDDP1 27 PAR 67 DQ[10] 107 VSS11 147 GNT 28 C/BE[1] 68 DQ[11] 108 VDD8 148 REQ 29 AD[15] 69 DQ[12] 109 BE[3] 149 AD[31] 30 VSSP6 70 DQ[13] 110 BE[2] 150 AD[30] 31 VDDP6 71 VSS6 111 BE[1] 151 AD[29] 32 AD[14] 72 VDD5 112 BE[0] 152 VSSP2 33 AD[13] 73 DQ[14] 113 STROBE 153 VDDP2 34 AD[12] 74 DQ[15] 114 ADR[14] 154 AD[28] 35 AD[11] 75 DQ[16] 115 ADR[13] 155 AD[27] 36 AD[10] 76 DQ[17] 116 ADR[12] 156 AD[26] 37 AD[9] 77 DQ[18] 117 ADR[11] 157 AD[25] 38 AD[8] 78 DQ[19] 118 ADR[10] 158 AD[24] 39 NC4 79 DQ[20] 119 ADR[9] 159 VDDP3 40 VSSP7 80 VSS7 120 VSS12 160 Document #: 38-06061 Rev. *A Page 8 of 50 CY7C09449PV-AC Memory Map CY7C09449PV resources are accessed from the PCI bus as an offset from Base Address Register 0 (BAR 0), unless otherwise indicated. Resources are also accessed from the Local bus when the SELECT pin is active. PCI I/O access to this memory map is also available via PCI I/O pointers located at Base Address Register 1 (BAR 1). The memory map covers a continuous 32KB address space. PCI Bus The PCI bus of the CY7C09449PV operates per the PCI Specification revision 2.2. This section describes the specific PCI functions supported by the CY7C09449PV. Reference URL: http://www.pcisig.com/ Address [14:0], Byte Offset Memory Contents Size I2O Specific Registers 0x0000 - 0x03FF 1 KB Operations Registers 0x0400 - 0x07FF 1 KB reserved 0x0800 - 0x1FFF 6 KB Direct Access to PCI Bus (this is a window into PCI space; this window is only available to the Local bus) 0x2000 - 0x3FFF 8 KB Shared Memory 0x4000 - 0x7FFF 16 KB PCI Configuration Space PCI Configuration Space 31 16 15 0 Address, Byte Offset Device ID, RO Vendor ID, RO 0x00 Status, CS Command, CS 0x04 Class Code, RO BIST (not used) 0x00 24 23 Header Type 0x00 Latency Timer, RW 8 Revision ID, RO 0x08 7Cache Line Size, RW 0x0C Base Address Register #0 -- 32KBytes Memory Space, RW 0x10 Base Address Register #1 -- 8 Bytes I/O Space, RW 0x14 Base Address Register #2 (not used) 0x0000 0x18 Base Address Register #3 (not used) 0x0000 0x1C Base Address Register #4 (not used) 0x0000 0x20 Base Address Register #5 (not used) 0x0000 0x24 Cardbus CIS Pointer, RO 0x28 Subsystem Device ID, RO Subsystem Vendor ID, RO Expansion ROM Base Address (not used) 0x0000 0x2C 0x30 Reserved 0x0000 0x34 Reserved 0x0000 0x38 MAX_LAT, RO MIN_GNT, RO Interrupt Pin, RO Interrupt Line, RW 0x3C Legend for PCI Configuration Space Table 0x00 or 0x0000 Hardwired to zero RO Read-only: may be initialized by EEPROM across I2C-compatible serial interface CS Control and status register RW Read/write Document #: 38-06061 Rev. *A Page 9 of 50 CY7C09449PV-AC Vendor ID Address: 0x01 - 0x00 Default Value: 0x12BE Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface This 2-byte register contains the Vendor ID assigned by the PCI SIG. The default value is the Cypress Semiconductor Vendor ID. Using the I2C-compatible serial interface for initialization provides a method to allow a manufacturer to load their own vendor ID. Device ID Address: 0x03 - 0x02 Default Value: 0x3042 Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface This 2-byte register contains the device ID assigned by the manufacturer. The default value is the CY7C09449PV chip device ID. Using the I2C-compatible serial interface for initialization provides a method to allow a manufacturer to load their own device ID. Command Address: 0x05 - 0x04 Default Value: 0x0000 Read/Write This 2-byte register contains bits for device control. These bits are normally set by the system BIOS. The following bits are supported: Bit 0: Enable response to I/O space accesses. Bit 1: Enable response to Memory space accesses. Bits 10 and 9: Read-only bits set to 0x1 indicating medium response timing for DEVSEL. Bit 12: Set when, as a master, the chip’s transaction has been terminated with Target-Abort. Bit 13: Set when, as a master, the chip terminates a transaction with Master-Abort. Bit 14: Set when SERR is asserted. Bit 15: Set whenever a parity error is detected. Revision ID Address: 0x08 Default Value: 0x02 Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface. This 1-byte register contains the Revision ID assigned by the manufacturer. The default value is set by Cypress Semiconductor at manufacturing time. Using the I2C-compatible serial interface for initialization provides a method to allow a manufacturer to load their own Revision ID. Class Code Address: 0x0B - 0x09 Default Value: 0x0E0001 Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface. This 3-byte register contains the class code assigned by the manufacturer. The default value indicates an I2O base class (0x0E), a sub-class of 0x00, and the programming interface that supports system interrupt capability (0x01). Using the I2Ccompatible serial interface for initialization provides a method to allow a manufacturer to load their own class code. Bit 2: Enable PCI bus master operation (may be initialized over the I2C-compatible serial interface). Cache Line Size Bit 3: Enable special cycle monitoring, (but CY7C09449PV performs no special function as a target). Default Value: 0x00 Bit 4: Enable bus master use of the Memory Write and Invalidate command. This register contains the cache line size in DWORDs. The only valid size is 0x08; any other value written will result in a 0x00 being written to the register. The value in this register is used to control when the master can perform Memory Write and Invalidate cycles. Additionally, the type of memory read command is determined by this value; (i.e., Memory Read, Memory Read Line, or Memory Read Multiple). Bit 6: Enable the PERR signal for host notification of data parity errors. Bit 8: Enable the SERR signal for host notification of system errors. Bit 9: Enable fast back-to-back transactions to different agents (but CY7C09449PV does not generate). Address: 0x0C Read/Write Latency Timer Status Address: 0x0D Address: 0x07 - 0x06 Default Value: 0x00 Default Value: 0x0280 Read/Write Read-only and Write-1-to-Clear except as indicated. This register controls how quickly the master must get off the bus if GNT is removed. The CY7C09449PV implements bits [7:3] of this register, providing a granularity of eight clocks. This 2-byte register contains bits for device status. The following bits are supported: Bit 7: Read-only bit set to indicate, as a target, the chip can accept fast back-to-back transactions. Base Address Register 0 (Memory Type Access) Bit 8: Set when PERR is asserted. Default Value: 0x00000000 Address: 0x13 - 0x10 Read all 32 bits, Write bits [31–15] Document #: 38-06061 Rev. *A Page 10 of 50 CY7C09449PV-AC This register provides the base address of the CY7C09449PV memory map. Bits [31–15] are read/write, indicating to the system BIOS that the shared memory space is 32 K bytes. If a PCI memory transaction has address bits [31–15] matching the contents of this register and memory accesses are enabled (by Command register bit 1), then the CY7C09449PV chip will acknowledge and accept the transfer. Base Address Register 1 (I/O Type Access) Address: 0x17 - 0x14 Default Value: 0x00000001 Read all 32 bits, Write bits [31–3] This register provides the base address of the CY7C09449PV I/O pointer space. Bits [31–3] are read/write, indicating to the system BIOS that the I/O pointer space is 8 bytes. If a PCI I/O transaction has address bits [31–3] matching the contents of this and I/O accesses are enabled (by Command register bit 0), then the CY7C09449PV will acknowledge and accept the transfer. Interrupt Pin Address: 0x3D Default Value: 0x00 Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface. This single-byte register contains the interrupt pin information. The default value indicates that the CY7C09449PV chip is not connected to the interrupts on the PCI bus. Using the I2Ccompatible serial interface for initialization provides a method to allow a manufacturer to specify which interrupt pin is on the bus. Only bits [2–0] are implemented. All four Interrupt numbers are supported, (INTA through INTD). MIN_GNT Address: 0x3E Default Value: 0x00 Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface. This register contains the Cardbus Card Information Structure (CIS). Using the I2C-compatible serial interface for initialization provides a method to allow a manufacturer to load their own CIS pointer value. This single-byte register contains the minimum grant time in 1/ 4 microsecond increments needed for efficient operation. The default value indicates the add-in card has no major requirements for the setting of the latency timer. The latency timer governs how long a burst transaction may use the PCI bus. Whatever the value, the CY7C09449PV itself does not use the MIN_GNT data. It is used as a means to communicate system requirements to the host. Using the I2C-compatible serial interface for initialization provides a method to allow a manufacturer to load their own minimum grant time reflective of their add-in card requirements. Subsystem Vendor ID MAX_LAT Address: 0x2D - 0x2C Address: 0x3F Default Value: 0x0000 Default Value: 0x00 Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface. Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface. This 2-byte register contains the subsystem vendor ID chosen by the manufacturer. Using the I2C-compatible serial interface for initialization provides a method to allow a manufacturer to load their own subsystem vendor ID. This single-byte register contains the minimum latency time in 1/4 microsecond increments needed for efficient operation. The default value indicates the add-in card has no major requirements for how soon it needs access to the PCI bus once it has requested an access. Whatever the value, the CY7C09449PV itself does not use MAX_LAT data. It is used as a means to communicate system requirements to the host. Using the I2C-compatible serial interface for initialization provides a method to allow a manufacturer to load their own minimum latency time reflective of their add-in card requirements. Cardbus CIS Pointer Address - 0x2B - 0x28 Default Value: 0x00000000 Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface. Subsystem Device ID Address: 0x2F - 0x2E Default Value: 0x0000 Read-only: Can be initialized from the external memory accessed via the I2C-compatible serial interface. This 2-byte register contains the subsystem device ID chosen by the manufacturer. Using the I2C-compatible serial interface for initialization provides a method to allow a manufacturer to load their own subsystem device ID. Interrupt Line Address: 0x3C Default Value: 0x00 Read/Write This single-byte register contains the interrupt line routing. PCI Bus Commands All Memory and I/O commands are supported as target and master. • I/O Read C/BE[3:0] = 0x2 • I/O Write C/BE[3:0] = 0x3 • Memory Read C/BE[3:0] = 0x6 • Memory Write C/BE[3:0] = 0x7 • Memory Read Multiple C/BE[3:0] = 0xC • Memory Read Line C/BE[3:0] = 0xE • Memory Write and Invalidate C/BE[3:0] = 0xF All Configuration commands are supported as target and master. Additionally, the CY7C09449PV can perform these ac- Document #: 38-06061 Rev. *A Page 11 of 50 CY7C09449PV-AC cesses on its own PCI Configuration space. Control originates from the Local bus using the CY7C09449PV Direct Access feature. This is a necessary feature for the CY7C09449PV to perform as a Host Bridge device. Type 0 and Type 1 PCI configuration commands may be generated by the CY7C09449PV. For details, see the Direct Access and Host Bridge descriptions in the CY7C09449PV Operations section. • Configuration Read C/BE[3:0] = 0xA • Configuration Write C/BE[3:0] = 0xB Interrupt Acknowledge and Special Cycle are supported on master cycles. As a target, no action is performed by the CY7C09449PV. • Interrupt AcknowledgeC/BE[3:0] = 0x0 • Special Cycle C/BE[3:0] = 0x1 The following command is not supported, a target access will result in no response by the CY7C09449PV as per the PCI specification. • Dual-Address Cycle C/BE[3:0] = 0xD The following commands are PCI Reserved and are not responded to as per PCI specification. • Reserved C/BE[3:0] = 0x4 • Reserved C/BE[3:0] = 0x5 • Reserved C/BE[3:0] = 0x8 • Reserved C/BE[3:0] = 0x9 PCI I/O Pointers Utilization of PCI I/O access is not generally recommended by the PCI special interest group. New system designs should use the PCI Memory access rather than PCI I/O access. In general, this is provided as a support to legacy systems. The CY7C09449PV Base Address Register 1 (BAR1) is the offset reference for PCI I/O access to this device. I/O Address Pointer Address: 0x1 - 0x0 Default Value: unknown, not initialized Write-only The value written to this location is the offset into the CY7C09449PV Memory Map. Bit 15 is “don't care.” I/O Data Pointer Address: 0x7 - 0x4 Default Value: unknown, not initialized Read/Write Upon a write to the pointer, the data shall be written to the location in the CY7C09449PV Memory Map specified by the contents of the I/O address pointer. If an I/O read access to the pointer, then the data at the location in the CY7C09449PV Memory Map which is specified by the contents of the I/O address pointer shall be returned. Local Bus General Description The CY7C09449PV provides a configurable local processor bus interface which can provide direct connection to several processor types. The interface is synchronous to the CLKIN signal. The CLKIN signal can be tied to the local processor's Document #: 38-06061 Rev. *A clock, a derivative, or an independent clock source. To run the local interface at PCI clock speeds, any one of the PCLKOUT[2:0] pins should be connected to CLKIN. The basic local processor bus transaction consists of an address phase, followed by one or more data phases. The interface signals are generally divided into those signals that qualify the address phase (ALE, STROBE, SELECT, READ, WRITE, and ADR[14:2]), and those that qualify data phases, (RDY_IN, RDY_IN, BLAST, BE[3:0], and DQ[31:0]). The CY7C09449PV drives RDY_OUT to signal the need for wait states on the local processor bus as well as an indication of valid data on DQ[31:0] during read access of the CY7C09449PV. Note that several of the CY7C09449PV local bus signals have configurable polarity. These are: ALE, BLAST, RDY_OUT, and STROBE. Also, the READ and WRITE signals have special combined signal modes. The basic local-bus cycle starts with the address phase. The address phase is defined as both STROBE and SELECT active at the rising edge of CLKIN. Also sampled at this time are the READ and WRITE signals to determine if the access is a read or write. If the access is a read, then the CY7C09449PV will begin driving the DQ bus at the next CLKIN rising edge. There are two ways to get an address into the CY7C09449PV. With ALE tied active, the address is latched during the address phase. That is, when STROBE and SELECT are active, the address on the ADR[14:2] pins is latched on the rising edge of CLKIN. The second way is to use the trailing edge of ALE to latch the address. The CY7C09449PV still needs a valid address phase (STROBE and SELECT active at the rising edge of CLKIN) before it will begin processing the address. A valid and stable address must occur before the trailing edge of ALE and before the rising edge of CLKIN where STROBE and SELECT are active. After the address phase come wait states and data phases. The STROBE signal can be active or inactive during wait and data phases. A data phase occurs when the RDY_IN and RDY_IN inputs and the RDY_OUT output are all active at the rising edge of CLKIN. If any ready signal is inactive, then the next clock cycle is a wait state. The BE[3:0] pins are sampled during the data phase of write cycles to determine which data bytes are to be written. The data on the DQ pins is also latched at this time. The BLAST signal is sampled during the data phase to determine if the last data phase is occurring. In one mode, an inactive level during the data phase indicates that there are more data phases in the transaction and that the address that was captured in the address phase should be updated. When BLAST is active during the data phase, it indicates that this is the last data phase of the transaction. In the other mode, BLAST is active during every data phase and goes inactive at the end of the last data phase. In both cases, if the access is a read, then the CY7C09449PV will stop driving the DQ bus synchronously with the rising edge of CLKIN for that data phase. Interface Definitions 8-Bit Interface The 8-bit interface option is selected by setting bits BW[1:0] = '00' in the Local Bus Configuration Register. Only data lines DQ[7:0] are used. The unused portion of the data bus, DQ[31:8] must be tied HIGH or LOW; the bits cannot be left Page 12 of 50 CY7C09449PV-AC floating. The least two significant bits of the local address bus should be connected to the byte enable pins BE[3:2]. BE[0] should be tied to RDY_IN which is connected normally. Connect • BE[3] = A1 • BE[2] = A0 • BE[1] = Logic HIGH • BE[0] = Tie to RDY_IN BW[1:0] BEMODE A1, A0 (BE[3], BE[2]) DQ [7:0] Accessed Data Connect • BE[3] = A1 • BE[2] = Not used, should be tied HIGH • BE[1] = BE1, UDS, BHE (Byte Enable 1, Upper Data Strobe, Byte High Enable) • BE[0] = BE0, LDS, DEN (Byte Enable 0, Lower Data Strobe, Data Enable, A0) BW[1:0 ] BEMODE A1 (BE[3 ]) DQ [15:0] Bus Accessed Data 01 0 0 CY7C09449PV Data[15:0] 01 0 1 CY7C09449PV Data[31:16] 00 X 00 Data[7:0] 00 X 01 Data[15:8] Notes: 00 X 10 Data[23:16] 00 X 11 Data[31:24] BE[1:0] are used as byte enables. If the processor always does 16-bit accesses, then these can be tied active LOW. These byte enables can also be used for Upper Data Strobe (UDS) and Lower Data Strobe (LDS) for processors which produce these signals. 16-Bit Interface The 16-bit interface option is selected by setting bits BW[1:0] = '01' in the Local Bus Configuration Register. Only data lines DQ[15:0] are used. The unused portion of the data bus, DQ[31:16] must be tied HIGH or LOW; the bits cannot be left floating. There are two basic modes for 16-bit operation. One is for Motorola-style encoded byte enables and the other is for direct byte enables. This is configured with the Byte Enable mode bit, BEMODE. There is an exception to the data bus wiring for Motorola-style buses if a 32-bit processor bus is configured to only use 16 data bits. The upper 16 bits of the processor bus are connected rather than the lower 16 bits. See the description for BEMODE='1' below. BEMODE = '0' is for operation of other than Motorola-style byte enables. The table below shows where data on the 16-bit bus is routed within the CY7C09449PV internal data structures. Document #: 38-06061 Rev. *A The least significant bit of the local address bus is tied to BE[3], and it must be valid during the address phase. This input must be incremented (toggled) at the end of each data phase. Bursts to the 16-bit interface do not need to start on a DWORD boundary. The internal DWORD address will automatically increment after a data phase where BE[3] is HIGH. BEMODE = '1' is for operation of Motorola-style byte enables. The tables below show where data on the 16-bit bus is placed in the CY7C09449PV internal data structures. For the case where a 32-bit Motorola processor bus is to be configured for 16-bit bus operation, then connect the processor D[31:16] to CY7C09449PV DQ[15:0]. For instance, the Motorola 68360 processor may be operated in this mode. The tables show this mode of operation. Page 13 of 50 CY7C09449PV-AC Connect for encoded byte enables • BE[3] = SIZ1 (Operand Transfer Size, bit 1) • BE[2] = SIZ0 (Operand Transfer Size, bit 0) • BE[1] = A1 • BE[0] = A0 BW[1:0] BEMODE Interpretation 01 1 Use the following table CY7C09449PV Internal BE[3:0] Interpretation -- 'byte' terminology here uses byte 3 as least significant byte of the processor's internal 32-bit data structure; the signals show pins on the processor. 0000 all-byte write starting at byte 0 (D[31:16]) (truncated to two bytes) 0011 CY7C09449PV External BE[3:0] for writes 0001 all-byte write starting at byte 1 (D[23:16]) (truncated to one byte) 1011 0010 all-byte write starting at byte 2 (D[31:16]) (truncated to two bytes) 1100 0011 all-byte write starting at byte 3 (D[23:16]) (truncated to one byte) 1110 0100 single-byte write starting at byte 0 (D[31:24]) 0111 0101 single-byte write starting at byte 1 (D[23:16]) 1011 0110 single-byte write starting at byte 2 (D[31:24]) 1101 0111 single-byte write starting at byte 3 (D[23:16]) 1110 1000 two-byte write starting at byte 0 (D[31:16]) 0011 1001 two-byte write starting at byte 1 (D[23:16]) (truncated to one byte) 1011 1010 two-byte write starting at byte 2 (D[31:16]) 1100 1011 two-byte write starting at byte 3 (D[23:16]) (truncated to one byte) 1110 1100 three-byte write starting at byte 0 (D[31:16]) (truncated to two bytes) 0011 1101 three-byte write starting at byte 1 (D[23:16]) (truncated to one byte) 1110 three-byte write starting at byte 2 (D[31:16]) (truncated to two bytes) 1100 1111 three-byte write starting at byte 3 (D[31:24]) (truncated to one byte) three-byte read starting at byte 3 (D[23:16]) (truncated to one byte) Document #: 38-06061 Rev. *A 1011 1110 Page 14 of 50 CY7C09449PV-AC 32-Bit Interface The 32-bit interface option is selected by setting bits BW[1:0] = ’10’ or BW[1:0] = ’11’ in the Local Bus Configuration Register. Data lines DQ[31:0] are used. With BW[1:0] = ’10’, the byte enables are used directly as byte write enables. With BW[1:0] = ’11’, however, the meaning of the byte enables is determined from the following tables (based on BEMODE). For 32-bit processor bus interfaces like the Motorola 68020 or 68030, BW = ’11’ and BEMODE = ’0’ settings are used. This supports a special style of using byte addressing instead of fully decoded byte enables. The SIZ1 and SIZ0 signals of the 68020 are connected to the BE[3] and BE[2] pins, respectively, and the A1 and A0 signals are connected to the BE[1] and BE[0] pins on the CY7C09449PV. Connect for encoded byte enables • BE[3] = SIZ1 (Operand Transfer Size, bit 1) • BE[2] = SIZ0 (Operand Transfer Size, bit 0) • BE[1] = A1 • BE[0] = A0 BW[1:0] BEMODE Interpretation 10 X Use byte enables for all 4 byte lanes 11 0 Use the following table Interpretation -- 'byte' terminology here uses byte 3 as least significant byte of the processor's internal 32-bit data structure; the signals show pins on the processor CY7C09449PV Internal BE[3:0] for writes 0000 all-byte write starting at byte 0 (D[31:0]) 0000 0001 all-byte write starting at byte 1 (D[23:0]) (truncated to three bytes) 1000 0010 all-byte write starting at byte 2 (D[15:0]) (truncated to two bytes) 1100 0011 all-byte write starting at byte 3 (D[7:0]) (truncated to one byte) 1110 0100 single-byte write starting at byte 0 (D[31:24]) 0111 0101 single-byte write starting at byte 1 (D[23:16]) 1011 0110 single-byte write starting at byte 2 (D[15:8]) 1101 0111 single-byte write starting at byte 3 (D[7:0]) 1110 1000 two-byte write starting at byte 0 (D[31:16]) 0011 1001 two-byte write starting at byte 1 (D[23:8]) 1001 1010 two-byte write starting at byte 2 (D[15:0]) 1100 1011 two-byte write starting at byte 3 (D[7:0]) (truncated to one byte) 1110 1100 three-byte write starting at byte 0 (D[31:8]) 0001 1101 three-byte write starting at byte 1 (D[23:0]) 1000 1110 three-byte write starting at byte 2 (D[15:0]) (truncated to two bytes) 1100 1111 three-byte write starting at byte 3 (D[7:0]) (truncated to one byte) 1110 CY7C09449PV External BE[3:0] For 32-bit processor bus interfaces like the Motorola 68040, BW = '11' and BEMODE = '1' settings are used. This supports a special style of using byte addressing instead of fully decoded byte enables. The SIZ1 and SIZ0 signals of the 68040 are connected to the BE[3] and BE[2] pins, respectively, and the A1 and A0 signals are connected to the BE[1] and BE[0] pins on the CY7C09449PV. A cache-line fill is triggered using the SIZ1 and SIZ0 pins on the 68040-type bus. When these bits Document #: 38-06061 Rev. *A are set to '11', the CY7C09449PV will interpret this as a burstof-four, ignoring the burst last signal BLAST. BW[1:0] BEMODE Interpretation 11 1 Use the following table Page 15 of 50 CY7C09449PV-AC CY7C09449PV External BE[3:0] Interpretation -- the signals show pins on the processor CY7C09449PV Internal BE[3:0] for writes 00xx 32-bit write D[31:0] 0000 0100 8-bit write D[31:24] 0111 0101 8-bit write D[23:16] 1011 0110 8-bit write D[15:8] 1101 0111 8-bit write D[7:0] 1110 100x 16-bit write D[31:16] 0011 101x 16-bit write D[15:0] 1100 burst of four 32-bit writes, BLAST not used 0000 11xx [1] Timing Diagrams Write Cycle A basic write cycle is illustrated below. It includes a burst of three data phases on a 32-bit wide bus. A = Address Phase D = Data Phase W = Wait State BASIC WRITE CYCLE (Burst of Three) RWMODE = ’00’, ASMODE = ’00’, BW = ’10’, DDOUT = ’0’ A W1 W2 W3 D1 W D2 W W D2 D3 CLKIN ALE STROBE SELECT# READ# WRITE# (not used) RDY_IN# RDY_IN RDY_OUT# BLAST ADR[14:2] Valid BE#[3:0] Valid Valid Valid DQ[31:0] Valid Valid Valid BOLD indicates output from PCI-DP WAV1A.VSD 9/11/9 Note: 1. This encoding, {BW[1:0], BEMODE, BE[3:2]} = {’11111’}, results in a burst of four DWORD. BLAST should remain active. Document #: 38-06061 Rev. *A Page 16 of 50 CY7C09449PV-AC Read Cycle driving of the data bus DQ. A basic read burst of four data phases on a 32-bit wide bus is illustrated. The basic read cycle differs from the write cycle only in the level of the READ and WRITE signals, and the timing and A = Address Phase D = Data Phase W = Wait State BASIC READ CYCLE (Burst of Four) RWMODE=’00’, ASMODE=’00’, BW=’10’, DDOUT = ’0’ A W1 W2 D1 D2 W D3 W D4 CLKIN ALE STROBE SELECT# READ# WRITE# (not used) RDY_IN# RDY_IN RDY_OUT# BLAST# ADR[14:2] Valid BE#[3:0] DQ[31:0] Document #: 38-06061 Rev. *A Valid Valid Valid Valid Valid Valid Valid Valid Page 17 of 50 CY7C09449PV-AC Basic 8-bit Interface The following two waveforms illustrate the operation of the 8bit interface mode. Note that only data lines DQ[7:0] are used. DQ[31:8] are unused and must be tied high or low; they cannot be left floating. The least significant bits of the local address, A[1] and A[0], must be connected to the byte enable pins BE[3] and BE[2], respectively. These must be valid during the address phase. In burst operation, BE#[3:2] are inputs used at A1 and A0 of the local address bus. Bursts to the 8-bit interface do not need to start on a DWORD boundary. The internal DWORD address will automatically increment after a data phase where BE[3:2] equals ’11’, (A[1:0] = ’11’). The first waveform illustrates single cycle operation and the second illustrates data burst operation. ASMODE= ’00’, RWMODE= ’00’, BW =’ 00’, DDOUT = ’0 Single Data Write Single Data Read CLKIN ~ STROBE ~ SELECT# ~ READ# ~ ~ WRITE# (not used) ~ ~ RDY_IN# RDY_IN ~ ~ RDY_OUT# BLAST# ADR[14:2] Valid ~ Valid BE#[3:2] Valid ~ Valid ~ BE#[1] (high) (not used) ~ BE#[0] DQ[7:0] Document #: 38-06061 Rev. *A DATA OUT ~ DATA IN } BOLD indicates output from PCI-DP PCI-DP drives DQ bus here WAV6A.VSD 9/11/9 Page 18 of 50 CY7C09449PV-AC ASMODE = ’00’, RWMODE = ’00’, BW = ’00’, DDOUT = ’0’ CLKIN STROBE SELECT# READ# WRITE# (not used) RDY_IN# RDY_IN RDY_OUT# BLAST# ADR[14:2] BE#[3:2] Valid 00 Valid 01 10 11 00 BE#[1] (high) BE#[0] (not used) DQ[7:0] BOLD indicates output from PCI-DP Data1 Data2 Data3 Data4 PCI-DP drives DQ bus here Basic 16-bit Interface The following two waveforms illustrate the operation of the 16bit interface mode. Note that only data lines DQ[15:0] are used. DQ[31:16] are unused and must be tied HIGH or LOW; they cannot be left floating. The least significant bit of the local address of the 16-bit bus, A[1], must be connected to the byte enable pin BE[3]. It must be valid during the address phase. Note that BE[1:0] are used as byte enables. If the processor always does 16-bit accesses, then these can be tied active LOW. These byte enables can also be used for Upper Data Document #: 38-06061 Rev. *A Internal DWORD address incremented her WAV6B.VSD 9/11/98 Strobe (UDS) and Lower Data Strobe (LDS) for processors which produce these signals. In burst operation, BE[3] must be incremented (toggled) at the end of each data phase. Bursts to the 16-bit interface do not need to start on a DWORD boundary. The internal DWORD address will automatically increment after a data phase where BE[3] equals ’1’, (A[1] = ’1’). The first waveform illustrates single cycle operation and the second illustrates data burst operation. Page 19 of 50 CY7C09449PV-AC ASMODE = ‘00’, RWMODE = ‘00’,=BW = ‘01’, ‘0’ ASMODE = ’00’, RWMODE ’00’, BWDDOUT = ’00’,=DDOUT = ’0’ Single Data Read Single Data Write CLKIN ~ STROBE ~ ~ ~ SELECT# READ# ~ WRITE# (not used) ~ ~ RDY_IN# RDY_IN RDY_OUT# ~ BLAST# ~ ADR[14:2] BE#[3] ~ ~ Valid Valid ~ BE#[1:0] Document #: 38-06061 Rev. *A DATA OUT } BOLD indicates output from PCI-DP Valid ~ BE#[2] (not used) DQ[15:0] Valid PCI-DP drives DQ bus here ~ DATA IN WAV7A.VSD 9/11/9 Page 20 of 50 CY7C09449PV-AC ASMODE = ’00’, RWMODE = ’00’, BW = ’01’, DDOUT = ’0’ CLKIN STROBE SELECT# READ# W RITE# (not used) RDY_IN# RDY_IN RDY_OUT# BLAST# ADR[14:2] Valid BE#[3] Valid 0 1 0 1 BE#[2] (not used) BE#[1:0] Data0 Data1 DQ[15:0] BOLD indicates output from PCI-DP Data2 Data3 PCI-DP drives DQ bus here ALE—Address Latch Enable The ALE signal may be used in two modes. With ALE tied active, the address is latched during the address phase. That is, when the STROBE and SELECT signals are active, the address on the ADR[14:2] pins is latched on the rising edge of CLKIN. The second way is to use the trailing edge of ALE to latch the address. The CY7C09449PV still needs a valid ad- WAV7B.VSD 9/11/98 dress phase (STROBE and SELECT active at the rising edge of CLKIN) before it will begin processing the address. A valid and stable address must occur before the trailing edge of ALE and before the rising edge of CLKIN where STROBE and SELECT are active. The active polarity of ALE is defined in the Operations Registers: ALE_POL of the Local Bus Configuration Register. Cycle Start Cycle Start CLKIN ALE STROBE SELECT# ADR[14:2] Valid Valid Address set-up time with respect to rising edge of CLKIN Address set-up time with respect to falling edge of ALE Document #: 38-06061 Rev. *A ALE.VSD 9/11/9 Page 21 of 50 CY7C09449PV-AC RDY_OUT_OE—Ready Out Three-state Mode DDOUT—Delayed Data Out The RDY_OUT signal may be configured to drive at all times or to three-state when inactive. The three-state mode is a sustained deasserted function. In three-state mode, when RDY_OUT is to go inactive, RDY_OUT is driven to the deasserted level for one clock, and then three-stated. It remains three-stated until RDY_OUT is to be asserted. The logic polarity of RDY_OUT is programmable. The mode (RDY_OUT_OE) and polarity (RDYOUT_POL) controls are set in the Local Bus Configuration Register, LBUSCFG, of the Operations Registers. The delayed data out control defines when the CY7C09449PV drives the DQ bus during a local bus read. The control is defined in the Operations Registers: DDOUT of the Local Bus Configuration Register. When DDOUT = ’0’, the CY7C09449PV will drive the DQ bus during a read starting one clock after the address phase and stop driving at the clock edge where both of the ready inputs and BLAST# are active. When DDOUT = ’1’, the CY7C09449PV will drive the DQ bus during a read starting one CLKIN clock after the address phase and stop driving one clock after the clock edge where the two ready inputs and BLAST are active. The data is driven for one clock period after the signal that the transaction is over. In the case of multiple data phases, it adds one clock cycle to the starting latency of the burst. READ CYCLE with DDOUT=1 A = Address Phase D = Data Phase W = Wait State RWMODE=’00’, ASMODE=’00’, BW=’10’, DDOUT=’1’ A W1 W2 D CLKIN ALE STROBE SELECT# READ# WRITE# (not used) RDY_IN# RDY_IN RDY_OUT# BLAST# ADR[14:2] Valid BE#[3:0] DQ[31:0] BOLD indicates output from PCI-DP Valid Valid Data Output is extended for an extra cycle EDOUT.VSD 9/11/9 RDY_OUT—Ready Out STROBE can be active or inactive during data phases. However, if STROBE is active during the data phase when BLAST is active AND the extended ready out control (XTND_RDY_OUT) is set, the CY7C09449PV keeps RDY_OUT active until STROBE goes inactive. In the case of a read, the CY7C09449PV will continue to drive the data on DQ until STROBE is deasserted. Document #: 38-06061 Rev. *A Page 22 of 50 CY7C09449PV-AC Normal RDY_OUT# Extended RDY_OUT# CLKIN STROBE RDY_IN# RDY_IN BLAST# RDY_OUT# When STROBE is inactive at the last data phase, RDY_OUT# goes inactive at the next CLKIN edge. LINE_WRAP_DIS—Cache Line Wrap Disable This setting is used to disable cache line wrapping, LINE_WRAP_DIS = ‘1’. Cache line wrapping only occurs when the local bus interface is set for 32 bit width with encoded byte enables, using the Motorola byte enable encoding, and the bus SIZ bits indicate a cache line access. Specifically, this is when BW = '11', BEMODE = '0', and BE[3] = BE[2] = ‘1.’ If a cache line access is made and cache line wrapping is disabled, then the burst will proceed linearly with no implicit address wraparound at the 4 DWORD boundary. ASMODE—Address Strobe Mode The address strobe mode control defines the polarity and the timing used to sample the CY7C09449PV address strobe input signal, STROBE. The two-bit control field is defined in the Operations Registers: ASMODE of the Local Bus Configuration Register. Document #: 38-06061 Rev. *A When STROBEACTIVE is at the last data phase, RDY_OUT# goes inactive after STROBE goes inactive. RDYOUT#.VSD 9/11/ ASMODE[0] defines the polarity of the STROBE input signal; ’0’ = active LOW and ’1’ = active HIGH. ASMODE[1] controls the sampling edge of the STROBE signal. Logic LOW indicates that the signal is sampled using the rising edge of CLKIN. A logic HIGH indicates that the signal is sampled with the falling edge of CLKIN. Sampling on the falling edge should only be used when the required minimum setup time with respect to the clock rising edge cannot be met on the signals. The following waveform illustrates the operation of the ASMODE[1] pin. ADR and READ are sampled at E2, and a valid write occurs at E4. Note that STROBE is captured at the negative edge labeled NE1 and that the ADR and READ signals are sampled at the positive clock edge labeled E2. Also note that the ready signals are sampled at the negative edge labeled NE4 and not at the positive edge labeled E5. STROBE is active LOW since ASMODE[0] = '0.’ Page 23 of 50 CY7C09449PV-AC ASMODE[1]=’1’ (32-bit write, single data phase) RWMODE=’00’, ASMODE=’10’, BW=’10’, DDOUT = ’0’ ASMODE[1] = ’1’ E0 E1 E2 E3 E4 E5 CLKIN STROBE NE1 SELECT# READ# WRITE# NE4 RDY_IN# RDY_IN RDY_OUT# BLAST# ADR[14:2] Valid BE#[3:0] Valid DQ#[31:0] Valid BOLD indicates output from PCI-DP Falling Edge Sampling for RDY_IN, RDY_IN, SELECT, and STROBE These signals may be configured for falling edge sampling within the Local Bus Configuration Register (LBUSCFG) of the Operations Registers. RDY_IN and RDY_IN sampling is configured by the RDY_IN_FALL bit, SELECT sampling is configured by the SELECT_FALL bit, and STROBE sampling is configured by the ASMODE[1] bit. Setting any one or all of these bits will not effect the sampling of other signals on the local bus. That is, all other signals that are synchronous inputs are sampled on the rising edge of the local bus clock, CLKIN. When a negative edge sample is used, the other signals are qualified by that sample on the immediately following rising edge of CLKIN. For example, study the prior waveform illustrating operation of ASMODE. In that diagram, STROBE is configured to sample on the falling edge of CLKIN because Document #: 38-06061 Rev. *A WAV3B.VSD 9/11/98 ASMODE[1]=’1’. An active STROBE indicates an address phase. The valid address is captured on the first rising clock edge after STROBE is sampled active. RWMODE—Read Write Mode The read write mode control defines how the address strobe (STROBE), read (READ), and write (WRITE) input signals are interpreted by the CY7C09449PV internal logic. The two-bit control field is defined in the Operations Registers: RWMODE of the Local Bus Configuration Register. Each of the four cases for RWMODE are illustrated in the following four diagrams. Use RWMODE = ’00’ to interface to a processor that has a read-write signal defined as W_R (write is logic 1, read is logic 0). In this mode, the WRITE is not used and should be tied HIGH. A write cycle is illustrated below. Page 24 of 50 CY7C09449PV-AC RWMODE=’00’, ASMODE=’00’, BW=’10’, DDOUT = ’0’ A W D CLKIN STROBE SELECT# READ# WRITE# (not used) RDY_IN# RDY_IN RDY_OUT# BLAST# Valid ADR[14:2] BE#[3:0] Valid DQ[31:0] Valid Use RWMODE = ’01’ to interface to a processor that has a read-write signal defined at R_W (write is logic 0, read is logic 1). In this mode, the WRITE acts as R_W and it is sampled when SELECT and STROBE are both active. The READ pin is not used and should be tied HIGH. This is illustrated below. RWMODE=’01’, ASMODE=’00’, BW=’10’, DDOUT = ’0’ Single Data Read Single Data Write CLKIN ~ STROBE ~ SELECT# ~ READ# (not used) ~ WRITE# (acts as W# / R) ~ ~ ~ RDY_IN# RDY_IN RDY_OUT# ~ BLAST# ~ ADR[14:2] ~ Valid BE#[3:0] DQ[31:0] Document #: 38-06061 Rev. *A } BOLD indicates output from PCI-DP DATA OUT PCI-DP drives DQ bus here Valid ~ Valid ~ DATA IN WAV5A.VSD 9/11/9 Page 25 of 50 CY7C09449PV-AC Use RWMODE = ’10’ or RWMODE = ’11’ to interface to a processor that has separate active LOW read and write signals. The two modes are identical. Sampling of the READ and WRITE signals is used as the internal address strobe in place of the STROBE signal. This is illustrated below. RWMODE=’1x’, ASMODE=’00’, BW=’10’, DDOUT = ’0’ Single Data Read ~ ~ CLKIN STROBE (not used) ~ SELECT# ~ ~ READ# WRITE# ~ ~ ~ RDY_IN# RDY_IN RDY_OUT# ~ ~ BLAST# ADR[14:2] Valid BE#[3:0] DQ[31:0] DATA OUT ~ ~ Valid Valid DATA IN } BOLD indicates output from PCI-DP Document #: 38-06061 Rev. *A Single Data Write PCI-DP drives DQ bus here WAV5B1.VSD 10/14/ Page 26 of 50 CY7C09449PV-AC I2C Serial Port and Auto-Configuration The CY7C09449PV I2C serial port may master the I2C bus, but it is not a target on the bus. Read and write access to the port is available to both the PCI and Local buses via the I2C programming Operations Registers. The CY7C09449PV supports single byte device internal addressing. The port can be used for Auto-Configuration of the CY7C09449PV as well as for basic read and write access to I2C-compatible devices connected to the port. Auto-Configuration is the function that uses the port to load CY7C09449PV configuration information. A typical device containing the data is a serial Electrically Erasable Programmable Read Only Memory (EEPROM). The EEPROM includes data for some PCI configuration registers and some Operations Registers. The EEPROM containing the CY7C09449PV configuration data must be located at I2C device address 0x0 and must contain the proper CY7C09449PV Signature. For details, see the memory map below and the accompanying field descriptions. I2C Serial Port Device 0x0 Memory Map for Auto-Configuration Byte 3 Byte 2 Byte 1 Byte 0 Internal Address, Byte Offset don’t care don’t care don’t care don’t care 0x00 ... 0x3F CY7C09449PV Signature 0x48 CY7C09449PV Signature 0x37 reserved reserved 0x40 Device ID high byte Device ID low byte Vendor ID high byte Vendor ID low byte 0x44 Class Code, base class high byte Class Code, sub-class middle byte Class Code, programming intf. low byte Revision ID 0x48 Subsystem Device ID high byte Subsystem Device ID low byte Subsystem Vendor ID high byte Subsystem Vendor ID low byte 0x4C MAX_LAT MIN_GNT Interrupt Pin, Master Enable[2] don’t care 0x50 Cardbus CIS Pointer high byte Cardbus CIS Pointer low byte Cardbus CIS Pointer high byte Cardbus CIS Pointer low byte 0x54 reserved reserved reserved reserved 0x58 reserved reserved reserved reserved 0x5C reserved reserved reserved reserved 0x60 reserved reserved reserved reserved 0x64 reserved reserved reserved reserved 0x68 reserved Local Bus Configuration high byte Local Bus Configuration middle byte Local Bus Configuration low byte 0x6C reserved reserved reserved reserved 0x70 Host Control bits [31:24] Host Control bits [23:16] Host Control bits [15:8] Host Control bits [7:0] 0x74 don’t care don’t care don’t care don’t care 0xFF … 0x78 Notes: 2. Master Enable is the most significant bit of this byte; see text for more description of this flag. 3. The recommended value for reserved data in the EEPROM is ‘1’ Document #: 38-06061 Rev. *A Page 27 of 50 CY7C09449PV-AC CY7C09449PV Signature Address: 0x43 - 0x42 Device Configuration Signature: A valid EEPROM CY7C09449PV configuration image is indicated at this address by the value of 0x4837. It is read from the EEPROM at I2C device address 0x0 immediately after the CY7C09449PV comes out of reset. The CY7C09449PV comes out of reset as indicated by the deassertion of the CY7C09449PV RST input. Upon recognition of a valid signature, the contents of the EEPROM will be transferred to the appropriate CY7C09449PV registers. The appropriate registers are indicated by the other labeled fields of the I2C Serial Port Device 0x0 Memory Map for Auto-Configuration and are described in this section. If the value at this location is not 0x4837, then the transfer will not occur and the default (reset) values for the CY7C09449PV registers will remain in effect after the CY7C09449PV comes out of reset. Vendor ID Address: 0x45 - 0x44 PCI Configuration Vendor ID: the meaning of this field is described in the PCI Bus section. Device ID Address: 0x47 - 0x46 PCI Configuration Device ID: the meaning of this field is described in the PCI Bus section. Revision ID Address: 0x48 PCI Configuration Revision ID: the meaning of this field is described in the PCI Bus section. Class Code Address: 0x4B - 0x49 PCI Configuration Class Code (Base Class, Sub-Class, Programming Interface): the meaning of this field is described in the PCI Bus section. Subsystem Vendor ID Address: 0x4D - 0x4C PCI Configuration Subsystem Vendor ID: the meaning of this field is described in the PCI Bus section. Subsystem Device ID Address: 0x4F - 0x4E PCI Configuration Subsystem Device ID: the meaning of this field is described in the PCI Bus section. Interrupt Pin Address: 0x51, bits 2, 1, 0 PCI Configuration Interrupt Pin: the meaning of this field is described in the PCI Bus section. Master Enable Address: 0x51, bit 7 PCI Configuration Command Bit 2: enable PCI bus master operation. For a host bridge, this typically must be set to allow the host to configure itself and configure and access other deDocument #: 38-06061 Rev. *A vices on the PCI bus. Even though an external master can manipulate the PCI Command register, it is typical that the host is the first device to configure devices on the PCI bus. Since the default value for PCI Command bit 2 is that PCI bus mastering is disabled, the Master Enable bit in the EEPROM image should be set to enable PCI mastering. MIN_GNT Address: 0x52 PCI Configuration MIN_GNT: the meaning of this field is described in the PCI Bus section. MAX_LAT Address: 0x53 PCI Configuration MAX_LAT: the meaning of this field is described in the PCI Bus section. Cardbus CIS Pointer Address: 0x57 - 0x54 PCI Configuration Cardbus CIS Pointer: the meaning of this field is described in the PCI Bus section. Local Bus Configuration Address: 0x6C - 0x6E Operations Registers Local Bus Configuration: the detailed meaning of this field is described in the Operations Registers section. For the CY7C09449PV Local bus to exhibit the correct protocol, the Local Bus Configuration Operations Register needs to be loaded before the CY7C09449PV is accessed via the Local bus interface. The Local bus interface circuitry will be held in reset until transfer of the EEPROM configuration data is complete. At such completion, and dependent upon the state of the Host Control Operations Register, the Local bus will be available for access using the programmed Local bus interface protocol. Host Control Address: 0x77 - 0x74 Operations Registers Host Control: Only bits 1 and 0 have meaning; the other bits are reserved. When programming bits 1 and 0, other bits of the DWORD should be written with ’0’. One of two reset controls from the CY7C09449PV may be used to reset the local processor system. The CY7C09449PV RSTOUT output signal is a buffered copy of the PCI bus RST signal and is not conditioned by the bits of the Host Control register. This signal will deassert before the Auto-Configuration process completes, so some applications will not use this signal in order to prevent premature local processor attempts to access the CY7C09449PV. The other form of reset control provides a direct link to the Auto-Configuration process. Using this method, the local processor will remain in reset until completion of the Auto-Configuration process. In this case, the CY7C09449PV RSTOUTD output signal (or its active HIGH version, RSTOUTD) is used to reset the local processor. This signal is a copy of bit 0 of the Host Control register (the Local Processor Reset). With AutoConfiguration, the local processor will be either held in reset or released from reset depending upon the value in the EEPROM. Furthermore, as an Operations Register, the Host Control register may be accessed from the PCI bus once AutoConfiguration is complete. Therefore, if it is desired that the Page 28 of 50 CY7C09449PV-AC local processor be held in reset until updated by a command over the PCI bus, bit 0 of this field should be set. Bit 1 of the Host Control register should be cleared in most cases. Setting it to ’1’ will reset the Operations Registers to their default state and thereby reinitialize the Local Bus Configuration register. This bit is typically used only for debug or maintenance operations. Another seldom used operation is setting the Host Control register from the local processor. Even though the Operations Register is available from the Local bus, setting either bit 0 or bit 1 to ’1’ will lock-out the local processor from accessing the CY7C09449PV by way of the Local bus interface. Operations Registers These registers are the means by which CY7C09449PV functions are accessed. Access is available via either interface, the PCI bus or the Local bus. The Operations Registers include the PCI Bus Mastering registers (DMA), the I2O messaging unit registers, the interrupt registers, the mail boxes, and the direct access register. Also included in the Operations Registers are the initialization and configuration registers used to customize the CY7C09449PV operation to the user’s needs. The critical Host Control Register and Local Bus Configuration Register may be programmed during the system initialization process. Programming via the I2C serial is available for this purpose. The Operations Registers reside in the Local bus clock domain, therefore, a clock must be applied to CLKIN for proper operation of the CY7C09449PV. Either an external clock may Document #: 38-06061 Rev. *A be provided or one of the CY7C09449PV PCLKOUT[2:0] signal outputs may be used. PCLKOUT is a copy of the PCI Clock input, CLK. The PCLKOUT signals are intended to be an option for the user to connect to other circuits as well. Also available to support other circuits, the user may connect any or all of the three reset outputs from the CY7C09449PV. RSTOUT is a registered copy of the PCI Reset input, RST. It is synchronous to CLKIN. The other two reset output signals, RSTOUTD and RSTOUTD, are the copy of a bit in an Operations Register, the ’R’ bit of the Host Control Register. RSTOUTD and RSTOUTD are complements of each other and are synchronous to CLKIN. Upon power-up reset of the CY7C09449PV (via the PCI Reset RST) this bit will be set active. It may be cleared during the start-up process using the I2C serial interface or it may be cleared or set via commands received over the PCI bus. Therefore, these signals may be used to hold a local processor in reset until CY7C09449PV configuration is complete or when a host is ready to release the local processor to begin its operations. Operations Registers Addresses This is a summary table of the CY7C09449PV Operations Registers. Register locations are the offset from the Base Address Register 0 and are DWORD aligned. The value shown is the address of the least significant byte of the register offset. Default, power-up values are also shown. Both numbers are documented in hexadecimal notation. Bit positions in gray are unused and read back as ’0’ unless otherwise indicated in the default value. Page 29 of 50 CY7C09449PV-AC Operations Register 31 Offset / Mnemonic 24 23 16 15 8 7 0 I2O Host Interrupt Status Register Default Value 0x0030 I I2OHISR 0x00000000 I2O Host Interrupt Mask Register 0x0034 M I2OHIMR 0xFFFFFFFF I2O Local Interrupt Status Register 0x0038 I I2OLISR 0x00000000 I2O Local Interrupt Mask Register 0x003C M I2O FIFO Access I2OLIMR 0xFFFFFFFF all default as empty FIFO, read as 0xFFFFFFFF Inbound Free FIFO (read only) and Inbound Post FIFO (write only) 0x0040 IBFPFIFO Outbound Post FIFO (read only) and Outbound Free FIFO (write only) 0x0044 OBPFFIFO Inbound Post FIFO (read only) and Inbound Free FIFO (write only) 0x0048 IBPFFIFO Outbound Free FIFO (read only) and Outbound Post FIFO (write only) 0x004C OBFPFIFO Direct Access 0x0460 F PCI Physical Base Address (4 Gbyte, 8 Kb blocks) A1A0 BE for Reads PCI 0xXXXXXXXX I2C Serial Command Register (write only) Device Address 0x04A0 Memory Address Write Data T R I2C Serial Read Data Register Byte 3 Byte 1 Byte 0 0x04A8 ACK D DMA Local Base Address Register Local Base Address (16 Kbyte) 0x000000XX 0x0000XXXX 0x04B4 DMAHBASE 0xXXXXXXXX PCI Base Address (4 Gbyte) DMA Burst Size Register 0x04B8 DMA Burst Size (16K byte) 0x04BC L P PI W Arbitration Utility Flag Register L 2 P 2 L 1 P 1 L 0 P 0 Host Control Host Interrupt Control/Status Interrupt Status Host to Local Data Mailbox Byte 1 Byte 0 Local Processor Interrupt Control/Status Interrupt Status Local to Host Data Mailbox Local Bus Configuration Byte 0 LINT 0x00000000 0x04F8 Byte 1 HLDATA 0x0000XXXX 0x04F4 Interrupt Enable HINT 0x00000000 0x04E8 I HCTL 0x00000001 0x04E4 Interrupt Enable ARBUTIL 0x00000000 0x04E0 S R DMACTL 0x0000000X 0x04C0 P 3 DMASIZE 0x0000XXXX DMA Control Register LHDATA 0x0000XXXX 0x04FC LBUSCFG Local Bus Configuration Document #: 38-06061 Rev. *A NVSTAT 0x04B0 DMALBASE DMA Host Base Address Register I NVREAD 0xXXXXXXXX I2C Serial Status Register L 3 NVCMD n/A 0x04A4 Byte 2 DAHBASE 0x00010B50 Page 30 of 50 CY7C09449PV-AC Operations Registers Descriptions Detailed descriptions of the Operations Registers follow. Register locations are the offset from the Base Address Register 0 and are DWORD aligned. The value shown is the address of the least significant byte of the register offset. The offsets are documented in hexadecimal notation. Unused bits are grayed-out. Unused bits are read as ’0’ unless otherwise indicated. I2O Registers I2O Host Interrupt Status Register - I2OHISR0x0030 31 3 0 I Bit 3 -- I Description Interrupt from the Outbound Post FIFO—the FIFO is not empty. This bit is continuously updated to reflect the status of the FIFO. It is Read-only; ‘0’: no interrupt; ‘1’: interrupt signalled. '0' default. Note: Unused bits in this register are read as 0s. I2O Host Interrupt Mask Register - I2OHIMR0x0034 31 3 0 M Bit 3 -- M Description Host Interrupt Mask Bit 1: interrupt is masked (default) 0: interrupt is not masked Note: Unused bits in this register are read as 1s. I2O Local Interrupt Status Register - I2OLISR0x0038 31 3 0 I Bit Description 3 -- I Interrupt from the Inbound Post FIFO—the FIFO is not empty. This bit is continuously updated to reflect the status of the FIFO. It is Read-only; ‘0’: no interrupt; ‘1’: interrupt signalled. '0' default. Note: Unused bits in this register are read as 0s. I2O Local Interrupt Mask Register - I2OLIMR0x003C 31 3 0 M Bit 3 -- M Description Local Interrupt Mask Bit 1: interrupt is masked (default) 0: interrupt is not masked Note: Unused bits in this register are read as 1s. Document #: 38-06061 Rev. *A Page 31 of 50 CY7C09449PV-AC I2O Inbound Free / Post FIFO – IBFPFIFO0x0040 31 0 Inbound Free FIFO (read only) and Inbound Post FIFO (write only) Bit Description 31:0 A shared port -- Reading from this port returns data from the Inbound Free FIFO. The read of an empty FIFO returns 0xFFFF FFFF. Writing to this port places data into the Inbound Post FIFO. If the FIFO is already full, the contents of the FIFO will not change; the data written will be lost. The FIFO is initially empty. An asserted RST# empties all CY7C09449PV FIFO; all data will be lost. I2O Outbound Post / Free FIFO – OBPFFIFO0x0044 31 0 Outbound Post FIFO (read only) and Outbound Free FIFO (write only) Bit Description 31:0 A shared port -- Reading from this port returns data from the Outbound Post FIFO. The read of an empty FIFO returns 0xFFFF FFFF. Writing to this port places data into the Outbound Free FIFO. If the FIFO is already full, the contents of the FIFO will not change; the data written will be lost. The FIFO is initially empty. An asserted RST empties all CY7C09449PV FIFO; all data will be lost. I2O Inbound Post / Free FIFO – IBPFFIFO0x0048 31 0 Inbound Post FIFO (read only) and Inbound Free FIFO (write only) Bit Description 31:0 A shared port -- Reading from this port returns data from the Inbound Post FIFO. The read of an empty FIFO returns 0xFFFF FFFF. Writing to this port places data into the Inbound Free FIFO. If the FIFO is already full, the contents of the FIFO will not change; the data written will be lost. The FIFO is initially empty. An asserted RST empties all CY7C09449PV FIFO; all data will be lost. I2O Outbound Free / Post FIFO –OBFPFIFO0x004C 31 0 Outbound Free FIFO (read only) and Outbound Post FIFO (write only) Bit Description 31:0 A shared port -- Reading from this port returns data from the Outbound Free FIFO. The read of an empty FIFO returns 0xFFFF FFFF. Writing to this port places data into the Outbound Post FIFO. If the FIFO is already full, the contents of the FIFO will not change; the data written will be lost. The FIFO is initially empty. An asserted RST empties all CY7C09449PV FIFO; all data will be lost. Document #: 38-06061 Rev. *A Page 32 of 50 CY7C09449PV-AC Direct Access Register Direct Access Host Physical Base Address Register - DAHBASE0x0460 31 13 PCI Physical Base Address (4G byte, 8K byte blocks) Bit 31:13 11 -- F 11 9 F A1A0 Byte Enables 8 7 for Reads 2 1 0 Type Description PCI Physical Base Address specifying 8 Kbyte block When ’1’, force contents of A1A0 to PCI during the PCI address phase. 9:8 Value to be placed on PCI bus, PCI A1 = bit 9, PCI A0 = bit 8. 7:4 Data Byte Enables for PCI Master Reads, C/BE#[3:0]. 2:1 Type 4 PCI command cycle type for PCI Master Access 00 = interrupt acknowledge (read) (PCI command 0x0) or special cycle (write) (PCI command 0x1) 01 = I/O cycle (read or write) (PCI command 0x2 or 0x3) 10 = memory cycle (read or write) (PCI command 0x6 or 0x7) 11 = configuration cycle (read or write) (PCI command 0xA or 0xB) I2C Serial Port Registers I2C Serial Command Register -- NVCMD (a write only register)0x04A0 31 30 24 23 Device Address Memory Address 16 15 8 7 Write Data Bit 1 0 T R Description 2 30:24 Device Address. Device address of the I C serial device. Default is 1010000. 23:16 Memory Address. Address within the I2C serial device. 15:8 Write Data. Write data. This data is ignored if the command is a read. 1 -- T Read Type. This bit is ignored if the command is a write. The data read from a I2C serial device is accessible from the NVREAD register. 1 = 4-byte read 0 = single-byte read 0 -- R Read / Write 1 = read command 0 = write command Note: The write of this byte triggers the start of the EEPROM access. In an 8- or 16-bit system, this location must be written after the address and data have been written. Document #: 38-06061 Rev. *A Page 33 of 50 CY7C09449PV-AC I2C Serial Read Data Register -- NVREAD0x04A4 This register contains one or four bytes of data read from the I2C serial EEPROM. 31 24 23 Byte 3 Byte 2 16 15 8 Byte 1 Bit 7 0 Byte 0 Description 31:24 Byte 3 Stores sequential read, byte 3. Undefined for single byte read. 23:16 Byte 2 Stores sequential read, byte 2. Undefined for single byte read. 15:8 Byte 1 Stores sequential read, byte 1. Undefined for single byte read. 7:0 Byte 0 Stores single read and sequential read, byte 0. I2C Serial Status Register – NVSTAT0x04A8 This register contains status information about the I2C serial data transfer. 31 8 7 5 ACK Bit 7:5 -- ACK 0 -- D 4 0 D Description Acknowledge bit 7 = device address ack bit. 0 = ack, 1 = no ack. bit 6 = address ack bit. 0 = ack, 1 = no ack. bit 5 = second address ack bit. 0 = ack, 1 = no ack. In a successful read or write, these bits will be 000. Done Indicator 1 = done 0 = in progress Document #: 38-06061 Rev. *A Page 34 of 50 CY7C09449PV-AC PCI Bus Mastering (DMA) Registers DMA Local Base Address Register – DMALBASE0x04B0 14 13 31 2 0 Local Base Address (16K byte) Bit 13:2 Description Local Base Address - This is the first address of the DMA in the local memory. This register has DWORD resolution. DMA Host Physical Base Address Register – DMAHBASE0x04B4 31 2 0 PCI Physical Base Address (4 Gbyte) Bit Description 31:2 PCI Physical Base Address - This is the first address of the DMA in the host’s memory space. This register has DWORD resolution. DMA Size Register – DMASIZE 0x04B8 14 13 31 2 0 DMA Burst Size (16K byte) Bit 13:2 Description Burst Size for any mastered DMA, read or write. This register has DWORD resolution. DMA Control Register – DMACTL0x04BC 31 10 9 8 L P 7 2 1 0 PI W Bit Description 9 -- L Local Ownership: Writing to this bit by the local processor will update the value if and only if the P bit is not set to ‘1.’ A write to this bit from the PCI bus will never update this bit. This bit (along with the P bit) is intended to facilitate software arbitration of the DMA registers. '0' default. 8 -- P PCI Ownership: Writing to this bit by the PCI bus will update the value if and only if the L bit is not set to ‘1’. A write to this bit from the local processor will never update this bit. This bit (along with the L bit) is intended to facilitate software arbitration of the DMA registers. '0' default. 1 -- PI Pre-Fetch Inhibit for PCI memory reads: When this bit is set to one, the CY7C09449PV PCI bus master engine will only use the PCI Read command (0x6). When this bit is zero (default), the CY7C09449PV PCI bus master engine will use PCI commands Read (0x6), Read Line (0xC), and Read Multiple (0xE) as appropriate to optimize utilization of the PCI system bus(es). 0 -- W Write: Determines the direction of the DMA and starts transfer. 1: DMA operation is a write to the PCI bus memory from the CY7C09449PV shared memory. 0: DMA operation is a read from the PCI bus memory into the CY7C09449PV shared memory. A write to the low byte of this register triggers the DMA to occur. '0' default. Document #: 38-06061 Rev. *A Page 35 of 50 CY7C09449PV-AC Arbitration Utility Flag Register – ARB_FLAGS0x04C0 31 25 24 23 L3 P3 18 17 16 15 L2 P2 10 9 8 7 2 L1 P1 1 0 L0 P0 Bit Description 25 -- L3 L3 Ownership: A write to this bit by the local processor will update this bit if and only if the P3 bit is not set to ‘1’. '0' default. 24 -- P3 P3 Ownership: A write to this bit by the PCI bus will update this bit if and only if the L3 bit is not set. '0' default. 17 -- L2 L2 Ownership: A write to this bit by the local processor will update this bit if and only if the P2 bit is not set to ‘1’. '0' default. 16 --P2 P2 Ownership: A write to this bit by the PCI bus will update this bit if and only if the L2 bit is not set. '0' default. 9 -- L1 L1 Ownership: A write to this bit by the local processor will update this bit if and only if the P1 bit is not set to ‘1’. '0' default. 8 -- P1 P1 Ownership: A write to this bit by the PCI bus will update this bit if and only if the L1 bit is not set. '0' default. 1 -- L0 L0 Ownership: A write to this bit by the local processor will update this bit if and only if the P0 bit is not set to ‘1’. '0' default. 0 -- P0 P0 Ownership: A write to this bit by the PCI bus will update this bit if and only if the L0 bit is not set. '0' default. Host Control and Status Registers Host Control Register – HCTL0x04E0 31 2 1 0 S R Bit Description 1 -- S Soft Reset – This bit controls the internal reset for the CY7C09449PV. 1 = reset active 0 = not reset (default) 0 -- R Local Processor Reset – This bit controls the RSTOUTD and RSTOUTD pins. 1 = reset active (default state, RSTOUTD pin is LOW, RSTOUTD pin is HIGH) 0 = not reset (RSTOUTD pin is HIGH, RSTOUTD pin is LOW) This register contains two types of reset bits. The Local Processor Reset bit, R, is intended for use by circuitry connected to the CY7C09449 local bus. The output signals RSTOUTD and RSTOUTD are a direct reflection of the state of this bit. It is intended that RSTOUTD (or its active low version RSTOUTD) be connected to the local processor system’s reset. R is set to ‘1’ when the CY7C09449PV reset input is asserted (RST = ‘0’). After deassertion of RST, R will remain set to ‘1’ until the CY7C09449PV Auto-Configuration process has completed and it has been cleared either via the Auto-Configuration termination control setting or via the PCI bus interface. If RSTOUTD is not used as the local processor system reset, then it can also be cleared via the Local bus interface. The second reset bit is the Soft Reset bit, S. This is used to reset certain internal registers and states of the CY7C09449PV. It is primarily intended for test and debug op- Document #: 38-06061 Rev. *A erations during product development. When S = ‘1,’ it will reset all of the Operations Registers according to their reset default values with the following exceptions: • DMACTL (at offset 0x04BC): All bits are reset to ‘0’, except bits PL and W remain unchanged • HINT (at offset 0x04E4): All bits remain unchanged • LINT (at offset 0x04F4): Bit 3 (Host to Local Mailbox) is cleared to ‘0’, all other bits remain unchanged • LBUSCFG (at offset 0x04FC): All bits remain unchanged Additional behavior when S = ‘1’ is as follows: • DQ[31:00] is held at high impedance; • Local bus state machine is held in idle; • DMA state machine is held in idle; • PCI bus state machine mastering access is held in idle; and • FIFO are emptied and flags return to default (empty). Page 36 of 50 CY7C09449PV-AC Host Interrupt Control and Status Register – HINT0x04E4 25 24 31 Interrupt Enable Bit 16 15 10 9 0 Interrupt Status Description 25:16 Interrupt Enable Interrupt Enables 0000000000 =no interrupts are enabled (default) xxxxxxxxx1 =I2O Local FIFO overflow interrupt enabled xxxxxxxx1x =I2O PCI FIFO overflow interrupt enabled xxxxxxx1xx =reserved - always read as 0 xxxxxx1xxx =Local to host, mailbox interrupt enabled xxxxx1xxxx =Local to host, external signal interrupt enabled xxxx1xxxxx =DMA complete interrupt enabled xxx1xxxxxx =I2O inbound post FIFO not empty interrupt enabled xx1xxxxxxx =I2O outbound post FIFO not empty interrupt enabled x1xxxxxxxx =PCI target abort interrupt enabled 1xxxxxxxxx =PCI master abort interrupt enabled Note: All enable bits are initially cleared. 9:0 Interrupt Status Interrupt Event Status 0000000000 = no events active xxxxxxxxx1 =I2O Local FIFO overflow xxxxxxxx1x =I2O PCI FIFO overflow xxxxxxx1xx =reserved - always read as 0 xxxxxx1xxx =Local to host mailbox xxxxx1xxxx =Local to host external signal interrupt xxxx1xxxxx =DMA complete xxx1xxxxxx =I2O inbound post FIFO not empty (mirror of I2OLISR[3] - read only at this address) xx1xxxxxxx = I2O outbound post FIFO not empty (mirror of I2OHISR[3] - read only at this address) x1xxxxxxxx = PCI target abort 1xxxxxxxxx = PCI master abort Note: When an event status bit is active, writing a ’1’ to that bit location will clear the bit except for bits 6 and 7. All event status bits are initially cleared. Document #: 38-06061 Rev. *A Page 37 of 50 CY7C09449PV-AC Host to Local Data Mailbox – HLDATA0x04E8 31 25 24 23 I 16 15 8 Byte 1 7 0 Byte 0 Bit Description 24 -- I Interrupt to Local This bit enables the host to send an interrupt to the Local. When it is set to 1 by the host, it triggers a mailbox interrupt to the local processor. The interrupt remains active until it is cleared by writing to the Local Interrupt Control and Status Register - LINT. 0 = inactive 1 = active This bit is write only. 15:8 -- Byte 1 7:0 -- Byte 0 Data byte Two bytes of data that can be written by the host and read by the local processor. Local Control and Status Registers Local Interrupt Control and Status Register – LINT0x04F4 25 24 31 Interrupt Enable Bit 16 15 10 9 0 Interrupt Status Description 25:16 Interrupt Enable Interrupt Enables 0000000000 = no interrupts are enabled (default) xxxxxx xxx1 = I2O Local FIFO overflow interrupt enabled xx xxxx xx1x = I2O PCI FIFO overflow interrupt enabled xx xxxx x1xx = reserved - always read as 0 xx xxxx 1xxx = Host to Local mailbox interrupt enabled xx xxx1 xxxx = reserved - always read as 0 xx xx1x xxxx = DMA complete interrupt enabled xx x1xx xxxx = I2O inbound post FIFO not empty interrupt enabled xx 1xxx xxxx = I2O outbound post FIFO not empty interrupt enabled x1 xxxx xxxx = PCI target abort interrupt enabled 1x xxxx xxxx = PCI master abort interrupt enabled Note: All enable bits are initially cleared. 9:0 Interrupt Status Interrupt Event Status 00 0000 0000 = no events active xx xxxx xxx1 = I2O Local FIFO overflow xx xxxx xx1x = I2O PCI FIFO overflow xx xxxx x1xx = reserved - always read as 0 xx xxxx 1xxx = Host to Local mailbox xx xxx1 xxxx = reserved - always read as 0 xx xx1x xxxx = DMA operation complete xx x1xx xxxx = I2O inbound post FIFO not empty (mirror of I2OLISR[3] - read only at this address) xx 1xxx xxxx = I2O outbound post FIFO not empty (mirror of I2OHISR[3] - read only at this address) x1 xxxx xxxx = PCI target abort 1x xxxx xxxx = PCI master abort Note: When an event status bit is active, writing a ’1’ to that bit location will clear the bit except for bits 6 and 7. All event status bits are initially cleared. Document #: 38-06061 Rev. *A Page 38 of 50 CY7C09449PV-AC Local to Host Data Mailbox – LHDATA0x04F8 31 16 15 25 24 23 I 8 Byte 1 7 0 Byte 0 Bit Description 24 -- I Interrupt to Host When this bit is written to 1 by the local processor, it causes a mailbox interrupt to the host. The interrupt will remain active until it is cleared by the host in the Host Interrupt Control and Status Register - HINT 0 = inactive 1 = active This bit is write only. 15:8 -- Byte 1 7:0 -- Byte 0 Data bytes Two bytes of data written by the local and read by the host processor. Local Bus Configuration Register – LBUSCFG0x04FC 31 21 20 0 Local Bus Configuration Bit Description 20 LINE_WRAP_DIS: Defines the enable for cache line wrapping. 0 = Enable cache line wrapping (default)1 = Disable cache line wrapping 19 RDY_IN_FALL: Defines the edge of CLKIN used to sample the RDY_IN and RDY_IN input signals. 0 = Rising Edge (default)1 = Falling Edge 18 SELECT_POL: Defines the polarity of the SELECT input signal. 0 = Active LOW (default)1 = Active HIGH 17 SELECT_FALL: Defines the edge of CLKIN used to sample the SELECT input signal. 0 = Rising Edge (default)1 = Falling Edge 16 RDY_OUT_OE: Defines the three-state mode of the RDY_OUT output signal. 0 = Drive all of the time.1 = Drive only when asserted active. (default) 15 XTND_RDY_OUT: Defines the RDY_OUT output signal relation to the final data phase. 0 = Normal. RDY_OUT goes inactive after the final data phase (default) 1 = Extended Ready Out. RDY_OUT remains active after the final data phase until the internal address strobe (typically STROBE) goes inactive. (see field RWMODE for the defining characteristics of the Internal Address Strobe). -- DO NOT set XTND_RDY_OUT = 1 when BLASTMODE = 1. 14 BURST_STYLE: Defines the data ordering protocol of bursts on the local bus. 0 = normal linear bursts (default)1 = 486 style burst (byte ordering in a burst is 048C; 40C8; 8C04; C840) 13 INT_POL: Defines the polarity of the IRQ_OUT output signal. 0 = Active LOW interrupt to the local processor (default)1 = Active HIGH interrupt to the local processor 12 BLAST_POL: Defines the polarity of the BLAST input signal. 0 = Active LOW (default)1 = Active HIGH 11 ALE_POL: Defines the polarity of the ALE input signal. 0 = Active LOW1 = Active HIGH (default) 10 RDYOUT_POL: Defines the polarity of the RDY_OUT output signal. 0 = Active LOW (default)1 = Active HIGH 9:8 BW: Defines the data bus width of the local processor interface. 00 = 8 bit10 = 32 bit 01 = 16 bit11 = 32 bit with encoded byte enables per Motorola protocol (default) 7 BLASTMODE: Determines the function of the BLAST input signal. 0 = BLAST is active only during the last transaction of the burst (default) 1 = BLAST is active throughout the entire burst, and goes inactive when with RDY_IN or RDY_IN become inactive on the last read or write of the burst. -- DO NOT set BLASTMODE = 1 when XTND_RDY_OUT = 1. 6 BEMODE: Determines the byte enable encoding for 16 and 32 bit Motorola modes. 0 = normal byte enables1 = Motorola byte enable encoding. (default) Document #: 38-06061 Rev. *A Page 39 of 50 CY7C09449PV-AC Bit Description 5:4 RWMODE: Defines how the READ, WRITE, and address STROBE input signals are interpreted internally and defines the Internal Address Strobe. The active polarity of STROBE is determined by ASMODE. ‘01’ is default. RWMODE = 00 RWMODE = 01 RWMODE = 1X READ Pin Name W_R Not Used READ data; used as Internal Strobe WRITE Not Used R_W WRITE data; used as Internal Strobe Internal Address Strobe Internal Address Strobe Not used as Internal Address Strobe STROBE 3:2 ASMODE: Bit 2 defines the polarity of STROBE input signal. And bit 3 defines the edge of CLKIN used to sample the Internal Address Strobe (see field RWMODE for a defining characteristic of the Internal Address Strobe) x0 = STROBE is active LOW (default)x1 = STROBE is active HIGH 0x = Internal Address Strobe rising edge sampled (default)1x = Internal Address Strobe falling edge sampled 1 DDIN: Delayed Data Input -- Defines protocol for validated input data. 0 = input data is valid during the current cycle when RDY_IN, RDY_IN, and RDY_OUT are active. (default) 1 = input data is valid one cycle after when RDY_IN, RDY_IN, and RDY_OUT are active. 0 DDOUT: Delayed Data Output -- Defines protocol for validated output data. 0 = output data is valid during current cycle when RDY_IN, RDY_IN, and RDY_OUT are active. (default) 1 = output data is valid one cycle after when RDY_IN, RDY_IN, and RDY_OUT are active. Document #: 38-06061 Rev. *A Page 40 of 50 CY7C09449PV-AC Performance Characteristics Recommended Operating DC Parameters—PCI Bus Signals Absolute Maximum Ratings [4] The CY7C09449PV is compatible with the PCI requirements for 3.3V and 5V signaling. Refer to the PCI Local Bus Specification, Revision 2.2, as published by the PCI Special Interest Group; the URL is http://www.pcisig.com/ Storage Temperature .................................. –55°C to +125°C Ambient Temperature Under Bias................. –40°C to +85°C Max Operating Current (IDD)[5,6] ................................250 mA Due to the 5V tolerant nature of the I/O, the I/O are not clamped to VDD. Operation of the CY7C09449PV in a PCI 5V signaling environment is electrical and timing compatible with the PCI specification. In a 3.3V signaling environment, all PCI requirements are met except for the output 3.3V clamp, which is in direct conflict with 5V tolerance. The CY7C09449PV complies with the PCI AC specifications. Voltage on Any VDD Pin Referenced to VSS .. –0.5V to +4.0V Voltage on Any Signal Pin Referenced to VSS–0.5V to +7.0V Recommended Operating Environment Ambient Operating Temperature................... TA0°C to +70°C Supply Voltage .........................................VDD+3.0V to +3.6V Ground Voltage Reference .......................................VSS0.0V FCLK (PCI Clock Input Frequency)...... CLK0 MHz to 33 MHz FCLKIN (Local Bus Clock Input Frequency)[7] ...CLKIN0 MHz to 50 MHz Parameter Description Condition Min. Max. Unit VIH Input High Voltage 0.5VDD +5.75V V VIL Input Low Voltage –0.5 0.3VDD V VIPU Input Pull-up Voltage IIL Input Leakage Current 0 < VIN < VDD ±10 µA VOH Output High Voltage[8] IOUT = –0.5 mA VOL Output Low Voltage IOUT = 1.5 mA CIN Input Pin Capacitance CCLK CLK Pin Capacitance CIDSEL LPIN 0.7VDD V 0.9VDD V 0.1VDD V 10 pF 12 pF IDSEL Input Pin Capacitance 8 pF Pin Inductance 20 nH 5 Recommended Operating DC Parameters—Local Signals The recommended operating DC parameters for the local bus are specified here. Parameter Description Condition Min. Max. Unit VIH Input High Voltage 2.0 5.75 V VIL Input Low Voltage –0.5 0.8 V IIL Input Leakage Current 0 < VIN < VDD ±10 µA VOH Output High Voltage IOUT = –0.8 mA IOUT = 0.8 mA VOL Output Low Voltage CIN Input Pin Capacitance CCLK CLK Pin Capacitance LPIN Pin Inductance 2.4 5 V 0.5 V 10 pF 12 pF 20 nH Notes 8 Notes: 4. The voltage on any input or I/O pin can not exceed the power pin during power-up. 5. CLK=33 MHz, CLKIN = 50 MHz, PCI and Local buses operating at 25% duty cycle. 6. Also see Operating Power Characteristics section (Page 45). 7. For proper initialization, CLKIN must toggle more than 300,000 cycles after RST has been deasserted. 8. Except that INTA is an open drain output. 9. Except that IRQ_OUT is an open drain output. Document #: 38-06061 Rev. *A Page 41 of 50 CY7C09449PV-AC Timing Parameters—PCI Bus Signals The CY7C09449PV is compliant with the PCI timing requirements for 3.3V and 5V signaling. Refer to the PCI Local Bus Specification, Revision 2.2, as published by the PCI Special Interest Group; the URL is http://www.pcisig.com/ Parameter Description Min. Max. Unit tCYC CLK Cycle Time[10] 30 ns tHIGH CLK High Time 11 ns tLOW CLK Low Time 11 ns tVAL CLK Slew Rate 1 4 V/ns CLK to Output for Bused Signals[11] 2 11 ns 12 ns [11] tVAL(REQ) CLK to Output for REQ 2 tON Float to Active Delay from CLK 2 tOFF Active to Float Delay from CLK tSU Input Set-up Time to CLK for Bused Signals 7 ns tSU(GNT) Input Set-up Time to CLK for GNT 10 ns tHOLD Input Hold Time to CLK 0 ns RST Slew Rate 50 mV/ns RST Active Time after Power Stable 1 ms 100 µs 28 [12] tRST tRST-CLK RST Active Time after CLK Stable tRST-OFF RST Active to Output Float Delay ns [13] tRST-FPCA RST High to First PCI Configuration Access tRHI-FFA RST High to First FRAME Assertion 40 ns ns 25 clocks 5 clocks 2 Timing Parameters—CY7C09449PV Buffered PCI Clock and Reset The CY7C09449PV provides copies of the PCI clock input, CLK, on the PCLKOUT[2:0] pins. The system level function and timing of these outputs are the same as those of the CLK input. The CY7C09449PV also provides a registered copy of the PCI reset input, RST, on the RSTOUT pin. The PCI reset is synchronized to the Local bus clock, CLKIN. RSTOUT will follow RST by no more than two CLKIN cycles. The detailed timing characteristics of the PCLKOUT[2:0] and RSTOUT signal outputs is shown below. Parameter tPCLKOUT tRSTOUT Description PCLKOUT Delay from CLK[14] CLKIN to RSTOUT Valid [14] Min. Max. Units 2 10 ns 2 10 ns Notes: 10. Clock frequency may range from nominal DC to 33 MHz. The clock frequency may change at anytime, but must not violate other parameters of this specification: clock edges must remain monotonic and within the specified CLK Slew Rate and clock high and low times must be no shorter than specified CLK High and CLK Low Times. 11. Output maximum times are evaluated with CL = 50 pF. Output minimum times are evaluated with CL = 0 pF. Actual test capacitance may vary, but results are correlated to these loads. 12. Specification only applies to rising (deasserted) edge of RST. 13. RST is asserted and deasserted asynchronously to CLK. 14. 50-pF load. Document #: 38-06061 Rev. *A Page 42 of 50 CY7C09449PV-AC CLK tPCLKOUT tPCLKOUT PCLKOUT[2:0] CLKIN tRSTOUT tRSTOUT RSTOUT# Timing Parameters — Local Bus Signals The parameters for the local bus are specified here. Parameter tLOCAL tHIGH tLOW Description CLKIN Cycle Time (Local clock)[15] CLKIN High Time CLKIN Low Time Min. Max. 20 [16] [16] [17] Unit ns 40 60 % 40 60 % tSU Input Set-up Time to CLKIN 8 ns tHOLD Input Hold Time to CLKIN 3 ns tOUT CLKIN to Output Valid[18] 2 10 ns tON_DQ DQ[31:0] Float to Active Delay from CLKIN 2 14 ns tOUT_DQ DQ[31:0] Output Delay from CLKIN 2 10 ns tOFF_DQ DQ[31:0] Active to Float Delay from CLKIN 2 14 ns tSU_ADR ADR[14:2] Input Set-up Time to CLKIN 6 tH_ADR ADR[14:2] Input Hold Time from CLKIN 3 tSU_ALE ADR[14:2] Input Set-up Time to ALE 1 tH_ALE ADR[14:2] Input Hold Time from ALE 3 ns 5 ns tMIN_ALE Minimum Active Pulse width for ALE [19] ns Notes: 15. VTEST = 1.5V. 16. Voltage threshold for HIGH is 2.0V; Voltage threshold for LOW is 0.8V. 17. Inputs are STROBE, SELECT, READ, WRITE, RDY_IN, RDY_IN, BE[3:0], DQ[31:0], BLAST, and IRQ_IN. 18. CL = 50 pF. Outputs are RDY_OUT, IRQ_OUT, RSTOUTD, and RSTOUTD. 19. Voltage threshold for HIGH is 2.0V. Document #: 38-06061 Rev. *A Page 43 of 50 CY7C09449PV-AC tLOCAL tHIGH CLKIN tLOW INPUTS OUTPUTS tSU tHOLD tOUT tOUT_DQ DQ[31:0] tON_DQ tOFF_DQ ALE tMIN_ALE tSU_ADR tSU_ALE ADR[14:2] tH_ADR tH_ALE Timing Parameters—I2C Serial Port Bus Signals The I2C-compatible serial interface is designed for a 100-Kb transfer rate. The interface clock is referenced to the local clock, CLKIN. The table below gives the parameters of the CY7C09449PV’s I2C-compatible serial interface with respect to the number of local clock periods and the equivalent number of microseconds if the clock is run at 50 MHz. The 100-Kbit/s rate is accomplished with a CLKIN rate of 50 MHz. For CLKIN rates other than 50 MHz, use the Minimum Clocks column to calculate the Minimum Time for each parameter. Parameter Description tSCL_LO Low Period of SCL tSCL_HI High Period of SCL tBUF [20, 21] Bus Free Time between 'Start' & 'Stop' [20] Minimum Clocks (Clock Periods) Minimum Time (microseconds) 250 5.00 250 5.00 500 10.00 tSU_STA Set-up Time for Repeated 'Start' 250 5.00 tHD_STA Hold Time for 'Start' 250 5.00 tSU_DAT Set-up Time for Data 125 2.50 tHD_DAT Hold Time for Data 125 5.00 tSU_STO Set-up time for 'Stop' 250 5.00 Notes: 20. ’Start’ condition is a HIGH-to-LOW transition on SDA while SCL is HIGH. 21. ’Stop’ condition is a LOW-to-HIGH transition on SDA while SCL is HIGH Document #: 38-06061 Rev. *A Page 44 of 50 CY7C09449PV-AC tHD_STA tBUF SDA DATA tSU_DAT tHD_DAT ~ tSU_STO tSU_STA SCL tSCL_LO tSCL_HI Operating Power Characteristics Operating power and currents for the CY7C09449PV at typical environment are specified here, VDD = +3.3V, Temp. = +25°C. Parameter Description PD Power Dissipation[22] IDD [22] Operating Current [23] Condition Max. Unit 720 mW 200 mA IDD_LSTATIC Static Local Bus Clock 40 mA IDD_STATIC Static, no clocks 1 mA Notes: 22. CLK = 33 MHz, CLKIN = 50 MHz, PCI and Local buses operating at 25% duty cycle. This value is typical. 23. CLK = 33 MHz, CLKIN = 0 MHz, PCI and Local buses are inactive. Note that for proper initialization of the CY7C09449PV, CLKIN must toggle for some number of cycles after RST# is de-asserted. See the section Recommended Operating Environment for the specification of the CLKIN toggle parameter. Document #: 38-06061 Rev. *A Page 45 of 50 CY7C09449PV-AC CY7C09449PV Operations Local Bus Configurations The CY7C09449PV interfaces to several processor families. Local bus configurations words for some processors are indicated here. These may not be suitable for all applications for a given processor. The specific application’s local processor subsystem architecture may impact some parameters of the local bus configuration word. The 21-bit Local Bus Configuration Operations register, LBUSCFG, can be written via the I2C serial interface upon chip initialization to prepare the CY7C09449PV local bus for the proper interface protocol. Processor Motorola Power QUICC MPC860 (default) LBUSCFG value 0x010B50 Motorola QUICC 68360 0x018B18 Motorola 68040 (default) 0x010B50 Intel i960 0x010A00 Intel i486 0x016A00 Intel 80186 0x012D21 Hitachi SH7708 0x010E11 Hitachi H8/3048 0x010D00 Texas Instruments TMS320LC31 0x010A91 PCI Bus Mastering Burst transfers between the CY7C09449PV 16-KB shared memory and the PCI bus system are performed by the direct memory access (DMA) controller. Set-up for the DMA controller is accomplished by programming the Operations Registers of the CY7C09449PV from either the PCI bus interface or the Local bus interface. An indication of a completed DMA is available by polling an Operations register or servicing an interrupt. Ownership of the DMA controller by either the PCI or Local bus interfaces is arbitrated by software using the Operations Registers. The address and transfer size registers operate with DWORD resolution. The lower two bits of each of the address and transfer size fields are ignored. Transfers over the PCI bus are DWORD so all four byte enables of the bus are active when transferring data mastered by the CY7C09449PV. The full 32bit PCI address space is supported by the DMA controller. The direction of transfer is determined by the ’W’ bit in the DMA Control Register. 'W' is the “Write” bit and is with respect to the CY7C09449PV “writing” to the PCI bus. The basic sequence to setup a DMA is as follows: 1. Enable the Interrupt Mask for the desired interface if an interrupt on DMA completion is required (e.g., LINT[21] = 1 will enable the interrupt onto the IRQ_OUT pin). 2. Load the address for the beginning of the transfer block of CY7C09449PV shared memory. This is the DMA Local Base Address Register, DMALBASE. 3. Load the address for the beginning of the transfer block of PCI bus space. This is the DMA Host Base Address Register, DMAHBASE. 4. Load the size of the transfer block. This is the DMA Size Register, DMASIZE. 5. To initiate the DMA, a write to the least significant byte of the DMA Control Register, DMACTL, will start the controller. Document #: 38-06061 Rev. *A Writing a '1' to bit 0 will transfer data from the CY7C09449PV shared memory, (pointed to by DMALBASE), to the PCI bus space, (pointed to by DMAHBASE). This causes write bursts on the PCI bus. Writing a '0' to bit 0 will transfer the other direction and cause read bursts on the PCI bus. The CY7C09449PV bus mastering logic will use the most efficient PCI command available for all of its bursts during the transfer. 6. When the DMA is complete, LINT[5] will be set. If interrupts are enabled for DMA completions, then an interrupt will be generated. If not, LINT[5] can be polled. An additional option of a PCI bus mastered read transfer involves setting the option to perform non-prefetchable PCI reads during transfers into CY7C09449PV shared memory. This option is set in the DMA Control Register with the PFI flag. Also, ownership of the controller can be arbitrated in software with assistance of the L and P bits in the DMA Control Register; these are the Local Bus Ownership and PCI Bus Ownership flags, respectively. See the section CY7C09449PV Operations Registers for details. I2O Message Unit The I2O Specification describes a messaging unit consisting of four FIFOs, a shared memory to store message frames, and an interrupt function. The structure of this unit is described in the I2O Architecture Specification, version 1.5 on pages 4-2 through 4-7. This capability is fully integrated within the CY7C09449PV. Reference URL: http://www.i2osig.org/ There is no need for external circuitry to manage the FIFO operations. If I2O functionality is not desired, then the FIFOs are available for general purpose use. Each of the four FIFO are 32 DWORD deep, are accessible from both the PCI and Local bus interfaces, and can generate interrupts to both bus interfaces. The unit operates in two clock domains, that of the PCI bus and that of the Local bus. I2O message frames for transfer between the PCI and the Local domains are located within the 16-Kbyte CY7C09449PV Shared Memory, which is a generalpurpose dual-port memory. There is no restriction upon where in the 16-Kbyte space that the message frames reside, however, to satisfy I2O requirements, the message frames must begin at DWORD boundaries. Neither bus's access is dependent upon the operational state of the other bus. This is governed by the nature of the CY7C09449PV Shared Memory. Operations of the I2O FIFO and the I2O Interrupt functions occur completely within the clock domain of the Local bus, however access is available to both the PCI and Local bus interfaces. From a system perspective, the following diagram illustrates the I2O Message Unit transfer function supported by the CY7C09449PV. The CY7C09449PV is represented by the “Message Queues” block of the diagram and consists of both Inbound and Outbound Queues and the Shared Memory. For more description of the terminology used in the diagram, refer to the I2O Architecture Specification. Reference URL: http:// www.i2osig.org/ Direct Access Direct Access allows the local processor to access the PCI bus directly, bypassing the shared memory. In this mode the local processor can generate the following PCI bus master cycles: • Configuration Read C/BE[3:0] = 0xA Page 46 of 50 CY7C09449PV-AC 0 -- Target Initializes Free List with Message Frame Addresses, (MFA) 4 -- Target is Notified When Post List Becomes Non-Empty 1 -- Initiator Gets Free MFA 5 -- Target Gets MFA of Posted Messag 2 -- Initiator Transfers Message Into Message Frame Storage Area HOST 6 -- Target Transfers Message Out of Message Frame Storage Area 3 -- Initiator Completes Transfer and Signals Target by Posting MFA 7 -- Target Completes Transfer by Retur MFA to Free List 6 4 5 7 0 MESSAGE QUEUES INBOUND QUEUE POST LIST FIFO OF MFA 0 7 5 4 OUTBOUND QUEUE INBOUND MESSAGE FRAMES OUTBOUND MESSAGE FRAMES MFA = OFFSET FROM START OF IOP SHARED MEMORY MFA = SYSTEM ADDRESS SHARED MEMORY 6 IOP POST LIST FIFO OF MFA 3 FREE LIST FIFO OF MFA 1 2 PROCESSOR HOST IS TARGET 2 OUTBOUND QUEUE PROCESSING 3 IOP IS INITIATOR HOST IS INITIATOR (OR ANOTHER IOP) PCI BUS 1 FREE LIST FIFO OF MFA IOP IS TARGET INBOUND QUEUE PROCESSING SYSTEM BUS I/O DEVICES QUEUES.VSD DB 7/15/9 • Configuration Write C/BE[3:0] = 0xB • I/O Read C/BE[3:0] = 0x2 • I/O Write C/BE[3:0] = 0x3 • Memory Read C/BE[3:0] = 0x6 • Memory Write C/BE[3:0] = 0x7 • Special Cycle C/BE[3:0] = 0x1 • Interrupt Acknowledge C/BE[3:0] = 0x0 To operate in this mode, the local processor programs the Direct Access register. Programming sets the base address for the PCI master access and the type of PCI command to be generated. Then the local processor writes to the Direct Access space of the CY7C09449PV Memory Map. Offsets into the Direct Access region of the memory map are added to the PCI base address of the Direct Access register and become the address for the PCI bus master access. The type of PCI command generated is defined in the Direct Access register. A local bus read to the Direct Access area of the memory map becomes a PCI bus master read. Likewise, a local bus write to the memory map becomes a PCI bus master write. Host Bridge The CY7C09449PV can be used as a host bridge. The processor on the CY7C09449PV Local bus is therefore the host processor in the system. A host processor configures the other PCI devices on the PCI bus. The CY7C09449PV provides the I2C Serial Port and Auto-Configuration mechanism to setup for host bridge operations. Most aspects of Auto-Configuration apply to non-host use of the CY7C09449PV, as well. The CY7C09449PV must master cycles onto the PCI bus to be a host bridge. The Master Enable bit located in the PCI Document #: 38-06061 Rev. *A configuration space is the means to enable CY7C09449PV PCI mastering. Since the CY7C09449PV's default value for the Master Enable bit is deasserted, it is necessary to use the CY7C09449PV Auto-Configuration mechanism to enable PCI mastering. During the power-up reset sequence, the I2C serial interface loads data from a non-volatile memory (typically a serial EEPROM) to set the Master Enable bit in the PCI configuration space. Some, but not all, of the PCI configuration values are loaded using this mechanism. These values can be read by other devices in the system to identify the host bridge, (e.g., Device ID, Vendor ID, Class Code, etc.). Another part of the Auto-Configuration mechanism is to setup the Local bus interface with the host processor and, optionally, provide reset control to the host processor. The Local Bus Configuration register is loaded from the serial EEPROM image. This will set the protocol of the Local interface. The Host Control register is loaded by the Auto-Configuration mechanism and can control reset to the host processor. Utilization of the CY7C09449PV RSTOUTD output signal, (or its complement, RSTOUTD), is how the CY7C09449PV can control host processor reset. The Host Control register image is stored in the serial EEPROM and indicates if the reset will remain asserted or will release after Auto-Configuration is complete. Normally, it should release the host from reset. If it is not released, then an external PCI master will be required to release the host processor. Finally, the CY7C09449PV uses the Direct Access function to configure PCI devices on the PCI bus. The first device that it configures is typically itself. It is important that the Master Enable bit is set. Without this bit asserted, the CY7C09449PV Page 47 of 50 CY7C09449PV-AC cannot configuration itself (or any other devices) via the PCI bus. Dual-Port Shared Memory In order to perform concurrent target access to shared memory from the PCI and Local bus interfaces it is generally necessary to devise a handshake protocol and/or address access allocation scheme to prevent corrupting memory locations. That is, a location within the CY7C09449PV dual-port memory may be corrupted if a read from one interface occurs simultaneously with a write from the other interface to that same location. The CY7C09449PV assists the user in managing concurrent access to the shared memory. The CY7C09449PV PCI and Local bus are high performance interfaces. Internal logic performs read pre-fetching in order to maintain a full speed, zero wait-state, burst access to the shared memory. For managing memory access, the CY7C09449PV performs a disconnect or wait for target reads at each 64-byte boundary. If a user is allocating sections of memory to PCI and Local space and intends to execute simultaneous access to the shared memory from both interfaces, then this 64-byte boundary can be used to place PCI and Local sections of memory adjacent to each other. In other words, the CY7C09449PV has special logic that detects incoming burst addresses and will initiate the disconnect or wait at each 64byte boundary. In this way, if the transaction is to end at the boundary, then no further pre-fetching occurs since time has been given to the master to end the bus transaction. For the PCI bus, this is performed by a target disconnect. For the Local bus, this is wait states. Ordering Information Ordering Code Package Name CY7C09449PV-AC TQFP160 Package Type 160-Pin Plastic Thin Quad Flat Pack Operating Range 0°C to +70°C Package Diagram Pin 160 Pin 1 Document #: 38-06061 Rev. *A Page 48 of 50 CY7C09449PV-AC Package Diagram (continued) Document #: 38-06061 Rev. *A Page 49 of 50 © Cypress Semiconductor Corporation, 2002. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of any circuitry other than circuitry embodied in a Cypress Semiconductor product. Nor does it convey or imply any license under patent or other rights. Cypress Semiconductor does not authorize its products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress Semiconductor products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress Semiconductor against all charges. CY7C09449PV-AC Document Title: CY7C09449PV-AC 128Kb Dual-Port SRAM with PCI Bus Controller (PCI-DP) Document Number: 38-06061 REV. ECN NO. Issue Date Orig. of Change ** 113168 02/14/02 DSG Change from Spec number: 38-01014 to 38-05172 Change from Spec number: 38-05172 to 38-06061 *A 122309 12/27/02 RBI Power up requirements added to Absolute Maximum Ratings Information Document #: 38-06061 Rev. *A Description of Change Page 50 of 50