You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/12_gui.md
+19-5Lines changed: 19 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,11 +81,18 @@ The leftmost (or topmost, depending on layout) panel. Holds:
81
81
|**Backend**| Dropdown: `hw_server` (default) or `openocd`|
82
82
|**Host**| TCP host of the transport, default `127.0.0.1`|
83
83
|**Port**| TCP port, default `3121` for hw_server / `6666` for openocd |
84
-
|**FPGA target**| hw_server target name (e.g. `xc7a100t`) or openocd TAP name |
84
+
|**FPGA target / TAP**| hw_server target name (e.g. `xc7a100t`) or OpenOCD TAP name. For OpenOCD you can enter `auto` to use the first tap OpenOCD reports |
85
+
|**[Scan]**| hw_server: lists XSDB JTAG targets. OpenOCD: lists tap names via `jtag names`. Click to fill the **TAP** field instead of typing it |
85
86
|**Bitfile**| Optional path to a `.bit` file; if set, the GUI runs `fpga -file <bitfile>` and waits for the readiness probe before declaring "connected" |
86
-
|**IR table**| Dropdown: `Xilinx 7-series` (default) or `Xilinx UltraScale / UltraScale+`. Maps to the `IR_TABLE_*` presets in [chapter 14](14_transports.md)|
87
+
|**IR table**| Dropdown: `Xilinx 7-series` (default), `Xilinx UltraScale / UltraScale+`, or `Gowin (OpenOCD)`. Maps to the `IR_TABLE_*` presets in [chapter 14](14_transports.md)|
87
88
|**[Connect] / [Disconnect]**| Open or close the underlying transport |
88
89
90
+
> **Gowin boards** connect over the **OpenOCD** backend (the FTDI/Gowin cable
91
+
> driven by an already-running `openocd`): set Backend = `openocd`, Port `6666`,
92
+
> TAP = your tap name or `auto`, IR table = **Gowin (OpenOCD)**. The ELA tab
93
+
> works immediately, and **EIO is auto-discovered and attached** on connect (see
94
+
> the EIO panel below) — no USER chain or mux offset to enter.
95
+
89
96
When you click **Connect**:
90
97
91
98
1. The GUI builds a `XilinxHwServerTransport` (or `OpenOcdTransport`)
@@ -266,15 +273,22 @@ adjacent identical values render as a flat line, not a sawtooth.
266
273
267
274
### EIO panel
268
275
276
+
On connect the GUI **auto-discovers and attaches** the EIO core: it probes the
277
+
known locations — core-manager slots, then each USER chain at register offsets
278
+
`0x0000` and `0x8000` — and attaches the first that reports the EIO identity
279
+
(`'IO'`). You normally do not touch the controls below; they are a manual
280
+
override.
281
+
269
282
For managed designs, the **Core** selector lists detected EIO cores as
270
283
`core 2`, `core 3`, and so on, with the selected USER chain and manager
271
284
slot shown beside it. Choosing a core attaches it immediately and shows
272
285
the EIO identity / bus widths. The Arty multi-core reference uses chain
273
286
**1**, slots **2** and **3**.
274
287
275
-
For legacy standalone EIO designs with no detected manager slot, the panel
276
-
falls back to manual **JTAG chain**, optional **Managed slot**, and
277
-
**Attach EIO** controls.
288
+
For standalone or shared-chain EIO designs, the panel exposes manual
289
+
**JTAG chain**, optional **Managed slot**, and a **Base** offset. A
290
+
**shared-chain** EIO — e.g. Gowin `EIO_EN=1`, which muxes EIO onto the ELA
291
+
chain — lives at chain **1**, Base **0x8000** (discovery fills that in for you).
278
292
279
293
For each input bit, **read-only checkboxes** update from
280
294
`EioController.read_inputs()` while **Poll inputs** is checked.
0 commit comments