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
| GEN_NO_HYPERBUS | all |`0` Use the hyperram controller inside `carfield.sv`<br>`1` Use the Xilinx DDR controller |
104
-
| GEN_EXT_JTAG |vcu128|`0` Connect the JTAG debugger to the board's JTAG (see [vcu128](#xilinx-vcu128)) <br>`1` Connect the JTAG debugger to an external JTAG chain |
105
+
| GEN_EXT_JTAG |all|`0` Connect the JTAG debugger to the board's JTAG (see [vcu128](#xilinx-vcu128)) <br>`1` Connect the JTAG debugger to an external JTAG chain |
105
106
| CARFIELD_CONFIG | all | Select the Carfield configuration to implement. See below for supported configs. |
106
107
| VIVADO_MODE | all |`batch` Compile in Vivado shell<br>`gui` Compile in Vivado gui |
107
-
| XILINX_BOOT_ETH |all|`0` Boot via SPI flash only (see [booting Linux](#booting_linux)) <br>`1` Boot via SPI flash and Ethernet |
108
+
| XILINX_BOOT_ETH |vcu128|`0` Boot via SPI flash only (see [booting Linux](#booting_linux)) <br>`1` Boot via SPI flash and Ethernet |
108
109
109
110
See below some typical building time for reference:
110
111
@@ -141,19 +142,34 @@ can be set in the Vivado GUI (see [Using Vivado GUI](#bringup_vivado_gui)).
141
142
> The VCU128 development board only provides one JTAG chain, used by Vivado to program the
142
143
bitstream, and interact with certain Xilinx IPs (ILAs, VIOs, ...). The RV64 requires access to a
143
144
JTAG chain to connect GDB to the debug-module in the bitstream.
144
-
145
145
> When using `EXT_JTAG=0` it is possible to connect the debug module to the internal FPGA's JTAG by
146
146
using the Xilinx BSCANE macro. With this, you will only need the normal Xilinx USB cable to interact
147
147
with CVA6. Note that it means that
148
148
Vivado and OpenOCD can not use the same cable at the same time.
149
149
>**WARNING: this setup (with `EXT_JTAG=0`) will only work for designs containing the host only** as
150
150
it is not possible to chain multiple devices on the BSCANE macro. If you need to use `EXT_JTAG=0`
151
151
consider modifying the RTL to remove the debug modules of the IPs.
152
-
153
152
> When using `EXT_JTAG=1` we add an external JTAG chain for the RV64 host and other island through
154
153
the FPGA's GPIOs. Since the VCU128 does not have GPIOs we use we use a Digilent JTAG-HS2 cable
155
154
connected to the Xilinx XM105 FMC debug card. See the connections in `vcu128.xdc`.
156
155
156
+
### Xilinx VCU118
157
+
> #### Bootmodes and VIOs
158
+
>
159
+
> We currently do not use the switches on this board, the CVA6 bootmode (see [Cheshire
160
+
bootrom](https://pulp-platform.github.io/cheshire/um/sw/#boot-rom)) is selected by Xilinx VIOs that
161
+
can be set in the Vivado GUI (see [Using Vivado GUI](#bringup_vivado_gui)).
162
+
>
163
+
> #### External JTAG chain
164
+
>
165
+
> Similarly to the VCU128 we use GPIOs to connect an external JTAG-USB dongle (Digilent HS2). Unlike the VCU128, the availability of GPIOs directly on the board allow us to connect the HS2 without an FMC debug board (see constraints for related pins).
166
+
>**WARNING: this setup (with `EXT_JTAG=0`) will only work for designs containing the host only** as
167
+
it is not possible to chain multiple devices on the BSCANE macro. If you need to use `EXT_JTAG=0`
168
+
consider modifying the RTL to remove the debug modules of the IPs.
169
+
> #### Block design and Xilinx Ethernet IP
170
+
>
171
+
> The Xilinx Ethernet IP integration is still under debug and does not work out of the box in Linux or U-boot at the moment.
172
+
157
173
## Bare-metal bringup
158
174
159
175
### Programming the FPGA
@@ -248,7 +264,7 @@ integrated flash:
248
264
> This script will erase your bitstream, once the flash has been written (c.a.
249
265
10min) you will need to re-program the bitstream on the board.
250
266
> You can attach the UART port of the FPGA to minicom and see the boot process!
251
-
### Via Ethernet
267
+
### Via Ethernet (VCU128 only)
252
268
>
253
269
> As flashing and reading the kernel from SPI can take a few minutes, a faster way is to
254
270
> [ask U-Boot to fetch the image from the network](https://www.emcraft.com/som/using-dhcp).
@@ -259,9 +275,6 @@ integrated flash:
259
275
> ```
260
276
> make chs-xil-flash VIVADO_MODE=batch XILINX_BOARD=vcu128 XILINX_FLAVOR=bd XILINX_BOOT_ETH=1
0 commit comments