1 # ULX3S JTAG Connection with STLINKV2
5 <https://bugs.libre-soc.org/show_bug.cgi?id=517>
7 <http://lists.libre-soc.org/pipermail/libre-soc-dev/2020-October/000873.html>
9 ## Original Instructions
11 See https://bugs.libre-soc.org/show_bug.cgi?id=517#c0
13 TODO checklist based on above
15 ## Connecting the dots:
17 Accurate render of board for reference <https://github.com/emard/ulx3s/blob/master/pic/ulx3st.jpg>
19 STLINKV2 Pins and JTAG signals schematic/user guide <https://www.st.com/resource/en/user_manual/dm00026748-stlinkv2-incircuit-debuggerprogrammer-for-stm8-and-stm32-stmicroelectronics.pdf>
21 Litex platform file <https://github.com/litex-hub/litex-boards/blob/master/litex_boards/platforms/ulx3s.py>
24 Subsignal"p", Pins("B11")),
25 Subsignal("n", Pins("C11")),
26 IOStandard("LVCMOS33")
29 Subsignal("p", Pins("A10")),
30 Subsignal("n", Pins("A11")),
31 IOStandard("LVCMOS33")
34 ULX3S FPGA constraints file <https://github.com/emard/ulx3s/blob/master/doc/constraints/ulx3s_v20.lpf#L341-342>
36 LOCATE COMP "gp[0]" SITE "B11"; # J1_5+ GP0 PCLK
37 LOCATE COMP "gn[0]" SITE "C11"; # J1_5- GN0 PCLK
38 LOCATE COMP "gp[1]" SITE "A10"; # J1_7+ GP1 PCLK
39 LOCATE COMP "gn[1]" SITE "A11"; # J1_7- GN1 PCLK
41 ULX3S FPGA Schematic <https://github.com/emard/ulx3s/blob/master/doc/schematics_v308.pdf>
44 J1 J2 PIN number 1-40 is for FEMALE 90° ANGLED header.
45 For MALE VERTICAL header, SWAP EVEN and ODD pin numbers.
49 Label [GP{x}]|PCB pin label|[GN{x}] Label
50 (Pin count +)(Pin count -)
51 _________________V__________V________________
52 IO VOLT REF 3V3 2 |3.3V| 1 NOT CONNECTED
53 [GND] 4 | -| | 3 NOT CONNECTED
54 PCLKT0_0 [GP0] 6 | 0 | 5 [GN0] PCLKC0_0
55 PCLKT0_1 [GP1] 8 | 1 | 7 [GN1] PCLKC0_1
58 GP,GN 0-7 single-ended connected to Bank0
59 GP,GN 8-13 differential bidirectional connected to BANK7
62 Connecting all the dots:
65 Board pin # (count) | Board pin label # | FPGA IO PAD | GPIO # (n/p) | Label |
66 5 (J1_5-) | 0 | C11 | gn[0] | PCLKC0_0 |
67 6 (J1_5+) | 0 | B11 | gp[0] | PCLKT0_0 |
68 7 (J1_7-) | 1 | A11 | gn[1] | PCLKC0_1 |
69 8 (J1_7+) | 1 | A10 | gp[1] | PCLKT0_1 |
72 As noted in the schematic pins GP,GN 0-7 are single ended non-differential pairs, whereas pins GP,GN 8-13 I haven't mapped out here as they are bidirectional differential pairs.
74 Proposed FPGA External Pin to STLINK JTAG pin connections:
77 all pin #'s have headers pins on the fpga unless denoted as (no header)
78 ______________________________________________________________________________
80 | | label | | |STLINKV2 JTAG | |
81 | pin # | # | FPGA IO PAD |GPIO # (n/p) | Pin # (Signal)|Wire Colour|
82 |_____________|_______|_____________|_____________|________________|___________|
83 |1 (no header)| 3.3v |NOT CONNECTED|NOT CONNECTED| NOT CONNECTED | NOT |
84 |2 | 3.3v | IO VOLT REF | IO VOLT REF | 2 (MCU VDD) | Red |
85 |3 (no header)|-|(GND)|NOT CONNECTED|NOT CONNECTED| NOT CONNECTED | NOT |
86 |4 |-|(GND)| NONE | GND | 4 (GND) | Black |
87 |5 (J1_5-) | 0 | C11 | gn[0] | 5 (JTDI) | Green |
88 |6 (J1_5+) | 0 | B11 | gp[0] | 7 (JTMS) | Blue |
89 |7 (J1_7-) | 1 | A11 | gn[1] | 9 (JTCK) | White |
90 |8 (J1_7+) | 1 | A10 | gp[1] | 13 (JTDO) | Yellow |
91 |_____________|_______|_____________|_____________|________________|___________|
97 Pins intentionally have no header or are not connected to the STLINKVT are marked
98 and therefore have no value are marked with 'NOT'
100 (ST# JTAG) = (STLINKV2 pin # JTAG signal name)
105 Colour [GP{x}]|PCB label|[GN{x}] Colour
106 (ST# JTAG) (Pin count +)(Pin count -) (ST# JTAG)
107 ________________________V__________V_________________________
109 |( 2 JVDD) red [VREF] 2 |3.3V| 1 NOT NOT NOT |
110 |( 4 JGND) black [GND] 4 | -| | 3 NOT NOT NOT |
111 |( 7 JTMS) blue [GP0] 6 | 0 | 5 [GN0] green (5 JTDI) |
112 |(13 JTDO) yellow [GP1] 8 | 1 | 7 [GN1] white (9 JTCK) |
113 |_____________________________________________________________|
116 ## Images of wires on FPGA and on STLINKV2
118 Image of JTAG jumper wire connections on ULX3S FPGA side
120 [[!img HDL_workflow/jtag_wires_ulx3s_fpga.jpg size="200x" ]]
122 Image of JTAG jumper wire connections on STLINKV2 side
124 (same orientation as JTAG pinout documentation)
126 [[!img HDL_workflow/jtag_wires_ulx3s_stlinkv2_same_orientation_as_jtag.jpg size="250x" ]]
128 Image of JTAG jumper wire connections on STLINKV2 side
130 (opposite orientation as JTAG pinout documentation,
132 same orientation as 'ST' text on STLINKV2 device)
134 [[!img HDL_workflow/jtag_wires_ulx3s_stlinkv2_opposite_orientation_to_jtag.jpg size="x302" ]]
138 [[!img 2020-11-03_14-08.png size="900x" ]]
140 [[!img 2020-11-03_14-09.png size="900x" ]]
142 # VERSA ECP5 Connections
144 Table of connections:
146 | X3 pin # | FPGA IO PAD | STLinkv2 |Wire Colour|
147 |-------------|-------------|----------------|-----------|
148 |1 GND | GND | 4 (GND) | Black |
149 |2 NC | NC | NC | NC |
150 |39 +3.3V | 3.3V supply | 2 (MCU VDD) | Red |
151 |4 IO29 | B19 | 5 (TDI) | Green |
152 |5 IO30 | B12 | 7 (TMS) | Blue |
153 |6 IO31 | B9 | 9 (TCK) | White |
154 |7 IO32 | E6 | 13 (TDO) | Yellow |
156 [[!img 2020-11-03_13-22.png size="900x" ]]
158 [[!img 2020-11-03_13-25.png size="900x" ]]
160 [[!img versa_ecp5_x3_connector.jpg size="900x" ]]