Here are some notes for connecting a Digilent XC2-XL CPLD board to a standard 20-pin JTAG header.
Note that Pin 1 for J1 is at the bottom of the board, closest to the J1 label (also has a square pad on the solder side).
In OpenOCD 0.8.0, the JTAG auto-detection misses the size of the XC2C256 Instruction Register (IR). It should be 8 bits, but autodetection sees it as 2, and then prints an error later.
| # (20-pin) | JTAG | XC2-XL | # (J1) |
|---|---|---|---|
| 1 | VREF | VDD | 6 |
| 2 | VREF | VDD | 6 |
| 3 | TRST_N | NC | |
| 4 | GND | GND | 5 |
| 5 | TDI | TDI | 2 |
| 6 | GND | GND | 5 |
| 7 | TMS | TMS | 1 |
| 8 | GND | GND | 5 |
| 9 | TCK | TCK | 4 |
| 10 | GND | GND | 5 |
| 11 | RTCK | NC | |
| 12 | GND | GND | 5 |
| 13 | TDO | TDO | 3 |
| 14 | GND | GND | 5 |
| 15 | SRST_N | NC | |
| 16 | GND | GND | 5 |
| 17 | NC | NC | |
| 18 | GND | GND | 5 |
| 19 | NC | NC | |
| 20 | GND | GND | 5 |