DSA00126992
DSA00126992
DSA00126992
Data Manual
Version 2.0
. I N C R E A S I N G S C S I R E L I A B I L I T Y
TolerANT
A C T I V E N E G A T I O N T E C H N O L O G Y
®
T07962I
The products described in this publication are product s of Symbios Logic Inc.
The products in this manual are not intended for use in life-support appliances,
devices, or systems. Use of these products in such applications without the written
consent of the appropriate Symbios Logic officer is prohibited
We use comments from our readers to improve Symbios product literature. Please
e-mail any comments regarding technical documentation to pubs@symbios.com.
Preface
Preface
Document History
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
SCSI and PCI Reference Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Document History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Chapter 1
Introduction
What is Covered in This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
General Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
TolerANT Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
SYM53C810A Benefits Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
SCSI Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
PCI Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Flexibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Testability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Chapter 2
Functional Description
SCSI Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
DMA Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
SCRIPTS Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
SDMS: The Total SCSI Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Prefetching SCRIPTS Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Op Code Fetch Burst Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
PCI Cache Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Load/Store Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
3.3 Volt/5 Volt PCI Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Loopback Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Parity Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
DMA FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Data Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Asynchronous SCSI Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Synchronous SCSI Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Asynchronous SCSI Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Synchronous SCSI Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Chapter 3
PCI Functional Description
PCI Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
PCI Bus Commands and Functions Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
PCI Cache Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Support for PCI Cache Line Size Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Selection of Cache Line Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
MMOV Misalignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Memory Write and Invalidate Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Multiple Cache Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
PCI Target Retries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
PCI Target Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Memory Read Line Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Memory Read Multiple Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Burst Size Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Read Multiple with Read Line Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Unsupported PCI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Chapter 4
Signal Descriptions
Chapter 5
Operating Registers
Register 00 (80)
SCSI Control Zero (SCNTL0)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Register 01 (81)
SCSI Control One (SCNTL1)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Register 02 (82)
SCSI Control Two (SCNTL2)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Register 03 (83)
SCSI Control Three (SCNTL3)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Register 04 (84)
SCSI Chip ID (SCID)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Register 05 (85)
SCSI Transfer (SXFER)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Register 06 (86)
SCSI Destination ID (SDID)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
Register 07 (87)
General Purpose (GPREG)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Register 08 (88)
SCSI First Byte Received (SFBR)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Register 09 (89)
SCSI Output Control Latch (SOCL)
Read /Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Register 0A (8A)
SCSI Selector ID (SSID)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Register 0B (8B)
SCSI Bus Control Lines (SBCL)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Register 0C (8C)
DMA Status (DSTAT)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Register 0D (8D)
SCSI Status Zero (SSTAT0)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Register 0E (8E)
SCSI Status One (SSTAT1)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Register 0F (8F)
SCSI Status Two (SSTAT2)
(Read Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Registers 10-13 (90-93)
Data Structure Address (DSA)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Register 14 (94)
Interrupt Status (ISTAT)
(Read/Write) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Register 18 (98)
Chip Test Zero (CTEST0)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Register 19 (99)
Chip Test One (CTEST1)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Register 1A (9A)
Chip Test Two (CTEST2)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Register 1B (9B)
Chip Test Three (CTEST3)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24
Registers 1C-1F (9C-9F)
Temporary (TEMP)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25
Register 20 (A0)
DMA FIFO (DFIFO)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26
Register 21 (A1)
Chip Test Four (CTEST4)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-26
Register 22 (A2)
Chip Test Five (CTEST5)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27
Register 23 (A3)
Chip Test Six (CTEST6)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28
Registers 24-26 (A4-A6)
DMA Byte Counter (DBC)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28
Register 27 (A7)
DMA Command (DCMD)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29
Registers 28-2B (A8-AB)
DMA Next Address (DNAD)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29
Registers 2C-2F (AC-AF)
DMA SCRIPTS Pointer (DSP)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30
Registers 30-33 (B0-B3)
DMA SCRIPTS Pointer Save (DSPS)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30
Register 4D (CD)
SCSI Test One (STEST1)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-45
Register 4E (CE)
SCSI Test Two (STEST2)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-45
Register 4F (CF)
SCSI Test Three (STEST3)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-46
Register 50 (D0)
SCSI Input Data Latch (SIDL)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-47
Registers 54 (D4)
SCSI Output Data Latch (SODL)
Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-48
Registers 58 (D8)
SCSI Bus Data Lines (SBDL)
Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-48
Registers 5C-5F (DC-DF)
Scratch Register B (SCRATCHB)
(Read/Write) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-49
Chapter 6
Instruction Set of the I/O Processor
SCSI SCRIPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Sample Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Block Move Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
First Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Second Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
I/O Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
First Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Second Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
Read/Write Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
First Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Second Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Read-Modify-Write Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Move to/from
SFBR Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14
Transfer Control Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
First Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17
Second Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
Memory Move Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
First Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Second Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Third Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Read/Write System Memory from a SCRIPTS Instruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Load and Store Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
First Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
Second Dword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24
Chapter 7
Electrical Characteristics
DC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
TolerANT Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-6
AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9
PCI Interface Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Target Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Initiator Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
PCI Interface Timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22
SCSI Timings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
Initiator Asynchronous Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
Initiator Asynchronous Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
Target Asynchronous Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25
Target Asynchronous Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26
Initiator and Target Synchronous Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-27
Appendix A
Register Summary
Appendix B
Mechanical Drawing
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-1
List of Figures
List of Tables
Table 2-1: Bits Used for Parity Control and Observation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Table 2-2: SCSI Parity Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Table 2-3: SCSI Parity Errors and Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
Table 3-1: PCI Bus Commands and Encoding Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Table 4-1: Power and Ground Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Table 4-2: System Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Table 4-3: Address and Data Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Table 4-4: Interface Control Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Table 4-5: Arbitration Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Table 4-6: Error Reporting Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Table 4-7: SCSI Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-6
Table 4-8: Additional Interface Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
Table 5-1: Operating Register Addresses and Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Table 5-2: Synchronous Clock Conversion Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Table 5-3: Asynchronous Clock Conversion Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Table 5-4: Examples of Synchronous Transfer Periods and Rates for SCSI-1 . . . . . . . . . . . . . 5-12
Table 5-5: Examples of Synchronous Transfer Periods and Rates for Fast SCSI . . . . . . . . . . . 5-12
Table 5-6: SCSI Synchronous Offset Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13
Table 6-1: Read/Write Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
Table 7-1: Absolute Maximum Stress Ratings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1
Table 7-2: Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Table 7-3: SCSI Signals - SD(7-0)/, SDP/, SREQ/ SACK/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
Table 7-4: SCSI Signals - SMSG, SI_O/, SC_D/, SATN/, SBSY/, SSEL/, SRST/. . . . . . . . . . . 7-3
Table 7-5: Input Signals - CLK, SCLK, GNT/, IDSEL, RST/, TESTIN . . . . . . . . . . . . . . . . . 7-3
Table 7-6: Capacitance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3
Table 7-7: Output Signal - MAC/_TESTOUT, REQ/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Table 7-8: Output Signal - IRQ/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Table 7-9: Output Signal - SERR/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-4
Table 7-10: Bidirectional Signals - AD(31-0), C_BE/(3-0), FRAME, IRDY/, TRDY/,
DEVSEL/, STOP/, PERR/, PAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Chapter 1
Introduction
■ New SCSI Selected As ID bits for use when ■ Controlled bus assertion times (reduces RFI,
responding with multiple IDs improves reliability, and eases FCC
certification)
■ Latch-up protection greater than 150 mA
Flexibility
■ Voltage feed through protection (minimum
■ High level programming interface (SCSI
leakage current through SCSI pads)
SCRIPTS)
■ 25% of pins power and ground
■ Support for execution of tailored SCSI
sequences from main system RAM ■ Power and ground isolation of I/O pads and
internal chip logic
■ Flexible programming interface to tune I/O
performance or to adapt to unique SCSI ■ Symbios Logic TolerANT technology with:
devices ■ Active negation of SCSI Data, Parity,
■ Flexibility to accommodate changes in the Request, and Acknowledge signals for
logical I/O interface definition improved fast SCSI transfer rates.
■ Low level access to all registers and all SCSI ■ Input signal filtering on SCSI receivers
bus signals improves data integrity, even in noisy
cabling environments.
■ Fetch, Master, and Memory Access control
pins
■ Support for indirect fetching of DMA address Testability
and byte counts so that SCRIPTS can be ■ Access to all SCSI signals through
placed in a PROM programmed I/O
■ Separate SCSI and system clocks ■ SCSI loopback diagnostics
■ Selectable IRQ pin disable bit ■ SCSI bus signal continuity checking
■ Ability to route system clock to SCSI clock ■ Single-step mode operation
■ Test mode (AND tree) to check pin continuity
to the board
SCSI Bus
PCI SYM53C810A
Bus
SCLK Peripheral
40 MHz Oscillator or
Optional Bulkhead
Internal Connection
to PCI Bus Clock
CPU Baseboard
CPU Box
PCI
Chapter 2
Functional Description
Load/Store Instructions
The SYM53C810A supports the Load/Store
instruction type, which simplifies the movement of
data between memory and the internal chip regis-
ters. It also enables the SYM53C810A to transfer
bytes to addresses relative to the DSA register. For
more information on the Load and Store instruc-
tions, refer to Chapter 6.
Loopback Mode
The SYM53C810A loopback mode allows testing
of both initiator and target functions and, in effect,
lets the chip communicate with itself. When the
Loopback Enable bit is set in the STEST1 register,
the SYM53C810A allows control of all SCSI sig-
nals, whether it is operating in initiator or target
mode. For more information on this mode of oper-
ation, refer to the SYM53C8XX Family Program-
ming Guide.
This table only applies when the Enable Parity Checking bit is set.
DMA FIFO
The DMA FIFO is divided into four sections, each one byte wide and 20 transfers deep. The DMA FIFO
is illustrated in Figure 2-1.
32 Bits Wide
20
Bytes
Deep
1. Look at the DFIFO and DBC registers and Synchronous SCSI Receive
calculate if there are bytes left in the DMA
FIFO. To make this calculation, subtract the 1. Subtract the seven least significant bits of the
seven least significant bits of the DBC register DBC register from the 7-bit value of the
from the 7-bit value of the DFIFO register. DFIFO register. AND the result with 7Fh for a
AND the result with 7Fh for a byte count byte count between 0 and 80.
between zero and 80. 2. Read the SSTAT1 register and examine bits 7-
2. Read bit 5 in the SSTAT0 register to 4, the binary representation of the number of
determine if any bytes are left in the SODL valid bytes in the SCSI FIFO, to determine if
register. If bit 5 is set in SSTAT0, then the any bytes are left in the SCSI FIFO.
SODL register is full.
SCSI Interface
UC5601QP
2 20 SD0 (J1.2)
2.85V TERML1
REG_OUT 21 SD1 (J1.4)
TERML2
22 SD2 (J1.6)
TERML3
C1 C2 23 SD3 (J1.8)
TERML4
24 SD4 (J1.10)
TERML5
25 SD5 (J1.12)
TERML6
26 SD6 (J1.14)
TERML7
27 SD7 (J1.16)
TERML8
28 SD8 (J1.18)
TERML9
3 ATN (J1.32)
TERML10
4 BSY (J1.36)
TERML11
5 ACK (J1.38)
TERML12
6 RST (J1.40)
TERML13
7 MSG (J1.42)
TERML14
8 SEL (J1.44)
19 TERML15
DISCONNECT 9 C/D (J1.46)
TERML16
10 REQ (J1.48)
TERML17
11 I/O (J1.50)
TERML18
Key
C1 10 µF SMT
C2 0.1 µF SMT
J1 68-pin, high density “P” connector
SCF XFERP
SCF2 SCF1 SCF0 TP2 TP1 TP0
Divisor Divisor
0 0 1 1 0 0 0 4
0 1 0 1.5 0 0 1 5
0 1 1 2 0 1 0 6
1 0 0 3 0 1 1 7
0 0 0 3 1 0 0 8
1 0 1 9
1 1 0 10
1 1 1 11
Divide by 4 Receive
This point- Clock
SCF must not Synchronous Send Clock
Divider exceed 50 Divider (to SCSI bus)
SCLK MHz
CCF Asynchronous
Divider SCSI Logic
SCSI Clock
CCF2 CCF1 CCF0
(MHz)
0 0 0 50.1-66.00 Example:
0 0 1 16.67-25.00
SCLK= 40 MHz, SCF=1(/1), XFERP=0(/4),
0 1 0 25.01-37.50 CCF=3(37.51-50.00 MHz)
0 1 1 37.51-50.00 Synchronous send rate=(SCLK/SCF)/XFERP=
1 0 0 50.01-66.00 (40/1)/4= 10 MB/s
Synchronous receive rate=(SCLK/SCF) / 4=(40/1)/4= 10 MB/s
DSTAT
Registers
The DSTAT register contains the DMA-type
The registers in the SYM53C810A that are used
interrupt bits. Reading this register will determine
for detecting or defining interrupts are the ISTAT,
which condition or conditions caused the DMA-
SIST0, SIST1, DSTAT, SIEN0, SIEN1,
type interrupt, and will clear that DMA interrupt
DCNTL, and DIEN.
condition. The DFE bit, bit 7 in DSTAT, is purely
a status bit; it will not generate an interrupt under
ISTAT any circumstances and will not be cleared when
The ISTAT is the only register that can be read. DMA interrupts will flush neither the DMA
accessed as a slave during SCRIPTS operation, nor SCSI FIFOs before generating the interrupt,
therefore it is the register that is polled when so the DFE bit in the DSTAT register should be
polled interrupts are used. It is also the first regis- checked after any DMA interrupt. If the DFE bit
ter that should be read when the IRQ/ pin has been is clear, then the FIFOs must be cleared by setting
asserted in association with a hardware interrupt. the CLF (Clear DMA FIFO) and CSF (Clear
The INTF (Interrupt on the Fly) bit should be the SCSI FIFO) bits, or flushed by setting the FLF
first interrupt serviced. It must be written to one to (Flush DMA FIFO) bit.
be cleared. This interrupt must be cleared before
servicing any other interrupts. If the SIP bit in the
SIEN0 and SIEN1 configure the chip’s behavior when the SATN/
interrupt is enabled during target role operation.
The SIEN0 and SIEN1 registers are the interrupt
The Interrupt on the Fly interrupt is also non-
enable registers for the SCSI interrupts in SIST0
fatal, since SCRIPTS can continue when it occurs.
and SIST1.
The reason for non-fatal interrupts is to prevent
DIEN SCRIPTS from stopping when an interrupt occurs
that does not require service from the CPU. This
The DIEN register is the interrupt enable register
prevents an interrupt when arbitration is complete
for DMA interrupts in DSTAT.
(CMP set), when the SYM53C810A has been
selected or reselected (SEL or RSL set), when the
DCNTL initiator has asserted ATN (target mode: SATN/
When bit 1 in this register is set, the IRQ/ pin will active), or when the General Purpose or Hand-
not be asserted when an interrupt condition shake to Handshake timers expire. These inter-
occurs. The interrupt is not lost or ignored, but rupts do not require CPU intervention during
merely masked at the pin. Clearing this bit when high-level SCRIPTS operation.
an interrupt is pending will immediately cause the
IRQ/ pin to assert. As with any register other than
ISTAT, this register cannot be accessed except by a Masking
SCRIPTS instruction during SCRIPTS execution. Masking an interrupt means disabling or ignoring
that interrupt. Interrupts can be masked by clear-
ing bits in the SIEN0 and SIEN1 (for SCSI inter-
Fatal vs. Non-Fatal rupts) registers or the DIEN (for DMA interrupts)
Interrupts register. How the chip will respond to masked
A fatal interrupt, as the name implies, always interrupts depends on: whether polling or hard-
causes SCRIPTS to stop running. All non-fatal ware interrupts are being used; whether the inter-
interrupts become fatal when they are enabled by rupt is fatal or non-fatal; and whether the chip is
setting the appropriate interrupt enable bit. For operating in initiator or target role.
more information on interrupt masking, see the If a non-fatal interrupt is masked and that condi-
discussion on masking later in this section. All tion occurs, SCRIPTS will not stop, the appropri-
DMA interrupts (indicated by the DIP bit in ate bit in the SIST0 or SIST1 will still be set, the
ISTAT and one or more bits in DSTAT being set) SIP bit in the ISTAT will not be set, and the IRQ/
are fatal. pin will not be asserted. See the section on non-
Some SCSI interrupts (indicated by the SIP bit in fatal vs. fatal interrupts for a list of the non-fatal
the ISTAT and one or more bits in SIST0 or interrupts.
SIST1 being set) are non-fatal. When the If a fatal interrupt is masked and that condition
SYM53C810A is operating in initiator role, only occurs, then SCRIPTS will still stop, the appropri-
the Function Complete (CMP), Selected (SEL), ate bit in the DSTAT, SIST0, or SIST1 register
Reselected (RSL), General Purpose Timer Expired will be set, and the SIP or DIP bits in the ISTAT
(GEN), and Handshake to Handshake Timer will be set, but the IRQ/ pin will not be asserted.
Expired (HTH) interrupts are non-fatal. When
operating in target role CMP, SEL, RSL, Target When the chip is initialized, enable all fatal inter-
mode: SATN/ active (M/A), GEN, and HTH are rupts if you are using hardware interrupts. If a fatal
non-fatal. Refer to the description for the Disable interrupt is disabled and that interrupt condition
Halt on a Parity Error or SATN/ active (Target
Mode Only) (DHP) bit in the SCNTL1 register to
occurs, SCRIPTS will halt and the system will set, there is a small timing window in which multi-
never know it unless it times out and checks the ple interrupts can occur but will not be stacked.
ISTAT after a certain period of inactivity. These could be multiple SCSI interrupts (SIP set),
multiple DMA interrupts (DIP set), or multiple
If you are polling the ISTAT instead of using hard-
SCSI and multiple DMA interrupts (both SIP and
ware interrupts, then masking a fatal interrupt will
DIP set).
make no difference since the SIP and DIP bits in
the ISTAT inform the system of interrupts, not the As previously mentioned, DMA interrupts will not
IRQ/ pin. attempt to flush the FIFOs before generating the
interrupt. It is important to set the Clear DMA
Masking an interrupt after IRQ/ is asserted will not
FIFO (CLF) and Clear SCSI FIFO (CSF) bits if a
cause IRQ/ to be deasserted.
DMA interrupt occurs and the DMA FIFO Empty
(DFE) bit is not set. This is because any future
Stacked Interrupts SCSI interrupts will not be posted until the DMA
FIFO is clear of data. These ‘locked out’ SCSI
The SYM53C810A stacks interrupts if they occur interrupts will be posted as soon as the DMA
one after another. If the SIP or DIP bits in the FIFO is empty.
ISTAT register are set (first level), then there is
already at least one pending interrupt, and any
future interrupts will be stacked in extra registers Halting in an
behind the SIST0, SIST1, and DSTAT registers Orderly Fashion
(second level). When two interrupts have occurred
and the two levels of the stack are full, any further When an interrupt occurs, the SYM53C810A will
interrupts will set additional bits in the extra regis- attempt to halt in an orderly fashion.
ters behind SIST0, SIST1, and DSTAT. When the ■ If the interrupt occurs in the middle of an
first level of interrupts are cleared, all the inter- instruction fetch, the fetch will be completed,
rupts that came in afterward will move into the except in the case of a Bus Fault. Execution
SIST0, SIST1, and DSTAT. After the first inter- will not begin, but the DSP will point to the
rupt is cleared by reading the appropriate register, next instruction since it is updated when the
the IRQ/ pin will be deasserted for a minimum of current instruction is fetched.
three CLKs; the stacked interrupt(s) will move
into the SIST0, SIST1, or DSTAT; and the IRQ/ ■ If the DMA direction is a write to memory and
pin will be asserted once again. a SCSI interrupt occurs, the SYM53C810A
will attempt to flush the DMA FIFO to
Since a masked non-fatal interrupt will not set the memory before halting. Under any other
SIP or DIP bits, interrupt stacking will not occur. circumstances only the current cycle will be
A masked, non-fatal interrupt will still post the completed before halting, so the DFE bit in
interrupt in SIST0, but will not assert the IRQ/ DSTAT should be checked to see if any data
pin. Since no interrupt is generated, future inter- remains in the DMA FIFO.
rupts will move right into the SIST0 or SIST1
instead of being stacked behind another interrupt. ■ SCSI SREQ/SACK handshakes that have
When another condition occurs that generates an begun will be completed before halting.
interrupt, the bit corresponding to the earlier ■ The SYM53C810A will attempt to clean up
masked non-fatal interrupt will still be set. any outstanding synchronous offset before
A related situation to interrupt stacking is when halting.
two interrupts occur simultaneously. Since stack- ■ In the case of Transfer Control Instructions,
ing does not occur until the SIP or DIP bits are once instruction execution begins it will
continue to completion before halting.
■ If the instruction is a JUMP/CALL WHEN/IF 6. When using polled interrupts, go back to step
<phase>, the DSP will be updated to the 1 before leaving the interrupt service routine,
transfer address before halting. in case any stacked interrupts moved in when
the first interrupt was cleared. When using
■ All other instructions may halt before
hardware interrupts, the IRQ/ pin will be
completion.
asserted again if there are any stacked
interrupts. This should cause the system to re-
Sample Interrupt enter the interrupt service routine.
Service Routine
The following is a sample of an interrupt service
routine for the SYM53C810A. It can be repeated
if polling is used, or should be called when the
IRQ/ pin is asserted if hardware interrupts are
used.
1. Read ISTAT.
2. If the INTF bit is set, it must be written to a
one to clear this status.
3. If only the SIP bit is set, read SIST0 and
SIST1 to clear the SCSI interrupt condition
and get the SCSI interrupt status. The bits in
the SIST0 and SIST1 tell which SCSI
interrupt(s) occurred and determine what
action is required to service the interrupt(s).
4. If only the DIP bit is set, read the DSTAT to
clear the interrupt condition and get the DMA
interrupt status. The bits in the DSTAT will
tell which DMA interrupt(s) occurred and
determine what action is required to service
the interrupt(s).
5. If both the SIP and DIP bits are set, read
SIST0, SIST1, and DSTAT to clear the SCSI
and DMA interrupt condition and get the
interrupt status. If using 8-bit reads of the
SIST0, SIST1, and DSTAT registers to clear
interrupts, insert a 12 CLK delay between the
consecutive reads to ensure that the interrupts
clear properly. Both the SCSI and DMA
interrupt conditions should be handled before
leaving the ISR. It is recommended that the
DMA interrupt be serviced before the SCSI
interrupt, because a serious DMA interrupt
condition could influence how the SCSI
interrupt is acted upon.
Chapter 3
PCI Functional Description
The Memory Read, Memory Read Multiple, and Note: the SYM53C810A will not automatically
Memory Read Line commands are used to read use the value in the PCI Cache Line Size
data from an agent mapped in memory address register as the cache line size value. The
space. All 32 address bits are decoded. chip scales the value of the Cache Line Size
register down to the nearest binary burst
The Memory Write and Memory Write and Invali-
size allowed by the chip (2, 4, 8 or 16),
date commands are used to write data to an agent
compares this value to the DMODE burst
when mapped in memory address space. All 32
size, then selects the smallest as the value
address bits are decoded.
for the cache line size. The SYM53C810A
will use this value for all burst data
transfers.
PCI Cache Mode
The SYM53C810A supports the PCI specification Alignment
for an 8-bit Cache Line Size register located in
PCI configuration space. The Cache Line Size reg- The SYM53C810A uses the calculated burst size
ister provides the ability to sense and react to non- value to monitor the current address for alignment
aligned addresses corresponding to cache line to the cache line size. When it is not aligned the
boundaries. In conjunction with the Cache Line chip disables bursting, allowing only single dword
Size register, the PCI commands Read Line, Read transfers until a cache line boundary is reached.
Multiple, and Write and Invalidate are each soft- When the chip is aligned, bursting is re-enabled it
ware enabled or disabled to allow the user full flex- will burst in increments specified by the Cache
ibility in using these commands. Line Size register as explained above. If the Cache
Line Size register is not set (default = 00h), the
DMODE burst size is automatically used as the
Support for PCI cache line size.
Cache Line Size Register
The SYM3C810A supports the PCI specification MMOV
for an 8-bit Cache Line Size register in PCI config- Misalignment
uration space; it can sense and react to non-aligned
addresses corresponding to cache line boundaries. The SYM53C810A will not operate in a cache
alignment mode when a MMOV instruction is
issued and the read and write addresses are differ-
Selection of Cache ent distances from the nearest cache line bound-
Line Size ary. For example, if the read address is 0x21F and
the write address is 0x42F, and the cache line size
The cache logic will select a cache line size based is eight (8), the addresses are byte aligned, but they
on the values for the burst size in the DMODE are not the same distance from the nearest cache
register and the PCI Cache Line Size register. boundary. The read address is 1 byte from the
cache boundary 0x220 and the write address is 17
bytes from the cache boundary 0x440. In this situ-
ation, the chip will not align to cache boundaries
and will operate as an SYM53C810.
2. The Cache Line Size register must contain a 4. The chip must be aligned to a cache line
legal burst size value (2, 4, 8 or 16) AND that boundary.
value must be less than or equal to the When these conditions have been met, the chip
DMODE burst size. will issue a Read Multiple command instead of a
Memory Read during all PCI read cycles.
3. The number of bytes to be transferred at the
time a cache boundary has been reached must
be equal to or greater than a full cache line
size.
31 16 15 0
Device ID = 0001h Vendor ID = 1000h 00h
Status Command 04h
Class Code = 010000h Rev ID=01h 08h
Not Supported Header Type Latency Timer Cache Line Size 0Ch
Base Address Zero (I/O)* 10h
Base Address One (Memory)** 14h
Not Supported 18h
Not Supported 1Ch
Not Supported 20h
Not Supported 24h
Reserved 28h
Reserved 2Ch
Reserved 30h
Reserved 34h
Reserved 38h
Max_Lat Min_Gnt Interrupt Pin Interrupt Line 3Ch
15 14 13 12 1110 9 8 7 6 5 4 3 2 1 0
Reserved
Reserved
Reserved
Reserved
Reserved
Reserved
Not Implemented
SERR/ Enable
Not Implemented
Enable Parity Response
Not Implemented
Write and Invalidate Mode
Not Implemented
Enable Bus Mastering
Enable Memory Space
Enable I/O Space
15 14 13 12 1110 9 8 7 6 5 4 3 2 1 0
Detected Parity Error (from Slave)
Signaled System Error
Received Master Abort (from Master)
Received Target Abort (from Master)
Not Implemented
DEVSEL timing
00 = fast, 01 = medium, 10 = slow
Data Parity Reported
Not Implemented
Not Implemented
Not Implemented
Reserved
Reserved
Reserved
Reserved
Reserved
Register 0Ch
Cache Line Size
Read/Write
This register specifies the system cache line size in
units of 32-bit words. Cache mode is enabled and
disabled by the Cache Line Size Enable (CLSE)
bit, bit 7 in the DCNTL register. Setting this bit
causes the SYM53C810A to align to cache line
boundaries before allowing any bursting, except
during MMOVs in which the read and write
addresses are Burst Size boundary misaligned. For
more information, see “Support for PCI Cache
Line Size Register” on page 3-2.
Register 3Ch
Interrupt Line
Read/Write
This register is used to communicate interrupt line
routing information. POST software will write the
routing information into this register as it initiates
and configures the system. The value in this regis-
ter tells which input of the system interrupt con-
troller(s) has been connected to the device’s
interrupt pin. Values in this register are specified by
system architecture.
Chapter 4
Signal Descriptions
This chapter presents the SYM53C810A pin configuration and signal definitions using tables and
illustrations. Figure 4-1 is the pin diagram and Figure 4-2 is a functional signal grouping. The pin def-
initions are presented in Table 4-1 through Table 4-8. The SYM53C810A is pin-for-pin compatible
with the SYM53C810.
V DD -C
C_BE3/
IDSEL
Vss-C
V DD- I
AD22
AD23
AD24
AD25
AD26
AD27
AD28
AD29
AD30
AD31
Vss-I
Vss-I
Vss-I
REQ/
GNT/
99 97 95 93 91 89 87 85 83 81
AD21 1 80 CLK
AD20 2 79 RST/
V DD- I 3 78 SERR/
AD19 4 77 V DD -S
V SS- I 5 76 SD0/
AD18 6 75 SD1/
AD17 7 74 SD2/
AD16 8 73 Vss-S
Vss-I 9 72 SD3/
C_BE2/ 10 71 SD4/
FRAME/ 11 70 SD5/
IRDY/ 12 69 SD6/
Vss-I 13 68 Vss-S
TRDY/ 14 67 SD7/
DEVSEL/ 15 SYM53C810A 66 SDP/
SATN/
V DD- I
STOP/
16
17
100-Pin QFP 65
64 SBSY/
V SS-I 18 63 Vss-S
PERR/ 19 62 SACK/
PAR 20 61 SRST/
C_BE1/ 21 60 SMSG/
V SS- I 22 59 SSEL/
AD15 23 58 Vss-S
AD14 24 57 SCD/
AD13 25 56 SREQ/
V SS-I 26 55 SIO/
AD12 27 54 V DD -S
V DD-I 28 53 MAC/_TESTOUT
AD11 29 52 TESTIN
AD10 30 51 SCLK
32 34 36 38 40 42 44 46 48 50
VSS -C
AD9
Vss-I
AD8
C_BE0/
AD7
AD6
Vss-I
AD5
AD4
AD3
AD2
Vss-I
AD1
AD0
VDD -C
IRQ/
GPIO0_FETCH/
GPIO1_MASTER/
VDD- I
The decoupling capacitor arrangement shown above is recommended to maximize the benefits of the internal split ground system. Capac-
itor values between 0.01 and 0.1µF should provide adequate noise isolation. Because of the number of high current drivers on the
SYM53C810A, a multi-layer PC board with power and ground planes is required.
SCLK
CLK
System SD7-0
SDP
RST SCSI
SCTRL/
AD31-0
PAR
FRAME/
TRDY/
DEVSEL/ GPIO1_MASTER/
IDSEL
REQ/
MAC/_TESTOUT Additional Interface
Arbitration
GNT/
IRQ/
TESTIN/
SERR/
Error Reporting PERR/
Chapter 5
Operating Registers
This section contains descriptions of all Note: the only register that the host CPU can
SYM53C810A operating registers. Table 5-1 sum- access while the SYM53C810A is
marizes the SYM53C810A operating register set. executing SCRIPTS is the ISTAT register;
Figure 5-1, the register map, lists registers by oper- attempts to access other registers will
ating and configuration addresses. The terms “set” interfere with the operation of the chip.
and “assert” are used to refer to bits that are pro- However, all operating registers are
grammed to a binary one. Similarly, the terms accessible with SCRIPTS. All read data is
“deassert,” “clear” and “reset” are used to refer to synchronized and stable when presented to
bits that are programmed to a binary zero. Any bits the PCI bus.
marked as reserved should always be written to ze-
Note: the SYM53C810A cannot fetch SCRIPTS
ro; mask all information read from them. Reserved
instructions from the operating register
bit functions may be changed at any time. Unless
space. Instructions must be fetched from
otherwise indicated, all bits in registers are active
system memory.
high, that is, the feature is enabled by setting the
bit. The bottom row of every register diagram
shows the default register values, which are enabled
after the chip is powered on or reset.
Memory
PCI
or I/O
Configuration Read/Write Label Description
Address
Address
Offset
00 80 R/W SCNTL0 SCSI Control 0
01 81 R/W SCNTL1 SCSI Control 1
02 82 R/W SCNTL2 SCSI Control 2
03 83 R/W SCNTL3 SCSI Control 3
04 84 R/W SCID SCSI Chip ID
05 85 R/W SXFER SCSI Transfer
06 86 R/W SDID SCSI Destination ID
07 87 R/W GPREG General Purpose Bits
08 88 R/W SFBR SCSI First Byte Received
09 89 R/W SOCL SCSI Output Control Latch
0A 8A R SSID SCSI Selector ID
Memory
PCI
or I/O
Configuration Read/Write Label Description
Address
Address
Offset
0B 8B R/W SBCL SCSI Bus Control Lines
0C 8C R DSTAT DMA Status
0D 8D R SSTAT0 SCSI Status 0
0E 8E R SSTAT1 SCSI Status 1
0F 8F R SSTAT2 SCSI Status 2
10-13 90-93 R/W DSA Data Structure Address
14 94 R/W ISTAT Interrupt Status
15-17 95-97 Reserved
18 98 R/W CTEST0 Reserved
19 99 R/W CTEST1 Chip Test 1
1A 9A R CTEST2 Chip Test 2
1B 9B R CTEST3 Chip Test 3
1C-1F 9C-9F R/W TEMP Temporary Stack
20 A0 R/W DFIFO DMA FIFO
21 A1 R/W CTEST4 Chip Test 4
22 A2 R/W CTEST5 Chip Text 5
23 A3 R/W CTEST6 Chip Test 6
24-26 A4-A6 R/W DBC DMA Byte Counter
27 A7 R/W DCMD DMA Command
28-2B A8-AB R/W DNAD DMA Next Address for Data
2C-2F AC-AF R/W DSP DMA SCRIPTS Pointer
30-33 B0-B3 R/W DSPS DMA SCRIPTS Pointer Save
34-37 B4-B7 R/W SCRATCHA General Purpose Scratch Pad A
38 B8 R/W DMODE DMA Mode
39 B9 R/W DIEN DMA Interrupt Enable
3A BA R/W SBR Scratch Byte Register
3B BB R/W DCNTL DMA Control
3C-3F BC-BF R ADDER Sum output of internal adder
40 C0 R/W SIEN0 SCSI Interrupt Enable 0
41 C1 R/W SIEN1 SCSI Interrupt Enable 1
42 C2 R SIST0 SCSI Interrupt Status 0
43 C3 R SIST1 SCSI Interrupt Status 1
44 C4 R/W SLPAR SCSI Longitudinal Parity
Memory
PCI
or I/O
Configuration Read/Write Label Description
Address
Address
Offset
45 C5 Reserved
46 C6 R/W MACNTL Memory Access Control
47 C7 R/W GPCNTL General Purpose Control
48 C8 R/W STIME0 SCSI Timer 0
49 C9 R/W STIME1 SCSI Timer 1
4A CA R/W RESPID Response ID
4B CB Reserved
4C CC R STEST0 SCSI Test 0
4D CD R STEST1 SCSI Test 1
4E CE R/W STEST2 SCSI Test 2
4F CF R/W STEST3 SCSI Test 3
50 D0 R SIDL SCSI Input Data Latch
51-53 D1-D3 Reserved
54 D4 R/W SODL SCSI Output Data Latch
55-57 D5-D7 Reserved
58 D8 R SBDL SCSI Bus Data Lines
59-5B D9-DB Reserved
5C-5F DC-DF R/W SCRATCHB General Purpose Scratch Pad B
1. The SYM53C810A waits for a bus free 6. After a selection is complete, the Function
condition to occur. Complete bit is set in the SIST0 register,
bit 6.
2. It asserts SBSY/ and its SCSI ID
(contained in the SCID register) onto the 7. If a selection time-out occurs, the Selection
SCSI bus. If the SSEL/ signal is asserted by Time-Out bit is set in the SIST1 register,
another SCSI device, the SYM53C810A bit 2.
will deassert SBSY/, deassert its ID and set
the Lost Arbitration bit (bit 3) in the Bit 5 START (Start sequence)
SSTAT0 register. When this bit is set, the SYM53C810A will
start the arbitration sequence indicated by the
3. After an arbitration delay, the CPU should Arbitration Mode bits. The Start Sequence bit
read the SBDL register to check if a higher is accessed directly in low-level mode; during
priority SCSI ID is present. If no higher SCSI SCRIPTS operations, this bit is con-
priority ID bit is set, and the Lost trolled by the SCRIPTS processor. An arbitra-
Arbitration bit is not set, the tion sequence should not be started if the
SYM53C810A has won arbitration. connected (CON) bit in the SCNTL1 register,
4. Once the SYM53C810A has won bit 4, indicates that the SYM53C810A is
arbitration, SSEL/ must be asserted via the already connected to the SCSI bus. This bit is
SOCL for a bus clear plus a bus settle delay automatically cleared when the arbitration
(1.2 µs) before a low level selection can be sequence is complete. If a sequence is aborted,
performed. bit 4 in the SCNTL1 register should be
checked to verify that the SYM53C810A did
not connect to the SCSI bus.
Bit 4 WATN (Select with SATN/ on a start If the Assert SATN/ on Parity Error bit is
sequence) cleared or the Enable Parity Checking bit is
When this bit is set and the SYM53C810A is cleared, SATN/ will not be automatically
in initiator mode, the SATN/ signal will be asserted on the SCSI bus when a parity error is
asserted during SYM53C810A selection of a received.
SCSI target device. This is to inform the target
that the SYM53C810A has a message to send. Bit 0 TRG (Target role)
If a selection time-out occurs while attempting This bit determines the default operating role
to select a target device, SATN/ will be deas- of the SYM53C810A. The user must manually
serted at the same time SSEL/ is deasserted. set target or initiator role. This can be done
When this bit is clear, the SATN/ signal will using the SCRIPTS language (SET TARGET
not be asserted during selection. When execut- or CLEAR TARGET). When this bit is set, the
ing SCSI SCRIPTS, this bit is controlled by chip is a target device by default. When this bit
the SCRIPTS processor, but it may be set is cleared, the SYM53C810A is an initiator
manually in low level mode. device by default.
CAUTION:
Bit 3 EPC (Enable parity checking)
When this bit is set, the SCSI data bus is Writing this bit while not connected may cause the
checked for odd parity when data is received loss of a selection or reselection due to the chang-
from the SCSI bus in either initiator or target ing of target or initiator roles.
mode. If a parity error is detected, bit 0 of the
SIST0 register is set and an interrupt may be
generated.
If the SYM53C810A is operating in initiator
mode and a parity error is detected, SATN/
can optionally be asserted, but the transfer
continues until the target changes phase. When
this bit is cleared, parity errors are not
reported.
Bit 2 Reserved
Bit 3 Reserved
Table 5-4: Examples of Synchronous Transfer Periods and Rates for SCSI-1
Synch
SCF (SCNTL3 XFERP (SXFER Sync Send Sync Send Sync Receive
SCLK (MHz) Receive
bits 6-4) bits 7-5) Rate (MB/s) Period (ns) Rate (MB/s)
Period (ns)
66.67 ÷3 4 5.55 180 5.55 180
66.67 ÷3 5 4.44 225 5.55 180
50 ÷2 4 6.25 160 6.25 160
50 ÷2 5 5 200 6.25 160
40 ÷2 4 5 200 5 200
37.50 ÷ 1.5 4 6.25 160 6.25 160
33.33 ÷ 1.5 4 5.55 180 5.55 180
25 ÷1 4 6.25 160 6.25 160
20 ÷1 4 5 200 5 200
16.67 ÷1 4 4.17 240 4.17 240
Table 5-5: Examples of Synchronous Transfer Periods and Rates for Fast SCSI
Synch
SCF (SCNTL3 XFERP (SXFER Sync Send Sync Send Sync Receive
SCLK (MHz) Receive
bits 6-4) bits 7-5) Rate (MB/s) Period (ns) Rate (MB/s)
Period (ns)
66.67 ÷ 1.5 4 11.11 90 11.11 90
66.67 ÷1 5 8.88 112.5 11.11 90
50 ÷1 4 12.5 80 12.5 80
50 ÷1 5 10 100 12.5 80
40 ÷1 4 10 100 10 100
37.50 ÷1 4 9.375 106.67 9.375 106.67
33.33 ÷1 4 8.33 120 8.33 120
25 ÷1 4 6.25 160 6.25 160
20 ÷1 4 5 200 5 200
16.67 ÷1 4 4.17 240 4.17 240
Bit 4 Reserved
Register 06 (86)
Bits 3-0 MO4-MO0 (Max SCSI Synchronous SCSI Destination ID (SDID)
Offset) Read/Write
These bits describe the maximum SCSI syn- RES RES RES RES RES ENC2 ENC1 ENC0
chronous offset used by the SYM53C810A 7 6 5 4 3 2 1 0
when transferring synchronous SCSI data in Default>>>
either initiator or target mode. The following X X X X X 0 0 0
Bit 7 REQ(Assert SCSI REQ/ signal) Bit 7 VAL (SCSI Valid Bit)
If VAL is asserted, the two SCSI IDs were
Bit 6 ACK(Assert SCSI ACK/ signal) detected on the bus during a bus-initiated
selection or reselection, and the encoded desti-
Bit 5 BSY(Assert SCSI BSY/ signal) nation SCSI ID bits below are valid. If VAL is
deasserted, only one ID was present and the
Bit 4 SEL(Assert SCSI SEL/ signal) contents of the encoded destination ID are
meaningless.
Bit 3 ATN(Assert SCSI ATN/ signal)
Bits 6-3 Reserved
Bit 2 MSG(Assert SCSI MSG/ signal)
Bits 2-0 Encoded Destination SCSI ID
Bit 1 C/D(Assert SCSI C_D/ signal) Reading the SSID register immediately after
the SYM53C810A has been selected or rese-
Bit 0 I/O(Assert SCSI I_O/ signal) lected returns the binary-encoded SCSI ID of
This register is used primarily for diagnostic testing the device that performed the operation. These
or programmed I/O operation. It is controlled by bits are invalid for targets that are selected
the SCRIPTS processor when executing SCSI under the single initiator option of the SCSI-1
SCRIPTS. SOCL should only be used when trans- specification. This condition can be detected
ferring data via programmed I/O. Some bits are set by examining the VAL bit above.
(1) or reset (0) when executing SCSI SCRIPTS.
Do not write to the register once the
SYM53C810A starts executing normal SCSI
SCRIPTS.
Reading this register will clear any bits that are set
Bit 7 REQ (SREQ/ status) at the time the register is read, but will not neces-
sarily clear the register because additional inter-
Bit 6 ACK (SACK/ status) rupts may be pending (the SYM53C810A stacks
interrupts). The DIP bit in the ISTAT register will
Bit 5 BSY (SBSY/ status) also be cleared. DMA interrupt conditions may be
individually masked through the DIEN register.
Bit 4 SEL (SSEL/ status)
When performing consecutive 8-bit reads of the
DSTAT, SIST0 and SIST1 registers (in any or-
Bit 3 ATN SATN/ status)
der), insert a delay equivalent to 12 CLK periods
between the reads to ensure that the interrupts clear
Bit 2 MSG (SMSG/ status)
properly. See Chapter 2, “Functional Description,”
for more information on interrupts.
Bit 1 C/D (SC_D/ status)
Bit 7 DFE (DMA FIFO empty)
Bit 0 I/O (SI_O/ status) This status bit is set when the DMA FIFO is
When read, this register returns the SCSI control empty. It may be used to determine if any data
line status. A bit will be set when the corresponding resides in the FIFO when an error occurs and
SCSI control line is asserted. These bits are not an interrupt is generated. This bit is a pure sta-
latched; they are a true representation of what is on tus bit and will not cause an interrupt.
the SCSI bus at the time the register is read. The re-
sulting read data is synchronized before being pre-
Bit 6 MDPE (Master Data Parity Error)
sented to the PCI bus to prevent parity errors from
This bit is set when the SYM53C810A as a
being passed to the system. This register can be
master detects a data parity error, or a target
used for diagnostics testing or operation in low level
device signals a parity error during a data
mode.
phase. This bit is completely disabled by the
Master Parity Error Enable bit (bit 3 of
CTEST4).
Bit 0 SDP/ (SCSI SDP/ parity signal) These four bits define the number of bytes that
This bit represents the active high current sta- currently reside in the SYM53C810A’s SCSI
tus of the SCSI SDP/ parity signal. synchronous data FIFO. These bits are not
latched and they will change as data moves
through the FIFO. Because the FIFO can only
hold nine bytes, values over nine will not occur.
Bit 0 Reserved
ting this bit does not cause the SCSI RST/ sig- Bit 3 CON (Connected)
nal to be asserted. This reset will not clear the This bit is automatically set any time the
53C700 compatibility bit or any of the PCI SYM53C810A is connected to the SCSI bus
configuration registers. This bit is not self- as an initiator or as a target. It will be set after
clearing; it must be cleared to clear the reset successfully completing selection or when the
condition (a hardware reset will also clear this SYM53C810A has responded to a bus-initi-
bit). ated selection or reselection. It will also be set
after the SYM53C810A wins arbitration when
Bit 5 SIGP (Signal process) operating in low level mode. When this bit is
SIGP is a R/W bit that can be written at any clear, the SYM53C810A is not connected to
time, and polled and reset via CTEST2. The the SCSI bus.
SIGP bit can be used in various ways to pass a
flag to or from a running SCRIPTS instruc- Bit 2 INTF (Interrupt on the Fly)
tion. This bit is asserted by an INTFLY instruction
during SCRIPTS execution. SCRIPTS pro-
The only SCRIPTS instruction directly
grams will not halt when the interrupt occurs.
affected by the SIGP bit is Wait For Selection/
This bit can be used to notify a service routine,
Reselection. Setting this bit causes that
running on the main processor while the
instruction to jump to the alternate address
SCRIPTS processor is still executing a
immediately. The instructions at the alternate
SCRIPTS program. If this bit is set, when the
jump address should check the status of SIGP
ISTAT register is read it will not automatically
to determine the cause of the jump. The SIGP
be cleared. To clear this bit, it must be written
bit may be used at any time and is not
to a one. The reset operation is self-clearing.
restricted to the wait for selection/ reselection
condition. Note: if the INTF bit is set but SIP or DIP is not
set, do not attempt to read the other chip
Bit 4 SEM (Semaphore) status registers. An interrupt-on-the-fly
This bit can be set by the SCRIPTS processor interrupt must be cleared before servicing
using a SCRIPTS register write instruction. any other interrupts indicated by SIP or
The bit may also be set by an external proces- DIP.
sor while the SYM53C810A is executing a
Note: this bit must be written to one in order to
SCRIPTS operation. This bit enables the
clear it after it has been set.
SYM53C810A to notify an external processor
of a predefined condition while SCRIPTS are
running. The external processor may also
notify the SYM53C810A of a predefined con-
dition and the SCRIPTS processor may take
action while SCRIPTS are executing.
Bits 7-4 FMT3-0 (Byte empty in DMA FIFO) Bit 7 DDIR (Data transfer direction)
These bits identify the bottom bytes in the This status bit indicates which direction data is
DMA FIFO that are empty. Each bit corre- being transferred. When this bit is set, the data
sponds to a byte lane in the DMA FIFO. For will be transferred from the SCSI bus to the
example, if byte lane three is empty, then host bus. When this bit is clear, the data will be
FMT3 will be set. Since the FMT flags indi- transferred from the host bus to the SCSI bus.
cate the status of bytes at the bottom of the
FIFO, if all FMT bits are set, the DMA FIFO Bit 6 SIGP (Signal process)
is empty. This bit is a copy of the SIGP bit in the ISTAT
register (bit 5). The SIGP bit is used to signal a
Bits 3-0 FFL3-0 (Byte full in DMA FIFO) running SCRIPTS instruction. When this reg-
These status bits identify the top bytes in the ister is read, the SIGP bit in the ISTAT register
DMA FIFO that are full. Each bit corresponds is cleared.
to a byte lane in the DMA FIFO. For example,
if byte lane three is full then FFL3 will be set. Bit 5 CIO (Configured as I/O)
Since the FFL flags indicate the status of bytes This bit is defined as the Configuration I/O
at the top of the FIFO, if all FFL bits are set, Enable Status bit. This read-only bit indicates
the DMA FIFO is full. if the chip is currently enabled as I/O space.
Note: both bits 4 and 5 may be set if the chip is
dual-mapped.
Bit 3 Reserved
This function is useful for register-to-memory accessed in a subsequent bus ownership. If the
operations using the Memory Move instruc- instruction is a table indirect block move type,
tion when the SYM53C810A is I/O mapped. the chip will access the remaining two dwords
Bits 4 and 5 of the CTEST2 register can be in a subsequent bus ownership, thereby fetch-
used to determine the configuration status of ing the four dwords required in two bursts of
the SYM53C810A. two dwords each.
Bit 0 PAR (SCSI Parity Error) This register contains the interrupt mask bits corre-
This bit controls whether an interrupt occurs sponding to the interrupting conditions described
when the SYM53C810A detects a parity error in the SIST1 register. An interrupt is masked by
while receiving or sending SCSI data. See the clearing the appropriate mask bit. For more infor-
Disable Halt on Parity Error or SATN/ Condi- mation on interrupts, refer to Chapter 2, “Func-
tion bits in the SCNTL1 register for more tional Description.”
information on when this condition will actu-
ally be raised.
Bits 7-3 Reserved
Register 48 (C8)
SCSI Timer Zero (STIME0)
HTH 7-4, SEL 3-0, Minimum Time-out
Read /Write GEN 3-0
HTH HTH HTH HRH SEL SEL SEL SEL 40 MHz 50 MHz
7 6 5 4 3 2 1 0
Default>>>
0000 Disabled Disabled
0 0 0 0 0 0 0 0 0001 125 µs 100 µs
0010 250 µs 200 µs
Bits 7-4 HTH (Handshake-to-Handshake
0011 500 µs 400 µs
Timer Period)
These bits select the handshake-to-handshake 0100 1 ms 800 µs
time-out period, the maximum time between 0101 2 ms 1.6 ms
SCSI handshakes (SREQ/ to SREQ/ in target 0110 4 ms 3.2 ms
mode, or SACK/ to SACK/ in initiator mode). 0111 8 ms 6.4 ms
When this timing is exceeded, an interrupt is
1000 16 ms 12.8 ms
generated and the HTH bit in the SIST1 regis-
ter is set. The following table contains time-out 1001 32 ms 25.6 ms
periods for the Handshake-to-Handshake 1010 64 ms 51.2 ms
Timer, the Selection/Reselection Timer (bits 3- 1011 128 ms 102.4 ms
0), and the General Purpose Timer (STIME1
1100 256 ms 204.8 ms
bits 3-0). For a more detailed explanation of
interrupts, refer to Chapter 2, “Functional 1101 512 ms 409.6 ms
Description.” 1110 1.024 sec 819.2 ms
1111 2.048 sec 1.6384 sec
These values will be correct if the CCF bits in the SCNTL3
register are set according to the valid combinations in the bit
description.
Bits 6-4 SSAID (SCSI Selected As ID) Bit 0 SOM (SCSI Synchronous Offset
These bits contain the encoded value of the Maximum)
SCSI ID that the SYM53C810A was selected This bit indicates that the current synchronous
or reselected as during a SCSI selection or SREQ/SACK offset is the maximum specified
reselection phase. These bits are read only and by bits 3-0 in the SCSI Transfer register. This
contain the encoded value of 0-7 possible IDs bit is not latched and may change at any time.
that could be used to select the It is used in low level synchronous SCSI opera-
SYM53C810A. During a SCSI selection or tions. When this bit is set, the SYM53C810A,
reselection phase when a valid ID has been put as a target, is waiting for the initiator to
on the bus, and the 53C810A responds to that acknowledge the data transfers. If the
ID, the “selected as” ID is written into these SYM53C810A is an initiator, then the target
bits. has sent the offset number of requests.
Bit 5 Reserved
Bit 2 Reserved
Chapter 6
Instruction Set of the I/O Processor
After power up and initialization of the instruction may be written to the DMA SCRIPTS
SYM53C810A, the chip can operate in the low Pointer register to restart the automatic fetching
level register interface mode, or using SCSI and execution of instructions.
SCRIPTS. The SCSI SCRIPTS mode of execution allows the
With the low level register interface, the user has SYM53C810A to make decisions based on the sta-
access to the DMA control logic and the SCSI bus tus of the SCSI bus, so that the microprocessor
control logic. An external processor has access to does not have to service all of the interrupts inher-
the SCSI bus signals and the low level DMA sig- ent in I/O operations.
nals, which allows creation of complicated board Given the rich set of SCSI-oriented features
level test algorithms. The low level interface is use- included in the instruction set, and the ability to
ful for backward compatibility with SCSI devices re-enter the SCSI algorithm at any point, this high
that require certain unique timings or bus level interface is all that is required for both normal
sequences to operate properly. Another feature and exception conditions. There is no need to
allowed at the low level is loopback testing. In switch to low level mode for error recovery.
loopback mode, the SCSI core can be directed to
Five types of SCRIPTS instructions are imple-
talk to the DMA core to test internal data paths all
mented in the SYM53C810A:
the way out to the chip’s pins.
■ Block Move—used to move data between the
SCSI bus and memory
SCSI SCRIPTS ■ I/O or Read/Write—causes the SYM53C810A
to trigger common SCSI hardware sequences,
To operate in the SCSI SCRIPTS mode, the or to move registers
SYM53C810A requires only a SCRIPTS start
address. The start address must be at a dword ■ Transfer Control— allows SCRIPTS
(four byte) boundary. This aligns the following instructions to make decisions based on real
SCRIPTS at a dword boundary, since all time SCSI bus conditions
SCRIPTS are 8 or 12 bytes long. All instructions ■ Memory Move— causes the SYM53C810A to
are fetched from external memory. The execute block moves between different parts of
SYM53C810A fetches and executes its own main memory
instructions by becoming a bus master on the host
bus and fetching two or three 32-bit words into its ■ Load and Store—provides a more efficient way
registers. Instructions are fetched until an inter- to move data to/from memory from/to an
rupt instruction is encountered, or until an unex- internal register in the chip without using the
pected event (such as a hardware error) causes an Memory Move instruction.
interrupt to the external processor. Each instruction consists of two or three 32-bit
Once an interrupt is generated, the SYM53C810A words. The first 32-bit word is always loaded into
halts all operations until the interrupt is serviced. the DCMD and DBC registers, the second into
Then, the start address of the next SCRIPTS the DSPS register. The third word, used only by
Memory Move instructions, is loaded into the
TEMP shadow register. In an indirect I/O or Move
instruction, the first two 32-bit op code fetches will
be followed by one or two more 32-bit fetch cycles.
SYM53C810A Data Manual 6-1
Instruction Set of the I/O Processor
SCSI SCRIPTS
System Processor
S Write DSP
System Memory y
SCSI Initiator Write Example
s
• select ATN 0, alt_addr t Fetch
• move 1, identify_msg_buf, when MSG_OUT SCRIPTS
• move 6, cmd_buf, when CMD e
•
•
move 512, data_buf, when DATA_OUT
move 1, stat_in_buf, when STATUS m SYM53C810A SCSI
•
•
move 1, msg_in_buf, when MSG_IN
move SCNTL2 & 7F to SCNTL2
Bus
• clear ACK
•
•
wait disconnect alt2
int 10
B
Data
u
Data Structure
Message Buffer s
Command Buffer
Data Buffer
Status Buffer
Indirect
Block Move Instructions Use the fetched byte count, but fetch the data
address from the address in the instruction.
The Block Move SCRIPTS instruction is used to
move data between the SCSI bus and memory. For Command Byte Count
a Block Move instruction, the SYM53C810A
operates much like a chaining DMA device with a Address of Pointer to Data
SCSI controller attached. Figure 6-2 illustrates the
register bit values that represent a Block Move Once the data pointer address is loaded, it is
instruction. In Block Move instructions, bits 5 and executed as when the chip operates in the
4 (SIOM and DIOM) in the DMODE register direct mode. This indirect feature allows a
determine whether the source/destination address table of data buffer addresses to be specified.
resides in memory or I/O space. When data is Using the SCSI SCRIPTS assembler, the table
being moved onto the SCSI bus, SIOM controls offset is placed in the SCRIPTS file when the
whether that data comes from I/O or memory program is assembled. Then at the actual data
space. When data is being moved off of the SCSI transfer time, the offsets are added to the base
bus, DIOM controls whether that data goes to I/O address of the data address table by the exter-
or memory space. nal processor. The logical I/O driver builds a
structure of addresses for an I/O rather than
treating each address individually. This feature
First Dword makes it possible to locate SCSI SCRIPTS in a
Bits 31-30 Instruction Type-Block Move PROM.
Bit 29 Indirect Addressing Note: indirect and table indirect addressing
cannot be used simultaneously; only one
When this bit is cleared, user data is moved to
addressing method can be used at a time.
or from the 32-bit data start address for the
Block Move instruction. The value is loaded Bit 28 Table Indirect
into the chip’s address register and incre- When this bit is set, the 24-bit signed value in
mented as data is transferred. The address of the start address of the move is treated as a rel-
data to be moved is in the second dword of this ative displacement from the value in the DSA
instruction. register. Both the transfer count and the
When set, the 32-bit user data start address for source/destination address are fetched from
the Block Move is the address of a pointer to this address.
the actual data buffer address. The value at the
32-bit start address is loaded into the chip’s Command Not Used
DNAD register via a third dword fetch (4-byte Don’t Care Table Offset
transfer across the host computer bus).
Use the signed integer offset in bits 23-0 of the
Direct
second four bytes of the instruction, added to
The byte count and absolute address are as
the value in the DSA register, to fetch first the
follows.
byte count and then the data address. The
signed value is combined with the data struc-
Command Byte Count ture base address to generate the physical
Address of Data address used to fetch values from the data
structure. Sign-extended values of all ones for
negative values are allowed, but bits 31-24 are
ignored.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I/O
C/D 24-bit Block Move byte counter
MSG/
Op Code
Table Indirect Addressing
Indirect Addressing (53C700 compatible)
0 - Instruction Type - Block Move
0 - Instruction Type - Block Move
DSPS Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Target Mode
Reselect Instruction
1. The SYM53C810A arbitrates for the SCSI bus
by asserting the SCSI ID stored in the SCID
register. If the SYM53C810A loses arbitration,
then it tries again during the next available
arbitration cycle without reporting any lost
arbitration status.
2. If the SYM53C810A wins arbitration, it
attempts to reselect the SCSI device whose ID
is defined in the destination ID field of the
instruction. Once the SYM53C810A has won
arbitration, it fetches the next instruction from
the address pointed to by the DSP register.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Set/Clear ATN/
Set/Clear ACK/
the SCNTL0 register is cleared. When the Carry 2. An I/O command structure must have all four
bit is set, the corresponding bit in the ALU is bytes contiguous in system memory, as shown
cleared. below. The offset/period bits are ordered as in
Bit 26 Relative Addressing Mode the SXFER register. The configuration bits are
ordered as in the SCNTL3 register.
When this bit is set, the 24-bit signed value in
the DNAD register is used as a relative dis-
Config ID Offset/ (00)
placement from the current DSP address. This period
bit should only be used in conjunction with the
Select, Reselect, Wait Select, and Wait Reselect
This bit should only be used in conjunction
instructions. The Select and Reselect instruc-
with the Select, Reselect, Wait Select, and Wait
tions can contain an absolute alternate jump
Reselect instructions. Bits 25 and 26 may be
address or a relative transfer address.
set individually or in combination:
Bit 25 Table Indirect Mode
When this bit is set, the 24-bit signed value in Bit 25 Bit 26
the DBC register is added to the value in the
Direct 0 0
DSA register, used as an offset relative to the
value in the Data Structure Base Address Table Indirect 0 1
(DSA) register. The SCNTL3 value, SCSI ID, Relative 1 0
synchronous offset and synchronous period are Table Relative 1 1
loaded from this address. Prior to the start of
an I/O, the DSA should be loaded with the
Direct
base address of the I/O data structure. The
Uses the device ID and physical address in the
address may be any address on a dword bound-
instruction.
ary. After a Table Indirect op code is fetched,
the DSA is added to the 24-bit signed offset
value from the op code to generate the address
of the required data; both positive and negative Command ID Not Used Not Used
offsets are allowed. A subsequent fetch from
Absolute Alternate Address
that address brings the data values into the
chip.
SCRIPTS can directly execute operating sys- Table Indirect
tem I/O data structures, saving time at the Uses the physical jump address, but fetches data
beginning of an I/O operation. The I/O data using the table indirect method.
structure can begin on any dword boundary
and may cross system segment boundaries. Command Table Offset
There are two restrictions on the placement of Absolute Alternate Address
data in system memory:
1. The I/O data structure must lie within the 8 Relative
MB above or below the base address. Uses the device ID in the instruction, but treats
the alternate address as a relative jump.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DSPS Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
000 Move data into register. Move data into SFBR regis- Move data into register.
Syntax: “Move data8 to ter. Syntax: “Move data8 to Syntax: “Move data8 to
RegA” SFBR” RegA”
001* Shift register one bit to the Shift register one bit to the Shift the SFBR register one
left and place the result in left and place the result in bit to the left and place the
the same register. Syntax: the SFBR register. Syntax: result in the register. Syntax:
“Move RegA SHL RegA” “Move RegA SHL SFBR” “Move SFBR SHL RegA”
010 OR data with register and OR data with register and OR data with SFBR and
place the result in the same place the result in the SFBR place the result in the regis-
register. Syntax: “Move register. Syntax: “Move ter. Syntax: “Move SFBR |
RegA | data8 to RegA” RegA | data8 to SFBR” data8 to RegA”
011 XOR data with register and XOR data with register and XOR data with SFBR and
place the result in the same place the result in the SFBR place the result in the regis-
register. Syntax: “Move register. Syntax: “Move ter. Syntax: “Move SFBR
RegA XOR data8 to RegA” RegA XOR data8 to SFBR” XOR data8 to RegA”
100 AND data with register and AND data with register and AND data with SFBR and
place the result in the same place the result in the SFBR place the result in the regis-
register. Syntax: “Move register. Syntax: “Move ter. Syntax: “Move SFBR &
RegA & data8 to RegA” RegA & data8 to SFBR” data8 to RegA”
101* Shift register one bit to the Shift register one bit to the Shift the SFBR register one
right and place the result in right and place the result in bit to the right and place the
the same register. Syntax: the SFBR register. Syntax: result in the register. Syntax:
“Move RegA SHR RegA” “Move RegA SHR SFBR” “Move SFBR SHR RegA”
110 Add data to register without Add data to register without Add data to SFBR without
carry and place the result in carry and place the result in carry and place the result in
the same register. Syntax: the SFBR register. Syntax: the register. Syntax: “Move
“Move RegA + data8 to “Move RegA + data8 to SFBR + data8 to RegA”
RegA” SFBR”
111 Add data to register with Add data to register with Add data to SFBR with
carry and place the result in carry and place the result in carry and place the result in
the same register. Syntax: the SFBR register. Syntax: the register. Syntax: “Move
“Move RegA + data8 to “Move RegA + data8 to SFBR + data8 to RegA with
RegA with carry” SFBR with carry” carry”
Notes:
1. Substitute the desired register name or address for “RegA” in the syntax examples
2. data8 indicates eight bits of data
* Data is shifted through the Carry bit and the Carry bit is shifted into the data byte
instruction.
Transfer Control 2. If the comparisons are false, the
Instructions SYM53C810A fetches the next instruction
from the address pointed to by the DSP
The Transfer Control, or Conditional Jump, register, leaving the instruction pointer
instruction allows you to write SCRIPTS that unchanged.
make decisions based on real time conditions on
the SCSI bus, such as phase or data. This instruc- Call Instruction
tion type includes Jump, Call, Return, and Inter- 1. The SYM53C810A can do a true/false
rupt instructions. Figure 6-5 illustrates the register comparison of the ALU carry bit, or compare
bit values that represent a Transfer Control the phase and/or data as defined by the Phase
instruction. Compare, Data Compare, and True/False bit
fields. If the comparisons are true, the
SYM53C810A loads the DSP register with the
First Dword
contents of the DSPS register and that address
Bits 31-30 Instruction Type - Transfer Control value becomes the address of the next
Instruction instruction.
Bits 29-27 Op Code When the SYM53C810A executes a Call
This 3-bit field specifies the type of transfer instruction, the instruction pointer contained
control instruction to be executed. All transfer in the DSP register is stored in the TEMP reg-
control instructions can be conditional. They ister. Since the TEMP register is not a stack
can be dependent on a true/false comparison and can only hold one dword, nested call
of the ALU Carry bit or a comparison of the instructions are not allowed.
SCSI information transfer phase with the 2. If the comparisons are false, the
Phase field, and/or a comparison of the First SYM53C810A fetches the next instruction
Byte Received with the Data Compare field. from the address pointed to by the DSP
Each instruction can operate in initiator or tar- register and the instruction pointer is not
get mode. modified.
Return Instruction
OPC2 OPC1 OPC0 Instruction Defined
1. The SYM53C810A can do a true/false
0 0 0 Jump comparison of the ALU carry bit, or compare
0 0 1 Call the phase and/or data as defined by the Phase
0 1 0 Return
Compare, Data Compare, and True/False bit
fields. If the comparisons are true, then the
0 1 1 Interrupt SYM53C810A loads the DSP register with the
1 X X Reserved contents of the DSPS register. That address
value becomes the address of the next
Jump Instruction instruction.
1. The SYM53C810Acan do a true/false When a Return instruction is executed, the
comparison of the ALU carry bit, or compare value stored in the TEMP register is returned
the phase and/or data as defined by the Phase to the DSP register. The SYM53C810A does
Compare, Data Compare and True/False bit not check to see whether the Call instruction
fields. If the comparisons are true, the has already been executed. It will not generate
SYM53C810A loads the DSP register with the an interrupt if a Return instruction is executed
contents of the DSPS register. The DSP without previously executing a Call instruc-
register now contains the address of the next tion.
SYM53C810A Data Manual 6-17
Instruction Set of the I/O Processor
Transfer Control Instructions
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DSPS Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2. If the comparisons are false, then the ing SCSI phase. These bits are only valid when
SYM53C810A fetches the next instruction the SYM53C810A is operating in initiator
from the address pointed to by the DSP mode; when the SYM53C810A is operating in
register and the instruction pointer will not be the target mode, these bits should be cleared.
modified.
or Call instruction. Because it is signed (twos must be true to branch on a true condition.
compliment), the jump can be forward or Both compares must be false to branch on a
backward. false condition.
A relative transfer can be to any address within
a 16-MB segment. The program counter is Result of
Bit 19 Action
combined with the 24-bit signed offset (using Compare
addition or subtraction) to form the new exe- 0 False Jump Taken
cution address. 0 True No Jump
SCRIPTS programs may contain a mixture of 1 False No Jump
direct jumps and relative jumps to provide
maximum versatility when writing SCRIPTS. 1 True Jump Taken
For example, major sections of code can be
accessed with far calls using the 32-bit physical Bit 18 Compare Data
address, then local labels can be called using When this bit is set, the first byte received from
relative transfers. If a SCRIPTS instruction the SCSI data bus (contained in SFBR regis-
uses only relative transfers it would not require ter) is compared with the Data to be Com-
any run time alteration of physical addresses, pared Field in the Transfer Control instruction.
and could be stored in and executed from a The Wait for Valid Phase bit controls when this
PROM. compare will occur. The Jump if True/False bit
Bit 21 Carry Test determines the condition (true or false) to
branch on.
When this bit is set, decisions based on the
ALU carry bit can be made. True/False com- Bit 17 Compare Phase
parisons are legal, but Data Compare and When the SYM53C810A is in initiator mode,
Phase Compare are illegal. this bit controls phase compare operations.
Bit 20 Interrupt on the Fly When this bit is set, the SCSI phase signals
(latched by SREQ/) are compared to the Phase
When this bit is set, the Interrupt instruction
Field in the Transfer Control instruction; if
will not halt the SCRIPTS processor. Once the
they match, the comparison is true. The Wait
interrupt occurs, the Interrupt on the Fly bit
for Valid Phase bit controls when the compare
(ISTAT bit 2) will be asserted.
will occur. When the SYM53C810A is operat-
Bit 19 Jump If True/False ing in target mode this bit, when set, tests for
This bit determines whether the an active SCSI SATN/ signal.
SYM53C810A should branch when a compar- Bit 16 Wait For Valid Phase
ison is true or when a comparison is false. This
If the Wait for Valid Phase bit is set, the
bit applies to phase compares, data compares,
SYM53C810A waits for a previously unser-
and carry tests. If both the Phase Compare and
viced phase before comparing the SCSI phase
Data Compare bits are set, then both compares
and data. If the Wait for Valid Phase bit is clear,
the SYM53C810A compares the SCSI phase
and data immediately.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 - No Flush
0 (Reserved) 24-bit Memory Move byte counter
0 (Reserved)
0 (Reserved)
0 (Reserved)
0 (Reserved)
1 - Instruction Type - Memory Move
1 - Instruction Type - Memory Move
DSPS Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TEMP Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Second Dword
Bits 31-0, DSPS Register
These bits contain the source address of the
Memory Move.
Third Dword
Bits 31-0, TEMP Register
These bits contain the destination address for
the Memory Move.
First Dword
Bit 31-29, Instruction Type
These bits should be 111, indicating the Load and
Store instruction.
6-24 SYM53C810A Data Manual
Instruction Set of the I/O Processor
Load and Store Instructions
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Chapter 7
Electrical Characteristics
This chapter presents electrical and timing information for the SYM53C810A, using tables and timing
diagrams. Table 7-1 through Table 7-11 list the stress ratings, operating conditions, and DC characteris-
tics of the SYM53C810A. Table 7-12 and Figure 7-1 through Figure 7-5 show the effect of TolerANT
technology on the DC characteristics of the chip.The following section of this chapter presents the AC
characteristics of the SYM53C810A . The chip timings are presented in two sections. The first is the PCI
and external memory interface, followed by the SCSI interface timings.
DC Characteristics
Stresses beyond those listed above may cause permanent damage to the device. These are stress ratings only; functional operation of
the device at these or any other conditions beyond those indicated in the Operating Conditions section of the manual is not implied.
* -2V < VPIN < 8V
** SCSI pins only
Conditions that exceed the operating limits may cause the device to function incorrectly
Table 7-4: SCSI Signals - SMSG, SI_O/, SC_D/, SATN/, SBSY/, SSEL/, SRST/
Table 7-5: Input Signals - CLK, SCLK, GNT/, IDSEL, RST/, TESTIN
Note: CLK, SCLK, GNT/, and IDSEL have 100 µA pull-ups that are enabled when TESTIN is low. TESTIN has a 100 µA
pull-up that is always enabled.
CI Input capacitance of - 7 pF -
input pads
Note: REQ/ has a 100 µA pull-up that is enabled when TESTIN is low
Note: IRQ/ has a 100 µA pull-up that is enabled when TESTIN is low. IRQ/ can be enabled with a register bit as an open drain out-
put with an internal 100 µA pull-up.
Table 7-10: Bidirectional Signals - AD(31-0), C_BE/(3-0), FRAME, IRDY/, TRDY/, DEVSEL/, STOP/,
PERR/, PAR
Note: All the signals in this table have 100 µA pull-ups that are enabled when TESTIN is low
Note: All the signals in this table have 100 µA pull-ups that are enabled when TESTIN is low
TolerANT Technology
Table 7-12: TolerANT Active Negation Technology Electrical Characteristics
ILL Input low leakage - -10 µA -0.5 < VDD < 5.25
VPIN = 0.5 V
Note: These values are guaranteed by periodic characterization; they are not 100% tested on every device.
1 Active negation outputs only: Data, Parity, SREQ/, SACK/
2Single pin only; irreversible damage may occur if sustained for one second
3SCSI RESET pin has 10 kΩ pull-up resistor
dVH/dt Slew rate, low to high 0.15 0.49 V/ns Figure 7-1
dVL/dt Slew rate, high to low 0.19 0.52 V/ns Figure 7-1
Latch-up 100 - mA -
Note: These values are guaranteed by periodic characterization; they are not 100% tested on every device.
1 Active negation outputs only: Data, Parity, SREQ/, SACK/
2Single pin only; irreversible damage may occur if sustained for one second
3SCSI RESET pin has 10 kΩ pull-up resistor
47 Ω
20 pF +
2.5 V
-
t1
1.1 1.3
1.5 1.7
+40
INPUT CURRENT (milliAmperes)
+20
14.4 V
8.2 V
0
-0.7 V
-20 HI-Z
OUTPUT
ACTIVE
-40
-4 0 4 8 12 16
0 100
OUTPUT SINK CURRENT (milliAmperes)
80
-200
60
-400
40
-600
20
-800 0
0 1 2 3 4 5 0 1 2 3 4 5
OUTPUT VOLTAGE (Volts) OUTPUT VOLTAGE (Volts)
AC Characteristics
The AC characteristics described in this section apply over the entire range of operating conditions (refer
to the DC Characteristics section), Chip timings are based on simulation at worst case voltage, tempera-
ture, and processing. Timings were developed with a load capacitance of 50 pF.
t1
t3
CLK/SCLK
t4
t2
* This parameter must be met to insure SCSI timings are within specification
CLK
t2
t1
RST/
t2 t3 t1
IRQ/
CLK
Target Cycles
■ PCI configuration register read
■ PCI configuration register write
■ Target read
■ Target write
■
Initiator Cycles
■ Op code fetch, non-burst
■ Burst op code fetch
■ Back-to-back read
■ Back-to-back write
■ Burst read
■ Burst write
1 2 3 4 5
CLK
(Driven by System)
FRAME/ t1
(Driven by System)
t
2
t1 t3
AD/
Addr Data Out
(Driven by Master-Addr; In
53C810A-Data) t2
t1
C_BE/ CMD t
Byte Enable 2
(Driven by Master)
t2
t1 t3
PAR
(Driven by Master-Addr; In Out
53C810A-Data)
t2
IRDY/
t1 t
(Driven by Master) 2
TRDY/
(Driven by 53C810A) t
3
STOP/
(Driven by 53C810A)
t
3
DEVSEL/
(Driven by 53C810A)
t3
t1
IDSEL
(Driven by Master) t2
1 2 3 4 5
CLK
(Driven by System)
FRAME/ t
1
(Driven by Master)
t2 t2
t t1
1
AD/ Addr
(Driven by Master) In Data In
t2 t
t1 2
t
2
t1
IRDY/
(Driven by Master) t
2
TRDY/
(Driven by 53C810A) t
3
STOP/
(Driven by 53C810A)
t
3
DEVSEL/
(Driven by 53C810A)
t1 t
3
t2
IDSEL
(Driven by Master)
1 2 3 4 5 6 7 8 9
CLK
(Driven by System)
t1
FRAME/ t2
(Driven by Master)
t1 t
3
AD Addr Data
(Driven by Master-Addr; In Out
53C810A-Data) t2
t1
t1
IRDY/
t
(Driven by Master) 2
TRDY t
3
(Driven by 53C810A)
t
STOP/ 3
(Driven by 53C810A)
DEVSEL/
(Driven by 53C810A)
t3
1 2 3 4 5 6 7 8 9
CLK
(Driven by System)
t
1
FRAME/
t
(Driven by Master) 2
t1 t
t1 2
AD/ Addr
(Driven by Master) In Data In
t
2
t
1
C_BE/
CMD Byte Enable
(Driven by Master)
t
2 t2
t1 t1
PAR/
(Driven by Master) t t
2 2
IRDY/
(Driven by Master) t1 t2
t
3
TRDY/
(Driven by 53C810A)
t
STOP/ 3
(Driven by 53C810A)
DEVSEL/
(Driven by 53C810A)
t3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CLK
(Driven by System)
t
8
t7
GPIO0_FETCH/
(Driven by 53C810A)*
t
t 10
9
GPIO1_MASTER/
(Driven by 53C810A)*
t
6
REQ/
(Driven by 53C810A)
t
4
GNT/
(Driven by Arbiter)
t
5
FRAME/
(Driven by 53C810A) t
3 t
1
Data Data
In In
AD/ Addr Out Addr Out
(Driven by
t2
53C810A-Addr;
t
Target-Data) 3
CMD BE CMD BE
C_BE/
t
(Driven by 53C810A) 3 t
3 t
1
PAR/
(Driven by
53C810A-Addr; t t2
Target-Data) 3
IRDY/
t
(Driven by 53C810A) 3
t
1
TRDY/
(Driven by Target)
t2
STOP/
(Driven by Target) t2
t
1
DEVSEL/
(Driven by Target)
1 2 3 4 5 6 7 9 10 11 12
CLK
(Driven by System)
t
8
t7
GPIO0_FETCH/
(Driven by 53C810A)*
t
t 10
9
GPIO1_MASTER/
(Driven by 53C810A)*
t
6
REQ/
(Driven by 53C810A)
t
GNT/ 4
(Driven by Arbiter)
t
5
FRAME/
(Driven by 53C810A) t
3
t1
t Data
3 Data In
In
AD/ Addr Out
(Driven by
t2
53C810A-Addr;
t
Target-Data) 3
CMD BE CMD
C_BE/
t
(Driven by 53C810A) 3 t
3 t
1
PAR/ In In
Out
(Driven by
53C810A-Addr; t t2
Target-Data) 3
IRDY/
(Driven by 53C810A) t
3
t
1
TRDY/
(Driven by Target)
t2
STOP/
(Driven by Target) t2
t1
DEVSEL/
(Driven by Target)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
CLK
(Driven by System)
GPIO0_FETCH/
(Driven by 53C810A)*
t9 t10
GPIO1_MASTER/
(Driven by 53C810A)
REQ/
(Driven by 53C810A)
t t
6 5
GNT/
(Driven by Arbiter)
t
4
t
3
FRAME/
(Driven by 53C810A) t
1
t
3 Data In Data In
AD/
Addr Addr
(Driven by Out Out
53C810A-Addr;
Target-Data) t2
t3
C_BE/
(Driven by 53C810A) CMD BE CMD BE
t1
t3
PAR/ Out In Out In
(Driven by
53C810A-Addr; t2
Target-Data)
t
3
IRDY/
(Driven by 53C810A)
t1
TRDY/
(Driven by Target)
t2
STOP/
(Driven by Target)
t1 t2
DEVSEL/
(Driven by Target)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
CLK
(Driven by System)
GPIO0_FETCH/
(Driven by 53C810A)*
t t
9 10
GPIO1_MASTER/
(Driven by 53C810A)*
REQ/ t
6
(Driven by 53C810A)
t
4
GNT/
(Driven by Arbiter)
t
5
t3
FRAME/
(Driven by 53C810A)
t3 t3
AD/ Addr Data Data
Addr
(Driven by 53C810A) Out Out Out Out
t3
t3
C_BE/
(Driven by 53C810A) CMD BE CMD BE
t3 t3
PAR/
(Driven by 53C810A)
t3
IRDY/
(Driven by 53C810A)
t1
TRDY/
(Driven by Target) t2
STOP/
(Driven by Target)
t1 t2
DEVSEL/
(Driven by Target)
CLK
(Driven by System)
GPIO0_
FETCH/
(Driven by 53C810A)
t9 t 10
GPIO1_
MASTER/
(Driven by 53C810A) t6
REQ/
(Driven by 53C810A)
t5
GNT/ t4
(Driven by Arbiter)
t3
FRAME
(Driven by 53C810A)
t3 t3
AD Data Out
Addr Out Data Out Addr Out Data Out Addr Out Data Out
(Driven by 53C810A)
t3 t3
IRDY/
(Driven by 53C810A)
t1 t2
TRDY/
(Driven by Target)
STOP/
(Driven by Target)
t1 t2
DEVSEL/
(Driven by Target)
PCI Interface Timing Diagrams
Electrical Characteristics
CLK
(Driven by System)
t9 t 10
GPIO1_
MASTER/
(Driven by 53C810A) t6
REQ/
(Driven by 53C810A)
t5
GNT/ t4
(Driven by Arbiter)
t3
FRAME
(Driven by 53C810A)
t3 t3
AD Data Out
Addr Out Data Out Addr Out Data Out Addr Out Data Out
(Driven by 53C810A)
t3 t3
IRDY/
(Driven by 53C810A)
t1 t2
TRDY/
(Driven by Target)
STOP/
(Driven by Target)
t1 t2
DEVSEL/
(Driven by Target)
PCI Interface Timing Diagrams
Electrical Characteristics
7-21
Electrical Characteristics
PCI Interface Timings
SCSI Timings
Initiator
Asynchronous Send
SREQ/ n n+1
t2
t1
SACK/ n n+1
t3 t4
SD7-SD0,
Valid n Valid n+1
SDP/
Initiator
Asynchronous Receive
SREQ/ n n+1
t1 t2
SACK/ n n+1
t3 t4
SD7-SD0,
Valid n Valid n+1
SDP/
Target
Asynchronous Send
SREQ/ n n+1
t1 t2
SACK/ n n+1
t3 t4
SD7-SD0, Valid n Valid n+1
SDP/
Target
Asynchronous Receive
SREQ/ n n+1
t1 t2
SACK/ n n+1
t3 t4
SD15-SD0,
Valid n Valid n+1
SDP1/, SDP0/
Initiator and
Target Synchronous Transfers
t1 t2
SREQ/ n n+1
or SACK/
t3 t4
Send Data
Valid n Valid n+1
SD7-SD0, SDP/
t5 t6
Receive Data
SD15-SD0, Valid n Valid n+1
SDP1/, SDP0/
Table 7-22: SCSI-2 Fast Transfers (10.0 MB/s (8-bit transfers), 40 MHz clock)
Table 7-23: SCSI-2 Fast Transfers (10.0 MB/s (8-bit transfers), 50 MHz clock)
* Transfer period bits (bits 6-4 in the SXFER register) are set to zero and the Extra Clock cycle of Data Setup bit (bit 7 in
SCNTL1) is set.
* * Analysis of system configuration is recommended due to reduced driver skew margin in differential systems.
Note: for fast SCSI, set the TolerANT Enable bit (bit 7 in STEST3).
Appendix A
Register Summary
Register 07 (87)
General Purpose (GPREG)
Read/Write
RES RES RES RES RES RES GPIO1 GPIO0
7 6 5 4 3 2 1 0
Default>>>
X X X X X X 0 0
Register 08 (88)
SCSI First Byte Received (SFBR)
Read/Write
1B7 1B6 1B5 1B4 1B3 1B2 1B1 1B0
7 6 5 4 3 2 1 0
Default>>>
0 0 0 0 0 0 0 0
Bit 7 REQ(Assert SCSI REQ/ signal) Bit 7 DFE (DMA FIFO empty)
Bit 6 ACK(Assert SCSI ACK/ signal) Bit 6 MDPE (Master Data Parity Error)
Bit 5 BSY(Assert SCSI BSY/ signal) Bit 5 BF (Bus fault)
Bit 4 SEL(Assert SCSI SEL/ signal) Bit 4 ABRT (Aborted)
Bit 3 ATN(Assert SCSI ATN/ signal) Bit 3 SSI (Single step interrupt)
Bit 2 MSG(Assert SCSI MSG/ signal) Bit 2 SIR (SCRIPTS interrupt
Bit 1 C/D(Assert SCSI C_D/ signal) instruction received)
Bit 0 I/O(Assert SCSI I_O/ signal) Bit 1 Reserved
Bit 0 IID (Illegal instruction detected)
Register 0A (8A)
SCSI Selector ID (SSID) Register 0D (8D)
Read Only SCSI Status Zero (SSTAT0)
Read Only
VAL RES RES RES RES ENID2 ENID1 ENID0
7 6 5 4 3 2 1 0 ILF ORF OLF AIP LOA WOA RST SDP0/
Default>>> 7 6 5 4 3 2 1 0
0 X X X X 0 0 0 Default>>>
0 0 0 0 0 0 0 0
Bit 7 VAL (SCSI Valid Bit)
Bits 6-3 Reserved Bit 7 ILF (SIDL full)
Bits 2-0 Encoded Destination SCSI ID Bit 6 ORF (SODR full)
Bit 5 OLF (SODL full)
Bit 4 AIP (Arbitration in progress)
Register 0B (8B) Bit 3 LOA (Lost arbitration)
SCSI Bus Control Lines (SBCL) Bit 2 WOA (Won arbitration)
Bit 1 RST/ (SCSI RST/ signal)
Read Only
Bit 0 SDP/ (SCSI SDP/ parity signal)
REQ ACK BSY SEL ATN MSG C/D I/O
7 6 5 4 3 2 1 0
Default>>> Register 0E (8E)
X X X X X X X X SCSI Status One (SSTAT1)
Read Only
Bit 7 REQ (SREQ/ status)
Bit 6 ACK (SACK/ status) FF3 FF2 FF1 FF0 SDP0L MSG C/D I/O
Bit 5 BSY (SBSY/ status) 7 6 5 4 3 2 1 0
Bit 4 SEL (SSEL/ status) Default>>>
Bit 3 ATN SATN/ status) 0 0 0 0 X X X X
Bit 2 MSG (SMSG/ status)
Bit 1 C/D (SC_D/ status) Bits 7-4 FF3-FF0 (FIFO flags)
Bit 0 I/O (SI_O/ status) Bit 3 SDPL (Latched SCSI parity)
Bit 2 MSG (SCSI MSG/ signal)
Bit 1 C/D (SCSI C_D/ signal)
Bit 0 I/O (SCSI I_O/ signal)
Register 1B (9B)
Register 14 (94)
Chip Test Three (CTEST3)
Interrupt Status (ISTAT)
Read/Write
(Read/Write)
V3 V2 V1 V0 FLF CLF FM WRIE
ABRT SRST SIGP SEM CON INTF SIP DIP
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
Default>>>
Default>>>
X X X X 0 0 0 0
0 0 0 0 0 0 0 0
Bits 7-4 V3-V0 (Chip revision level)
Bit 7 ABRT (Abort operation)
Bit 3 FLF (Flush DMA FIFO)
Bit 6 SRST (Software reset)
Bit 2 CLF (Clear DMA FIFO)
Bit 5 SIGP (Signal process)
Bit 1 FM (Fetch pin mode)
Bit 4 SEM (Semaphore)
Bit 0 WRIE (Write and Invalidate Enable)
Bit 3 CON (Connected)
Bit 2 INTF (Interrupt on the Fly)
Bit 1 SIP (SCSI interrupt pending)
Bit 0 DIP (DMA interrupt pending)
Registers 1C-1F (9C-9F)
Temporary (TEMP)
Read/Write
Register 18 (98)
Chip Test Zero (CTEST0)
Read/Write Register 20 (A0)
DMA FIFO (DFIFO)
Read/Write
Register 19 (99) RES BO6 BO5 BO4 Bo3 BO2 BO1 BO0
Chip Test One (CTEST1) 7 6 5 4 3 2 1 0
Read Only Default>>>
FMT3 FMT2 FMT1 FMT0 FFL3 FFL2 FFL1 FFL0 X 0 0 0 0 0 0 0
7 6 5 4 3 2 1 0
Bit 7 Reserved
Default>>> Bits 6-0 BO6-BO0 (Byte offset counter)
1 1 1 1 0 0 0 0
Register 44 (C4)
SCSI Longitudinal Parity (SLPAR)
Read/Write
Bit 7 Reserved
Register 47 (C7) Bits 6-4 SSAID (SCSI Selected As ID)
General Purpose Pin Control (GPCNTL) Bit 3 SLT (Selection response logic test)
Read/Write Bit 2 ART (Arbitration Priority Encoder Test)
Bit 1 SOZ (SCSI Synchronous Offset Zero)
ME FE RES RES RES RES GPIO1 GPIO0
Bit 0 SOM (SCSI Synchronous Offset Maximum)
7 6 5 4 3 2 1 0
Default>>>
0 0 X 0 1 1 1 1 Register 4D (CD)
Bit 7 Master Enable
SCSI Test One (STEST1)
Bit 6 Fetch Enable Read/Write
Bit 5 Reserved SCLK SISO RES RES RES RES RES RES
Bits 1-0 GPIO1_EN– GPIO0_EN (GPIO Enable)
7 6 5 4 3 2 1 0
Default>>>
0 0 X X X X X X
Register 48 (C8)
SCSI Timer Zero (STIME0) Bit 7 SCLK
Read /Write Bit 6 SISO (SCSI Isolation Mode)
Bits 5-0 Reserved
HTH HTH HTH HRH SEL SEL SEL SEL
7 6 5 4 3 2 1 0
Default>>> Register 4E (CE)
0 0 0 0 0 0 0 0
SCSI Test Two (STEST2)
Bits 7-4 HTH (Handshake-to-Handshake Timer Period) Read/Write
Bits 3-0 SEL (Selection Time-Out) SCE ROF RES SLB SZM RES EXT LOW
7 6 5 4 3 2 1 0
Default>>>
Register 49 (C9)
0 0 X 0 0 X 0 0
SCSI Timer One (STIME1)
Read/Write Bit 7 SCE (SCSI Control Enable)
Bit 6 ROF (Reset SCSI Offset)
RES RES RES RES GEN3 GEN2 GEN1 GEN0
Bit 5 Reserved
7 6 5 4 3 2 1 0 Bit 4 SLB (SCSI Loopback Mode)
Default>>> Bit 3 SZM (SCSI High-Impedance Mode)
X X X X 0 0 0 0 Bit 2 Reserved
Bit 1 EXT( Extend SREQ/SACK
Bits 7-4 Reserved filtering)
Bits 3-0 GEN3-0 (General Purpose Timer Period) Bit 0 LOW (SCSI Low level Mode)
Register 4F (CF)
SCSI Test Three (STEST3)
Read/Write
TE STR HSC DSI RES TTM CSF STW
7 6 5 4 3 2 1 0
Default>>>
0 0 0 0 X 0 0 0
Register 50 (D0)
SCSI Input Data Latch (SIDL)
Read Only
Registers 54 (D4)
SCSI Output Data Latch (SODL)
Read/Write
Registers 58 (D8)
SCSI Bus Data Lines (SBDL)
Read Only
Appendix B
Mechanical Drawing
23.9 ± 0.25
20.0 ± 0.10
18.85
0.22 min
0.38 max
Pin 81
Pin 51
Pin 31
Pin 1
min
2.8
0.13
± 0.025
1.3
± 0.025
0 0 7
0.8 ± 0.15
Index
Handshake-to-Handshake Timer Period bits 5-42 IRQ Disable bit 5-34, A-6
High impedance mode bit 5-26 IRQ Mode bit 5-34
HTH bit 5-38, 5-40 IRQD bit 5-34, A-6
I IRQM bit 5-34
Memory Write and Invalidate command 3-3 Memory Access Control 5-41
Write and Invalidate Mode bit 3-7 register address map 5-4
move to/from SFBR cycles 6-14 Response ID Zero 5-43
MPEE bit 5-27 Scratch Register A 5-31
MSG bit 5-15, 5-16, 5-19 Scratch Register B 5-49
SCSI Bus Control Lines 5-16
N
SCSI Bus Data Lines 5-48
NFMMOV instruction 6-23
SCSI Chip ID 5-11
No Flush Memory-to-Memory Move 6-23 SCSI Control One register 5-7
O SCSI Control Register Two 5-9
OLF bit 5-17 SCSI Control Three 5-9
op code fetch bursting 2-2 SCSI Control Zero 5-5
operating conditions 7-2 SCSI Destination ID 5-13
operating registers SCSI First Byte Received 5-14
Adder Sum Output 5-35 SCSI Input Data Latch 5-47
Chip Test Five 5-27 SCSI Interrupt Enable One 5-37
Chip Test Four 5-26 SCSI Interrupt Enable Zero 5-36
Chip Test One 5-23 SCSI Interrupt Status One 5-40
Chip Test Six 5-28 SCSI Interrupt Status Zero 5-38
Chip Test Three 5-24 SCSI Longitudinal Parity 5-40
Chip Test Two 5-23 SCSI Output Control Latch 5-15
Chip Test Zero 5-22 SCSI Output Data Latch 5-48
Data Structure Address 5-20 SCSI Selector ID 5-15
DMA Byte Counter 5-28 SCSI Status One 5-18
DMA Command 5-29 SCSI Status Two 5-19
DMA Control 5-34 SCSI Status Zero 5-17
DMA FIFO 5-26 SCSI Test One 5-45
DMA Interrupt Enable 5-33 SCSI Test Three 5-46
DMA Mode 5-31 SCSI Test Two 5-45
DMA Next Address 5-29 SCSI Test Zero 5-44
DMA SCRIPTS Pointer 5-30 SCSI Timer One 5-43
DMA SCRIPTS Pointer Save 5-30 SCSI Timer Zero 5-42
DMA Status 5-16 SCSI Transfer 5-11
DMA Watchdog Timer 5-33 Temporary Stack 5-25
general information 5-1 ORF bit 5-17
General Purpose 5-14 output signals 7-4
General Purpose Pin Control 5-41
Interrupt Status 5-20
SCSI Input Data Latch register 5-47 SCSI Test Three register 5-46
SCSI instructions SCSI Test Two register 5-45
block move 6-4 SCSI Test Zero register 5-44
I/O 6-8 SCSI Timer One register 5-43
load/store 6-24 SCSI Timer Zero register 5-42
memory move 6-21 SCSI timings 7-23–7-28
read/write 6-14 SCSI Transfer register 5-11
SCSI Interrupt Enable One register 5-37 SCSI true end of process bit 5-24
SCSI Interrupt Enable Zero register 5-36 SCSI Valid Bit 5-15
SCSI interrupt pending bit 5-22 SDID register 5-13
SCSI Interrupt Status One register 5-40 SDP/ bit 5-18
SCSI Interrupt Status Zero register 5-38 SDPL bit 5-18
SCSI Isolation bit 5-45, A-7 SDU bit 5-9
SCSI Longitudinal Parity register 5-40 SEL bit 5-15, 5-16, 5-36, 5-39
SCSI Loopback Mode bit 5-45 SEL bits 5-42
SCSI Low level Mode 5-46 Select with SATN/ on a start sequence bit 5-6
SCSI MSG/ bit 5-19 Selected bit 5-36, 5-39
SCSI Output Control Latch register 5-15 selection
SCSI Output Data Latch register 5-48 during reselection 2-9
SCSI Parity Error bit 5-37 during selection 2-9
SCSI Phase Mismatch - Initiator Mode bit 5-36 response to 2-9
SCSI Reset Condition bit 5-37 Selection or Reselection Time-out bit 5-37
SCSI RST/ Received bit 5-39 STO bit 5-40
SCSI RST/ signal bit 5-18 Selection response logic test bit 5-44
SCSI SCRIPTS operation 6-1 Selection Time-Out bits 5-42
SCSI SDP0/ parity signal bit 5-18 SEM bit 5-21
SCSI Selected As ID bits 5-44, A-7 Semaphore bit 5-21
SCSI Selector ID register 5-15 SFBR register 5-14
SCSI signals 7-2 SGE bit 5-36, 5-39
SCSI Status One register 5-18 Shadow Register Test Mode bit 5-26
SCSI Status Two register 5-19 SI_O bit 5-16
SCSI Status Zero register 5-17 SI_O/ status bit 5-16
SCSI Synchronous Offset Maximum bit 5-44 SIDL bit 5-17
SCSI Synchronous Offset Zero bit 5-44 SIDL least significant byte full bit 5-17
SCSI Synchronous Transfer Period bits 5-11 SIDL register 5-47
SCSI Test One register 5-45 SIEN0 register 5-36
TE bit 5-46 W
TEMP register 5-25 WATN bit 5-6
Temporary register 5-25 what is covered in this manual 1-1
TEOP bit 5-24 WOA bit 5-18
termination 2-9 Won arbitration bit 5-18
testability 1-4 Write and Invalidate command
Timer Test Mode bit 5-47 Write and Invalidate Enable bit 5-25, A-4
timing diagrams 7-11–7-27 Z
interrupt output 7-10
ZMOD bit 5-26
PCI interface 7-22
ZSD bit 5-26
SCSI 7-28
SCSI timings 7-23
timings
clock 7-9
PCI 7-22
reset input 7-10
SCSI 7-23
TolerANT 1-2
Extend SREQ/SACK filtering bit 5-46
TolerANT Enable bit 5-46
TolerANT Enable bit 5-46
TP2-0 bits 5-11
transfer control instructions 6-17
prefetch unit flushing 2-2
transfer rate 1-3
Clock conversion factor bits 5-10
synchronous 2-11
Synchronous clock conversion factor bits 5-9
TRG bit 5-6
TTM bit 5-47
TYP3-0 bits 5-41
U
UDC bit 5-36, 5-39
Unexpected Disconnect bit 5-36, 5-39
V
VAL bit 5-15