Kestrel-3

Hex Artifact Content
Login

Artifact 5b0e29193ad64508c56df5a338c6f33cba1d8c2d481414454f25d08281945ae2:

Wiki page [ByteLink] by kc5tja 2018-01-21 00:12:24.
0000: 44 20 32 30 31 38 2d 30 31 2d 32 31 54 30 30 3a  D 2018-01-21T00:
0010: 31 32 3a 32 34 2e 32 35 32 0a 4c 20 42 79 74 65  12:24.252.L Byte
0020: 4c 69 6e 6b 0a 4e 20 74 65 78 74 2f 78 2d 6d 61  Link.N text/x-ma
0030: 72 6b 64 6f 77 6e 0a 50 20 39 31 39 36 65 62 37  rkdown.P 9196eb7
0040: 62 30 61 36 34 35 30 39 32 34 30 65 61 33 37 64  b0a64509240ea37d
0050: 39 31 31 30 63 61 62 31 32 38 63 33 35 61 61 63  9110cab128c35aac
0060: 63 39 37 62 34 34 31 30 62 62 38 66 37 65 33 33  c97b4410bb8f7e33
0070: 35 63 62 36 30 36 39 34 32 0a 55 20 6b 63 35 74  5cb606942.U kc5t
0080: 6a 61 0a 57 20 34 33 37 32 0a 23 20 42 79 74 65  ja.W 4372.# Byte
0090: 4c 69 6e 6b 0d 0a 0d 0a 54 68 69 73 20 69 73 20  Link....This is 
00a0: 6d 79 20 61 74 74 65 6d 70 74 0d 0a 61 74 20 65  my attempt..at e
00b0: 78 70 6f 73 69 6e 67 20 74 68 65 0d 0a 54 69 6c  xposing the..Til
00c0: 65 4c 69 6e 6b 20 76 31 2e 37 20 54 4c 2d 55 4c  eLink v1.7 TL-UL
00d0: 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 0d 0a   specification..
00e0: 6f 75 74 20 6f 76 65 72 20 6a 75 73 74 20 74 77  out over just tw
00f0: 6f 20 50 4d 4f 44 20 32 78 36 20 70 6f 72 74 73  o PMOD 2x6 ports
0100: 2e 0d 0a 57 68 65 6e 20 63 6c 6f 63 6b 65 64 20  ...When clocked 
0110: 61 74 20 32 35 4d 48 7a 2c 0d 0a 62 65 73 74 2d  at 25MHz,..best-
0120: 63 61 73 65 20 74 68 72 6f 75 67 68 70 75 74 20  case throughput 
0130: 73 68 6f 75 6c 64 20 72 65 61 63 68 20 34 2e 35  should reach 4.5
0140: 4d 42 2f 73 2c 0d 0a 77 68 69 63 68 20 66 6f 72  MB/s,..which for
0150: 20 61 20 36 34 30 78 34 38 30 20 31 36 2d 63 6f   a 640x480 16-co
0160: 6c 6f 72 20 64 69 73 70 6c 61 79 2c 0d 0a 73 68  lor display,..sh
0170: 6f 75 6c 64 20 62 65 20 67 6f 6f 64 20 66 6f 72  ould be good for
0180: 20 32 39 20 66 72 61 6d 65 73 20 70 65 72 20 73   29 frames per s
0190: 65 63 6f 6e 64 2e 0d 0a 0d 0a 54 68 69 73 20 69  econd.....This i
01a0: 6e 74 65 72 63 6f 6e 6e 65 63 74 0d 0a 2a 2a 69  nterconnect..**i
01b0: 73 20 6e 6f 74 2a 2a 0d 0a 69 6e 74 65 6e 64 65  s not**..intende
01c0: 64 20 74 6f 20 62 65 20 73 77 69 74 63 68 65 64  d to be switched
01d0: 20 6f 76 65 72 20 61 20 6c 61 72 67 65 72 20 66   over a larger f
01e0: 61 62 72 69 63 2e 0d 0a 52 61 74 68 65 72 2c 20  abric...Rather, 
01f0: 69 74 27 73 20 64 65 73 69 67 6e 65 64 20 74 6f  it's designed to
0200: 20 6d 65 65 74 20 61 20 76 65 72 79 20 73 70 65   meet a very spe
0210: 63 69 66 69 63 20 6e 65 65 64 2e 0d 0a 0d 0a 45  cific need.....E
0220: 78 63 65 70 74 20 69 6e 20 74 68 65 20 63 61 73  xcept in the cas
0230: 65 20 6f 66 20 65 72 72 6f 72 73 2c 0d 0a 61 6c  e of errors,..al
0240: 6c 20 64 61 74 61 20 74 72 61 6e 73 61 63 74 69  l data transacti
0250: 6f 6e 73 20 74 61 6b 65 20 65 69 74 68 65 72 0d  ons take either.
0260: 0a 32 38 20 63 6c 6f 63 6b 20 63 79 63 6c 65 73  .28 clock cycles
0270: 2c 0d 0a 33 30 20 63 6c 6f 63 6b 20 63 79 63 6c  ,..30 clock cycl
0280: 65 73 2c 0d 0a 33 34 20 63 6c 6f 63 6b 20 63 79  es,..34 clock cy
0290: 63 6c 65 73 2c 0d 0a 6f 72 20 34 32 20 63 6c 6f  cles,..or 42 clo
02a0: 63 6b 20 63 79 63 6c 65 73 20 74 6f 20 63 6f 6d  ck cycles to com
02b0: 70 6c 65 74 65 0d 0a 64 65 70 65 6e 64 69 6e 67  plete..depending
02c0: 20 6f 6e 20 74 68 65 20 60 73 73 60 20 28 70 61   on the `ss` (pa
02d0: 79 6c 6f 61 64 20 73 69 7a 65 29 20 66 69 65 6c  yload size) fiel
02e0: 64 3a 0d 0a 0d 0a 20 20 20 20 73 73 20 20 53 69  d:....    ss  Si
02f0: 7a 65 20 20 20 20 20 20 20 20 20 20 42 69 74 73  ze          Bits
0300: 0d 0a 20 20 20 20 30 30 20 20 42 79 74 65 20 20  ..    00  Byte  
0310: 20 20 20 20 20 20 20 20 38 0d 0a 20 20 20 20 30          8..    0
0320: 31 20 20 48 61 6c 66 2d 77 6f 72 64 20 20 20 20  1  Half-word    
0330: 20 31 36 0d 0a 20 20 20 20 31 30 20 20 57 6f 72   16..    10  Wor
0340: 64 20 20 20 20 20 20 20 20 20 20 33 32 0d 0a 20  d          32.. 
0350: 20 20 20 31 31 20 20 44 6f 75 62 6c 65 2d 77 6f     11  Double-wo
0360: 72 64 20 20 20 36 34 0d 0a 0d 0a 23 23 20 49 6e  rd   64....## In
0370: 74 65 72 63 6f 6e 6e 65 63 74 20 53 69 67 6e 61  terconnect Signa
0380: 6c 73 0d 0a 0d 0a 7c 20 53 69 67 6e 61 6c 20 4e  ls....| Signal N
0390: 61 6d 65 20 7c 20 43 50 55 20 43 61 72 64 20 20  ame | CPU Card  
03a0: 20 20 7c 20 49 2f 4f 20 43 61 72 64 20 20 20 20    | I/O Card    
03b0: 7c 20 44 65 73 63 72 69 70 74 69 6f 6e 20 7c 0d  | Description |.
03c0: 0a 7c 3a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3a 7c  .|:-----------:|
03d0: 3a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3a 7c 3a 2d  :-----------:|:-
03e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 3a 7c 3a 2d 2d 2d  ----------:|:---
03f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 7c 0d 0a 7c 41 30 2d  ---------|..|A0-
0400: 41 33 20 20 20 20 20 20 20 20 7c 20 4f 55 54 20  A3        | OUT 
0410: 20 20 20 20 20 20 20 20 7c 20 49 4e 20 20 20 20          | IN    
0420: 20 20 20 20 20 20 7c 20 34 2d 62 69 74 20 41 2d        | 4-bit A-
0430: 63 68 61 6e 6e 65 6c 20 70 61 63 6b 65 74 20 64  channel packet d
0440: 61 74 61 20 62 75 73 20 7c 0d 0a 7c 41 43 4c 4b  ata bus |..|ACLK
0450: 20 20 20 20 20 20 20 20 20 7c 20 4f 55 54 20 20           | OUT  
0460: 20 20 20 20 20 20 20 7c 20 49 4e 20 20 20 20 20         | IN     
0470: 20 20 20 20 20 7c 20 41 2d 63 68 61 6e 6e 65 6c       | A-channel
0480: 20 63 6c 6f 63 6b 20 28 32 35 4d 48 7a 29 20 7c   clock (25MHz) |
0490: 0d 0a 7c 41 46 52 41 4d 45 20 20 20 20 20 20 20  ..|AFRAME       
04a0: 7c 20 4f 55 54 20 20 20 20 20 20 20 20 20 7c 20  | OUT         | 
04b0: 49 4e 20 20 20 20 20 20 20 20 20 20 7c 20 41 2d  IN          | A-
04c0: 63 68 61 6e 6e 65 6c 20 6d 65 73 73 61 67 65 20  channel message 
04d0: 62 6f 75 6e 64 61 72 79 20 69 6e 64 69 63 61 74  boundary indicat
04e0: 6f 72 20 7c 0d 0a 7c 42 30 2d 42 33 20 20 20 20  or |..|B0-B3    
04f0: 20 20 20 20 7c 20 49 4e 20 20 20 20 20 20 20 20      | IN        
0500: 20 20 7c 20 4f 55 54 20 20 20 20 20 20 20 20 20    | OUT         
0510: 7c 20 34 2d 62 69 74 20 42 2d 63 68 61 6e 6e 65  | 4-bit B-channe
0520: 6c 20 70 61 63 6b 65 74 20 64 61 74 61 20 62 75  l packet data bu
0530: 73 20 7c 0d 0a 7c 42 43 4c 4b 20 20 20 20 20 20  s |..|BCLK      
0540: 20 20 20 7c 20 49 4e 20 20 20 20 20 20 20 20 20     | IN         
0550: 20 7c 20 4f 55 54 20 20 20 20 20 20 20 20 20 7c   | OUT         |
0560: 20 42 2d 63 68 61 6e 6e 65 6c 20 63 6c 6f 63 6b   B-channel clock
0570: 20 28 32 35 4d 48 7a 29 20 7c 0d 0a 7c 42 46 52   (25MHz) |..|BFR
0580: 41 4d 45 20 20 20 20 20 20 20 7c 20 49 4e 20 20  AME       | IN  
0590: 20 20 20 20 20 20 20 20 7c 20 4f 55 54 20 20 20          | OUT   
05a0: 20 20 20 20 20 20 7c 20 42 2d 63 68 61 6e 6e 65        | B-channe
05b0: 6c 20 6d 65 73 73 61 67 65 20 62 6f 75 6e 64 61  l message bounda
05c0: 72 79 20 69 6e 64 69 63 61 74 6f 72 20 7c 0d 0a  ry indicator |..
05d0: 0d 0a 2a 2a 4e 4f 54 45 3a 2a 2a 20 57 68 65 6e  ..**NOTE:** When
05e0: 20 73 65 6e 64 69 6e 67 20 64 61 74 61 2c 20 60   sending data, `
05f0: 4e 79 62 30 60 20 69 73 20 73 65 6e 74 20 66 69  Nyb0` is sent fi
0600: 72 73 74 2c 20 74 68 65 6e 20 60 4e 79 62 31 60  rst, then `Nyb1`
0610: 2e 0d 0a 54 68 69 73 20 67 65 6e 65 72 61 6c 6c  ...This generall
0620: 79 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 52 49  y follows the RI
0630: 53 43 2d 56 20 63 6f 6e 76 65 6e 74 69 6f 6e 20  SC-V convention 
0640: 6f 66 20 6c 69 74 74 6c 65 2d 65 6e 64 69 61 6e  of little-endian
0650: 20 66 6f 72 6d 61 74 73 2e 0d 0a 0d 0a 54 68 65   formats.....The
0660: 20 60 78 46 52 41 4d 45 60 20 73 69 67 6e 61 6c   `xFRAME` signal
0670: 20 61 73 73 65 72 74 73 20 6f 6e 6c 79 20 77 68   asserts only wh
0680: 65 6e 20 73 65 6e 64 69 6e 67 20 60 4e 79 62 30  en sending `Nyb0
0690: 60 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 62  ` of the first b
06a0: 79 74 65 20 6f 66 20 61 20 6e 65 77 20 70 61 63  yte of a new pac
06b0: 6b 65 74 2e 0d 0a 0d 0a 23 23 20 4d 65 73 73 61  ket.....## Messa
06c0: 67 65 20 46 6f 72 6d 61 74 73 0d 0a 0d 0a 23 23  ge Formats....##
06d0: 23 20 47 45 54 0d 0a 20 20 20 20 20 20 20 20 20  # GET..         
06e0: 20 20 20 20 4e 79 62 31 20 4e 79 62 30 0d 0a 0d      Nyb1 Nyb0...
06f0: 0a 20 20 20 20 42 59 54 45 20 31 20 20 20 30 30  .    BYTE 1   00
0700: 2e 2e 20 30 2e 2e 2e 20 20 4d 75 73 74 20 62 65  .. 0...  Must be
0710: 20 7a 65 72 6f 0d 0a 20 20 20 20 20 20 20 20 20   zero..         
0720: 20 20 20 20 2e 2e 73 73 20 2e 2e 2e 2e 20 20 53      ..ss ....  S
0730: 69 7a 65 20 66 69 65 6c 64 0d 0a 20 20 20 20 20  ize field..     
0740: 20 20 20 20 20 20 20 20 2e 2e 2e 2e 20 2e 6f 70          .... .op
0750: 63 20 20 4f 70 63 6f 64 65 20 28 73 65 65 20 54  c  Opcode (see T
0760: 69 6c 65 4c 69 6e 6b 20 73 70 65 63 29 0d 0a 20  ileLink spec).. 
0770: 20 20 20 42 59 54 45 20 32 20 20 20 74 74 74 74     BYTE 2   tttt
0780: 20 74 74 74 74 20 20 54 72 61 6e 73 61 63 74 69   tttt  Transacti
0790: 6f 6e 20 49 44 0d 0a 20 20 20 20 42 59 54 45 20  on ID..    BYTE 
07a0: 33 20 20 20 6d 6d 6d 6d 20 6d 6d 6d 6d 20 20 52  3   mmmm mmmm  R
07b0: 65 61 64 20 4d 61 73 6b 20 28 55 6e 75 73 65 64  ead Mask (Unused
07c0: 29 0d 0a 20 20 20 20 42 59 54 45 20 34 20 20 20  )..    BYTE 4   
07d0: 61 61 61 61 20 61 2e 2e 2e 20 20 41 64 64 72 65  aaaa a...  Addre
07e0: 73 73 20 62 69 74 73 20 30 2d 37 0d 0a 20 20 20  ss bits 0-7..   
07f0: 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 2e 20 2e            .... .
0800: 30 30 30 20 20 4d 75 73 74 20 62 65 20 7a 65 72  000  Must be zer
0810: 6f 0d 0a 20 20 20 20 42 59 54 45 20 35 20 20 20  o..    BYTE 5   
0820: 61 61 61 61 20 61 61 61 61 20 20 41 64 64 72 65  aaaa aaaa  Addre
0830: 73 73 20 62 69 74 73 20 38 2d 31 35 0d 0a 20 20  ss bits 8-15..  
0840: 20 20 42 59 54 45 20 36 20 20 20 61 61 61 61 20    BYTE 6   aaaa 
0850: 61 61 61 61 20 20 41 64 64 72 65 73 73 20 62 69  aaaa  Address bi
0860: 74 73 20 31 36 2d 32 33 0d 0a 20 20 20 20 42 59  ts 16-23..    BY
0870: 54 45 20 37 20 20 20 61 61 61 61 20 61 61 61 61  TE 7   aaaa aaaa
0880: 20 20 41 64 64 72 65 73 73 20 62 69 74 73 20 32    Address bits 2
0890: 34 2d 33 31 0d 0a 20 20 20 20 42 59 54 45 20 38  4-31..    BYTE 8
08a0: 20 20 20 61 61 61 61 20 61 61 61 61 20 20 41 64     aaaa aaaa  Ad
08b0: 64 72 65 73 73 20 62 69 74 73 20 33 32 2d 33 39  dress bits 32-39
08c0: 0d 0a 20 20 20 20 42 59 54 45 20 39 20 20 20 61  ..    BYTE 9   a
08d0: 61 61 61 20 61 61 61 61 20 20 41 64 64 72 65 73  aaa aaaa  Addres
08e0: 73 20 62 69 74 73 20 34 30 2d 34 37 0d 0a 20 20  s bits 40-47..  
08f0: 20 20 42 59 54 45 20 31 30 20 20 61 61 61 61 20    BYTE 10  aaaa 
0900: 61 61 61 61 20 20 41 64 64 72 65 73 73 20 62 69  aaaa  Address bi
0910: 74 73 20 34 38 2d 35 35 0d 0a 20 20 20 20 42 59  ts 48-55..    BY
0920: 54 45 20 31 31 20 20 61 61 61 61 20 61 61 61 61  TE 11  aaaa aaaa
0930: 20 20 41 64 64 72 65 73 73 20 62 69 74 73 20 35    Address bits 5
0940: 36 2d 36 33 0d 0a 0d 0a 23 23 23 20 50 55 54 20  6-63....### PUT 
0950: 50 41 52 54 49 41 4c 20 61 6e 64 20 50 55 54 20  PARTIAL and PUT 
0960: 46 55 4c 4c 0d 0a 0d 0a 20 20 20 20 20 20 20 20  FULL....        
0970: 20 20 20 20 20 4e 79 62 31 20 4e 79 62 30 0d 0a       Nyb1 Nyb0..
0980: 0d 0a 20 20 20 20 42 59 54 45 20 31 20 20 20 30  ..    BYTE 1   0
0990: 30 2e 2e 20 30 2e 2e 2e 20 20 4d 75 73 74 20 62  0.. 0...  Must b
09a0: 65 20 7a 65 72 6f 0d 0a 20 20 20 20 20 20 20 20  e zero..        
09b0: 20 20 20 20 20 2e 2e 73 73 20 2e 2e 2e 2e 20 20       ..ss ....  
09c0: 53 69 7a 65 20 66 69 65 6c 64 0d 0a 20 20 20 20  Size field..    
09d0: 20 20 20 20 20 20 20 20 20 2e 2e 2e 2e 20 2e 6f           .... .o
09e0: 70 63 20 20 4f 70 63 6f 64 65 20 28 73 65 65 20  pc  Opcode (see 
09f0: 54 69 6c 65 4c 69 6e 6b 20 73 70 65 63 29 0d 0a  TileLink spec)..
0a00: 20 20 20 20 42 59 54 45 20 32 20 20 20 74 74 74      BYTE 2   ttt
0a10: 74 20 74 74 74 74 20 20 54 72 61 6e 73 61 63 74  t tttt  Transact
0a20: 69 6f 6e 20 49 44 0d 0a 20 20 20 20 42 59 54 45  ion ID..    BYTE
0a30: 20 33 20 20 20 6d 6d 6d 6d 20 6d 6d 6d 6d 20 20   3   mmmm mmmm  
0a40: 57 72 69 74 65 20 4d 61 73 6b 0d 0a 20 20 20 20  Write Mask..    
0a50: 42 59 54 45 20 34 20 20 20 61 61 61 61 20 61 2e  BYTE 4   aaaa a.
0a60: 2e 2e 20 20 41 64 64 72 65 73 73 20 62 69 74 73  ..  Address bits
0a70: 20 30 2d 37 0d 0a 20 20 20 20 20 20 20 20 20 20   0-7..          
0a80: 20 20 20 2e 2e 2e 2e 20 2e 30 30 30 20 20 4d 75     .... .000  Mu
0a90: 73 74 20 62 65 20 7a 65 72 6f 0d 0a 20 20 20 20  st be zero..    
0aa0: 42 59 54 45 20 35 20 20 20 61 61 61 61 20 61 61  BYTE 5   aaaa aa
0ab0: 61 61 20 20 41 64 64 72 65 73 73 20 62 69 74 73  aa  Address bits
0ac0: 20 38 2d 31 35 0d 0a 20 20 20 20 42 59 54 45 20   8-15..    BYTE 
0ad0: 36 20 20 20 61 61 61 61 20 61 61 61 61 20 20 41  6   aaaa aaaa  A
0ae0: 64 64 72 65 73 73 20 62 69 74 73 20 31 36 2d 32  ddress bits 16-2
0af0: 33 0d 0a 20 20 20 20 42 59 54 45 20 37 20 20 20  3..    BYTE 7   
0b00: 61 61 61 61 20 61 61 61 61 20 20 41 64 64 72 65  aaaa aaaa  Addre
0b10: 73 73 20 62 69 74 73 20 32 34 2d 33 31 0d 0a 20  ss bits 24-31.. 
0b20: 20 20 20 42 59 54 45 20 38 20 20 20 61 61 61 61     BYTE 8   aaaa
0b30: 20 61 61 61 61 20 20 41 64 64 72 65 73 73 20 62   aaaa  Address b
0b40: 69 74 73 20 33 32 2d 33 39 0d 0a 20 20 20 20 42  its 32-39..    B
0b50: 59 54 45 20 39 20 20 20 61 61 61 61 20 61 61 61  YTE 9   aaaa aaa
0b60: 61 20 20 41 64 64 72 65 73 73 20 62 69 74 73 20  a  Address bits 
0b70: 34 30 2d 34 37 0d 0a 20 20 20 20 42 59 54 45 20  40-47..    BYTE 
0b80: 31 30 20 20 61 61 61 61 20 61 61 61 61 20 20 41  10  aaaa aaaa  A
0b90: 64 64 72 65 73 73 20 62 69 74 73 20 34 38 2d 35  ddress bits 48-5
0ba0: 35 0d 0a 20 20 20 20 42 59 54 45 20 31 31 20 20  5..    BYTE 11  
0bb0: 61 61 61 61 20 61 61 61 61 20 20 41 64 64 72 65  aaaa aaaa  Addre
0bc0: 73 73 20 62 69 74 73 20 35 36 2d 36 33 0d 0a 20  ss bits 56-63.. 
0bd0: 20 20 20 42 59 54 45 20 31 32 20 20 64 64 64 64     BYTE 12  dddd
0be0: 20 64 64 64 64 20 20 44 61 74 61 20 62 69 74 73   dddd  Data bits
0bf0: 20 30 2d 37 20 20 20 20 28 72 65 71 75 69 72 65   0-7    (require
0c00: 64 29 0d 0a 20 20 20 20 42 59 54 45 20 31 33 20  d)..    BYTE 13 
0c10: 20 64 64 64 64 20 64 64 64 64 20 20 44 61 74 61   dddd dddd  Data
0c20: 20 62 69 74 73 20 38 2d 31 35 20 20 20 28 6f 6e   bits 8-15   (on
0c30: 6c 79 20 69 66 20 73 73 20 3e 3d 20 31 29 0d 0a  ly if ss >= 1)..
0c40: 20 20 20 20 42 59 54 45 20 31 34 20 20 64 64 64      BYTE 14  ddd
0c50: 64 20 64 64 64 64 20 20 44 61 74 61 20 62 69 74  d dddd  Data bit
0c60: 73 20 31 36 2d 32 33 20 20 28 6f 6e 6c 79 20 69  s 16-23  (only i
0c70: 66 20 73 73 20 3e 3d 20 32 29 0d 0a 20 20 20 20  f ss >= 2)..    
0c80: 42 59 54 45 20 31 35 20 20 64 64 64 64 20 64 64  BYTE 15  dddd dd
0c90: 64 64 20 20 44 61 74 61 20 62 69 74 73 20 32 34  dd  Data bits 24
0ca0: 2d 33 31 20 20 28 6f 6e 6c 79 20 69 66 20 73 73  -31  (only if ss
0cb0: 20 3e 3d 20 32 29 0d 0a 20 20 20 20 42 59 54 45   >= 2)..    BYTE
0cc0: 20 31 36 20 20 64 64 64 64 20 64 64 64 64 20 20   16  dddd dddd  
0cd0: 44 61 74 61 20 62 69 74 73 20 33 32 2d 33 39 20  Data bits 32-39 
0ce0: 20 28 6f 6e 6c 79 20 69 66 20 73 73 20 3d 20 33   (only if ss = 3
0cf0: 29 0d 0a 20 20 20 20 42 59 54 45 20 31 37 20 20  )..    BYTE 17  
0d00: 64 64 64 64 20 64 64 64 64 20 20 44 61 74 61 20  dddd dddd  Data 
0d10: 62 69 74 73 20 34 30 2d 34 37 20 20 28 6f 6e 6c  bits 40-47  (onl
0d20: 79 20 69 66 20 73 73 20 3d 20 33 29 0d 0a 20 20  y if ss = 3)..  
0d30: 20 20 42 59 54 45 20 31 38 20 20 64 64 64 64 20    BYTE 18  dddd 
0d40: 64 64 64 64 20 20 44 61 74 61 20 62 69 74 73 20  dddd  Data bits 
0d50: 34 38 2d 35 35 20 20 28 6f 6e 6c 79 20 69 66 20  48-55  (only if 
0d60: 73 73 20 3d 20 33 29 0d 0a 20 20 20 20 42 59 54  ss = 3)..    BYT
0d70: 45 20 31 39 20 20 64 64 64 64 20 64 64 64 64 20  E 19  dddd dddd 
0d80: 20 44 61 74 61 20 62 69 74 73 20 35 36 2d 36 33   Data bits 56-63
0d90: 20 20 28 6f 6e 6c 79 20 69 66 20 73 73 20 3d 20    (only if ss = 
0da0: 33 29 0d 0a 0d 0a 23 23 23 20 41 43 4b 0d 0a 0d  3)....### ACK...
0db0: 0a 20 20 20 20 42 59 54 45 20 31 20 20 20 30 2e  .    BYTE 1   0.
0dc0: 2e 2e 20 2e 2e 2e 2e 20 20 4d 75 73 74 20 62 65  .. ....  Must be
0dd0: 20 7a 65 72 6f 0d 0a 20 20 20 20 20 20 20 20 20   zero..         
0de0: 20 20 20 20 2e 45 2e 2e 20 2e 2e 2e 2e 20 20 53      .E.. ....  S
0df0: 65 74 20 69 66 20 65 72 72 6f 72 3b 20 63 6c 65  et if error; cle
0e00: 61 72 20 6f 74 68 65 72 77 69 73 65 0d 0a 20 20  ar otherwise..  
0e10: 20 20 20 20 20 20 20 20 20 20 20 2e 2e 73 73 20             ..ss 
0e20: 2e 2e 2e 2e 20 20 53 69 7a 65 20 66 69 65 6c 64  ....  Size field
0e30: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2e  ..             .
0e40: 2e 2e 2e 20 31 2e 2e 2e 20 20 4d 75 73 74 20 62  ... 1...  Must b
0e50: 65 20 6f 6e 65 0d 0a 20 20 20 20 20 20 20 20 20  e one..         
0e60: 20 20 20 20 2e 2e 2e 2e 20 2e 6f 70 63 20 20 4f      .... .opc  O
0e70: 70 63 6f 64 65 20 28 73 65 65 20 54 69 6c 65 4c  pcode (see TileL
0e80: 69 6e 6b 20 73 70 65 63 29 0d 0a 20 20 20 20 42  ink spec)..    B
0e90: 59 54 45 20 32 20 20 20 74 74 74 74 20 74 74 74  YTE 2   tttt ttt
0ea0: 74 20 20 54 72 61 6e 73 61 63 74 69 6f 6e 20 49  t  Transaction I
0eb0: 44 0d 0a 0d 0a 23 23 23 20 41 43 4b 20 44 41 54  D....### ACK DAT
0ec0: 41 0d 0a 0d 0a 20 20 20 20 42 59 54 45 20 31 20  A....    BYTE 1 
0ed0: 20 20 30 2e 2e 2e 20 2e 2e 2e 2e 20 20 4d 75 73    0... ....  Mus
0ee0: 74 20 62 65 20 7a 65 72 6f 0d 0a 20 20 20 20 20  t be zero..     
0ef0: 20 20 20 20 20 20 20 20 2e 45 2e 2e 20 2e 2e 2e          .E.. ...
0f00: 2e 20 20 53 65 74 20 69 66 20 65 72 72 6f 72 3b  .  Set if error;
0f10: 20 63 6c 65 61 72 20 6f 74 68 65 72 77 69 73 65   clear otherwise
0f20: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2e  ..             .
0f30: 2e 73 73 20 2e 2e 2e 2e 20 20 53 69 7a 65 20 66  .ss ....  Size f
0f40: 69 65 6c 64 0d 0a 20 20 20 20 20 20 20 20 20 20  ield..          
0f50: 20 20 20 2e 2e 2e 2e 20 31 2e 2e 2e 20 20 4d 75     .... 1...  Mu
0f60: 73 74 20 62 65 20 6f 6e 65 0d 0a 20 20 20 20 20  st be one..     
0f70: 20 20 20 20 20 20 20 20 2e 2e 2e 2e 20 2e 6f 70          .... .op
0f80: 63 20 20 4f 70 63 6f 64 65 20 28 73 65 65 20 54  c  Opcode (see T
0f90: 69 6c 65 4c 69 6e 6b 20 73 70 65 63 29 0d 0a 20  ileLink spec).. 
0fa0: 20 20 20 42 59 54 45 20 32 20 20 20 74 74 74 74     BYTE 2   tttt
0fb0: 20 74 74 74 74 20 20 54 72 61 6e 73 61 63 74 69   tttt  Transacti
0fc0: 6f 6e 20 49 44 0d 0a 20 20 20 20 42 59 54 45 20  on ID..    BYTE 
0fd0: 33 20 20 20 64 64 64 64 20 64 64 64 64 20 20 44  3   dddd dddd  D
0fe0: 61 74 61 20 62 69 74 73 20 30 2d 37 20 20 20 20  ata bits 0-7    
0ff0: 28 72 65 71 75 69 72 65 64 29 0d 0a 20 20 20 20  (required)..    
1000: 42 59 54 45 20 34 20 20 20 64 64 64 64 20 64 64  BYTE 4   dddd dd
1010: 64 64 20 20 44 61 74 61 20 62 69 74 73 20 38 2d  dd  Data bits 8-
1020: 31 35 20 20 20 28 6f 6e 6c 79 20 69 66 20 73 73  15   (only if ss
1030: 20 3e 3d 20 31 29 0d 0a 20 20 20 20 42 59 54 45   >= 1)..    BYTE
1040: 20 35 20 20 20 64 64 64 64 20 64 64 64 64 20 20   5   dddd dddd  
1050: 44 61 74 61 20 62 69 74 73 20 31 36 2d 32 33 20  Data bits 16-23 
1060: 20 28 6f 6e 6c 79 20 69 66 20 73 73 20 3e 3d 20   (only if ss >= 
1070: 32 29 0d 0a 20 20 20 20 42 59 54 45 20 36 20 20  2)..    BYTE 6  
1080: 20 64 64 64 64 20 64 64 64 64 20 20 44 61 74 61   dddd dddd  Data
1090: 20 62 69 74 73 20 32 34 2d 33 31 20 20 28 6f 6e   bits 24-31  (on
10a0: 6c 79 20 69 66 20 73 73 20 3e 3d 20 32 29 0d 0a  ly if ss >= 2)..
10b0: 20 20 20 20 42 59 54 45 20 37 20 20 20 64 64 64      BYTE 7   ddd
10c0: 64 20 64 64 64 64 20 20 44 61 74 61 20 62 69 74  d dddd  Data bit
10d0: 73 20 33 32 2d 33 39 20 20 28 6f 6e 6c 79 20 69  s 32-39  (only i
10e0: 66 20 73 73 20 3d 20 33 29 0d 0a 20 20 20 20 42  f ss = 3)..    B
10f0: 59 54 45 20 38 20 20 20 64 64 64 64 20 64 64 64  YTE 8   dddd ddd
1100: 64 20 20 44 61 74 61 20 62 69 74 73 20 34 30 2d  d  Data bits 40-
1110: 34 37 20 20 28 6f 6e 6c 79 20 69 66 20 73 73 20  47  (only if ss 
1120: 3d 20 33 29 0d 0a 20 20 20 20 42 59 54 45 20 39  = 3)..    BYTE 9
1130: 20 20 20 64 64 64 64 20 64 64 64 64 20 20 44 61     dddd dddd  Da
1140: 74 61 20 62 69 74 73 20 34 38 2d 35 35 20 20 28  ta bits 48-55  (
1150: 6f 6e 6c 79 20 69 66 20 73 73 20 3d 20 33 29 0d  only if ss = 3).
1160: 0a 20 20 20 20 42 59 54 45 20 31 30 20 20 64 64  .    BYTE 10  dd
1170: 64 64 20 64 64 64 64 20 20 44 61 74 61 20 62 69  dd dddd  Data bi
1180: 74 73 20 35 36 2d 36 33 20 20 28 6f 6e 6c 79 20  ts 56-63  (only 
1190: 69 66 20 73 73 20 3d 20 33 29 0d 0a 0d 0a 0a 5a  if ss = 3).....Z
11a0: 20 30 62 37 62 61 66 32 36 39 32 63 33 64 32 39   0b7baf2692c3d29
11b0: 64 66 38 62 38 33 34 61 62 31 66 39 37 39 61 34  df8b834ab1f979a4
11c0: 36 0a                                            6.