TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
AREA_TYPE
SPACING_RULE_SET
NET_SPACING_TYPE1 NET_SPACING_TYPE2
TABLE_SPACING_ASSIGNMENT_HEAD
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
TABLE_PHYSICAL_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
TABLE_PHYSICAL_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
TABLE_SPACING_RULE_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
AREA_TYPE
SPACING_RULE_SET
NET_SPACING_TYPE1 NET_SPACING_TYPE2
TABLE_SPACING_ASSIGNMENT_HEAD
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
AREA_TYPE
SPACING_RULE_SET
NET_SPACING_TYPE1 NET_SPACING_TYPE2
TABLE_SPACING_ASSIGNMENT_HEAD
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
TABLE_PHYSICAL_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
TABLE_SPACING_RULE_ITEM
AREA_TYPE
SPACING_RULE_SET
NET_SPACING_TYPE1 NET_SPACING_TYPE2
TABLE_SPACING_ASSIGNMENT_HEAD
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_PHYSICAL_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
AREA_TYPE
SPACING_RULE_SET
NET_SPACING_TYPE1 NET_SPACING_TYPE2
TABLE_SPACING_ASSIGNMENT_HEAD
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
TABLE_SPACING_RULE_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
TABLE_SPACING_RULE_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
AREA_TYPE
SPACING_RULE_SET
NET_SPACING_TYPE1 NET_SPACING_TYPE2
TABLE_SPACING_ASSIGNMENT_HEAD
TABLE_PHYSICAL_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_PHYSICAL_RULE_ITEM
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
TABLE_SPACING_RULE_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
TABLE_PHYSICAL_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
TABLE_SPACING_ASSIGNMENT_ITEM
MINIMUM LINE WIDTH
ALLOW ROUTE
ON LAYER?
LAYER
MINIMUM NECK WIDTH
MAXIMUM NECK LENGTH
DIFFPAIR PRIMARY GAP
DIFFPAIR NECK GAPPHYSICAL_RULE_SET
TABLE_PHYSICAL_RULE_HEAD
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
AREA_TYPE
SPACING_RULE_SET
NET_SPACING_TYPE1 NET_SPACING_TYPE2
TABLE_SPACING_ASSIGNMENT_HEAD
D
SIZE
OF
SHT
DRAWING NUMBER
NOTICE OF PROPRIETARY PROPERTY
I TO MAINTAIN THE DOCUMENT IN CONFIDENCE
III NOT TO REVEAL OR PUBLISH IN WHOLE OR PART
II NOT TO REPRODUCE OR COPY IT
AGREES TO THE FOLLOWING
PROPERTY OF APPLE COMPUTER, INC. THE POSSESSOR
THE INFORMATION CONTAINED HEREIN IS THE PROPRIETARY
1
2
3
4
5
67
8
12
3
4
5
6
78
B
C
D
A
B
C
D
A
REV.
APPLE COMPUTER INC.
SCALE
NONE
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
LINE-TO-LINE SPACING
LAYER
SPACING_RULE_SET
WEIGHT
TABLE_SPACING_RULE_HEAD
TABLE_SPACING_RULE_ITEM
TABLE_SPACING_RULE_ITEM
Worst-case spacing is 2:1 within Data bus, with 3:1 spacing to the DSTBs.
DSTB complementary pairs are spaced 3:1, even in constraint areas.
Worst-case spacing is 2:1 within Addr bus, with 3:1 spacing to the ADSTBs.
Disk Interface Constraints
SOURCE: Napa Platform DG, Rev 0.9 (#17978), Sections 10.6 & 10.7.2
SOURCE: Napa Platform DG, Rev 0.9 (#17978), Sections 7.2, 9.2 & 10.5.2
PCI-Express / DMI Bus Constraints
Design Guide recommends FSB signals be routed only on internal layers.
SOURCE: Napa Platform DG, Rev 0.9 (#17978), Section 10.10.1.2
Internal Interface Constraints
DG says minimum spacing 50 mils to clocks
SOURCE: Napa Platform DG, Rev 0.9 (#17978), Section 10.9.1
Audio Interface Constraints
SOURCE: Napa Platform DG, Rev 0.9 (#17978), Section 6.2
SOURCE: Napa Platform DG, Rev 0.9 (#17978), Sections 4.4, 4.6.2, & 5.8.2.4
Need to support MEM_*-style wildcards!
Some signals require 27.4-ohm single-ended impedance.
NOTE: Design Guide allows closer spacing if signal lengths can be shortened.
Design Guide recommends each strobe/signal group is routed on the same layer.
NOTE: Design Guide does not indicate FSB spacing to other signals, assumed 3:1.
All FSB signals with impedance requirements are 55-ohm single-ended.
CPU Signal Constraints
DDR2 Memory Bus Constraints
Most CPU signals with impedance requirements are 55-ohm single-ended.
USB 2.0 Interface Constraints
Clock Signal Constraints
SOURCE: Napa Platform DG, Rev 0.9 (#17978), Section 10.17.1.1
FSB (Front-Side Bus) Constraints
SOURCE: Napa Platform DG, Rev 0.9 (#17978), Sections 4.2 & 4.3
DG recommends at least 25 mils, >50 mils preferred
=3:1_SPACING
*
FSB_DSTB
?
=3:1_SPACING
*
FSB_DATA2DSTB
?
=2:1_SPACING
*
FSB_DATA2DATA
?
=3:1_SPACING
FSB_DATA
*
?
Napa Platform Constraints
SYNC_DATE=02/10/2006
SYNC_MASTER=M1_MLB
051-7023
06
8683
**
MEM_DATA
MEM_2OTHER
* *
MEM_CMD
MEM_2OTHER
?
PCIE
*
20 MIL
?
DMI
*
20 MIL
AUDIO_55S
* Y
=55_OHM_SE =55_OHM_SE =55_OHM_SE
=STANDARD =STANDARD
?
AUDIO
*
=1.8:1_SPACING
=STANDARD=STANDARD
=55_OHM_SE=55_OHM_SE=55_OHM_SE
Y*
SPI_55S
?
USB2
=4:1_SPACING
*
=STANDARD=STANDARD
=55_OHM_SE=55_OHM_SE=55_OHM_SE
Y*
SMB_55S
?
USB2_2CLK
*
25 MIL
=STANDARD=STANDARD
=55_OHM_SE=55_OHM_SE
Y*
CLK_SLOW_55S
=55_OHM_SE
?
*
=2:1_SPACING
MEM_CTRL2CTRL
* *
MEM_DQS
MEM_2OTHER
?
*
MEM_2OTHER
25 MIL
?
MEM_CLK2MEM
=4:1_SPACING
*
=85_OHM_DIFF =85_OHM_DIFF
* =85_OHM_DIFF
=85_OHM_DIFF
MEM_85D
Y =85_OHM_DIFF
=55_OHM_SE =55_OHM_SE
=STANDARD=STANDARD
MEM_55S
Y*
=55_OHM_SE
?
*
CPU_GTLREF
25 MIL
?
CPU_COMP
*
25 MIL
?
=3:1_SPACING
FSB_ADSTB
*
* Y
=27P4_OHM_SE =27P4_OHM_SE =27P4_OHM_SE
=STANDARD =STANDARD
CPU_27P4S
* =STANDARD
=45_OHM_SE
=STANDARD
MEM_45S
Y
=45_OHM_SE =45_OHM_SE
*
MEM_CLK
MEM_CTRL2MEM
MEM_CTRL
MEM_CTRL
MEM_CTRL2CTRL
*
MEM_CTRL
?
=3:1_SPACING
*
MEM_CTRL2MEM
?
IDE
=1.8:1_SPACING
*
?
CPU_2TO1
*
=2:1_SPACING
FSB_DSTBFSB_DATA
*
FSB_DATA2DSTB
*
FSB_ADDR FSB_ADDR
FSB_ADDR2ADDR
SATA_100D
Y*
=100_OHM_DIFF=100_OHM_DIFF
=100_OHM_DIFF=100_OHM_DIFF=100_OHM_DIFF
IDE_55S
* Y
=55_OHM_SE =55_OHM_SE =55_OHM_SE
=STANDARD =STANDARD
MEM_DQS
*
MEM_CMD
MEM_CMD2MEM
?
=2:1_SPACING
*
FSB_COMMON
* Y
DMI_100D
=100_OHM_DIFF=100_OHM_DIFF
=100_OHM_DIFF=100_OHM_DIFF=100_OHM_DIFF
Y*
PCIE_100D
=100_OHM_DIFF=100_OHM_DIFF
=100_OHM_DIFF=100_OHM_DIFF=100_OHM_DIFF
?
CLK_SLOW
*
10 MIL
?
CLK_MED
*
20 MIL
?
=3:1_SPACING
*
SMB
MEM_CTRL
MEM_CTRL2MEM
*
MEM_CMD
?
*
MEM_DATA2DATA
=1.5:1_SPACING
?
*
=3:1_SPACINGMEM_DATA2MEM
?
=3:1_SPACING
*
MEM_DQS2MEM
* *
MEM_CLK
MEM_2OTHER
**
MEM_CTRL
MEM_2OTHER
MEM_DATA
*
MEM_DQS2MEM
MEM_DQS
FSB_ADDR2ADSTB
FSB_ADDR
FSB_ADSTB
*
?
SATA
*
20 MIL
Y*
USB2_90D
=90_OHM_DIFF =90_OHM_DIFF =90_OHM_DIFF
=90_OHM_DIFF =90_OHM_DIFF
FSB_55S
=55_OHM_SE
*
=55_OHM_SE
Y
=55_OHM_SE
=STANDARD =STANDARD
?
CLK_PCIE
*
20 MIL
?
=3:1_SPACING
*
MEM_CMD2MEM
?
CLK_FSB
*
25 MIL
=70_OHM_DIFF
MEM_70D
=70_OHM_DIFF
=70_OHM_DIFF=70_OHM_DIFF* Y
=70_OHM_DIFF
CPU_55S
=55_OHM_SE=55_OHM_SE
*
=55_OHM_SE
Y =STANDARD =STANDARD
=STANDARD=STANDARD
=55_OHM_SE
Y*
CLK_MED_55S
=55_OHM_SE=55_OHM_SE
Y*
=100_OHM_DIFF=100_OHM_DIFF
=100_OHM_DIFF=100_OHM_DIFFCLK_PCIE_100D =100_OHM_DIFF
Y*
=100_OHM_DIFF=100_OHM_DIFF
=100_OHM_DIFF=100_OHM_DIFF
CLK_FSB_100D
=100_OHM_DIFF
?
=1.8:1_SPACING
SPI
*
?
=1.5:1_SPACING
*
MEM_CMD2CMD
MEM_DQSMEM_DQS
MEM_DQS2MEM
*
MEM_CLK
MEM_CMD2MEM
*
MEM_CMD
*
MEM_DATA MEM_DATA
MEM_DATA2DATA
MEM_DATA
MEM_CMD2MEM
MEM_CMD
*
MEM_CMD
MEM_CLK2MEM
MEM_CLK
*
MEM_CLK
MEM_CTRL
MEM_CLK2MEM
*
MEM_CLK MEM_CLK
MEM_CLK2MEM
*
MEM_CLK
*
MEM_DQS2MEM
MEM_DQS
MEM_CTRL
*
MEM_DQS2MEM
MEM_DQS
MEM_CMDMEM_DQS
MEM_DQS2MEM
*
MEM_DQS
MEM_CLK2MEM
MEM_CLK
*
MEM_CTRL
MEM_DATA2MEM
MEM_DATA
*
MEM_CLK
MEM_DATA
MEM_DATA2MEM
*
MEM_CMD
*
MEM_DATA
MEM_DATA2MEM
MEM_DQS
*
MEM_DATA
MEM_DATA2MEM
MEM_CTRL
MEM_CMD2MEM
MEM_CMD
*
MEM_CMD2CMD
MEM_CMDMEM_CMD
*
MEM_CTRL2MEM
*
MEM_CTRL
MEM_DQS
MEM_CTRL
*
MEM_CTRL2MEM
MEM_DATAMEM_DATA
*
MEM_CLK
MEM_CLK2MEM
?
CPU_VCCSENSE
*
25 MIL
?
=2:1_SPACING
*
CPU_ITP
FSB_DATA2DATA
FSB_DATA
*
FSB_DATA
?
=3:1_SPACING
*
FSB_ADDR2ADSTB
?
=2:1_SPACING
FSB_ADDR2ADDR
*
?
FSB_ADDR
=3:1_SPACING
*