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 |
119
+
| 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
120
| CARFIELD_CONFIG | all | Select the Carfield configuration to implement. See below for supported configs. |
106
121
| 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 |
122
+
| XILINX_BOOT_ETH |vcu128|`0` Boot via SPI flash only (see [booting Linux](#booting_linux)) <br>`1` Boot via SPI flash and Ethernet |
108
123
109
124
See below some typical building time for reference:
110
125
@@ -141,19 +156,34 @@ can be set in the Vivado GUI (see [Using Vivado GUI](#bringup_vivado_gui)).
141
156
> The VCU128 development board only provides one JTAG chain, used by Vivado to program the
142
157
bitstream, and interact with certain Xilinx IPs (ILAs, VIOs, ...). The RV64 requires access to a
143
158
JTAG chain to connect GDB to the debug-module in the bitstream.
144
-
145
159
> When using `EXT_JTAG=0` it is possible to connect the debug module to the internal FPGA's JTAG by
146
160
using the Xilinx BSCANE macro. With this, you will only need the normal Xilinx USB cable to interact
147
161
with CVA6. Note that it means that
148
162
Vivado and OpenOCD can not use the same cable at the same time.
149
-
>**WARNING: this setup (with `EXT_JTAG=0`) will only work for designs containing the host only** as
163
+
>:warning: This setup (with `EXT_JTAG=0`) will only work for designs containing the host only** as
150
164
it is not possible to chain multiple devices on the BSCANE macro. If you need to use `EXT_JTAG=0`
151
165
consider modifying the RTL to remove the debug modules of the IPs.
152
-
153
166
> When using `EXT_JTAG=1` we add an external JTAG chain for the RV64 host and other island through
154
167
the FPGA's GPIOs. Since the VCU128 does not have GPIOs we use we use a Digilent JTAG-HS2 cable
155
168
connected to the Xilinx XM105 FMC debug card. See the connections in `vcu128.xdc`.
156
169
170
+
### Xilinx VCU118
171
+
> #### Bootmodes and VIOs
172
+
>
173
+
> We currently do not use the switches on this board, the CVA6 bootmode (see [Cheshire
174
+
bootrom](https://pulp-platform.github.io/cheshire/um/sw/#boot-rom)) is selected by Xilinx VIOs that
175
+
can be set in the Vivado GUI (see [Using Vivado GUI](#bringup_vivado_gui)).
176
+
>
177
+
> #### External JTAG chain
178
+
>
179
+
> 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).
180
+
>**WARNING: this setup (with `EXT_JTAG=0`) will only work for designs containing the host only** as
181
+
it is not possible to chain multiple devices on the BSCANE macro. If you need to use `EXT_JTAG=0`
182
+
consider modifying the RTL to remove the debug modules of the IPs.
183
+
> #### Block design and Xilinx Ethernet IP
184
+
>
185
+
> 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.
186
+
157
187
## Bare-metal bringup
158
188
159
189
### Programming the FPGA
@@ -248,7 +278,7 @@ integrated flash:
248
278
> This script will erase your bitstream, once the flash has been written (c.a.
249
279
10min) you will need to re-program the bitstream on the board.
250
280
> You can attach the UART port of the FPGA to minicom and see the boot process!
251
-
### Via Ethernet
281
+
### Via Ethernet (VCU128 only)
252
282
>
253
283
> As flashing and reading the kernel from SPI can take a few minutes, a faster way is to
254
284
> [ask U-Boot to fetch the image from the network](https://www.emcraft.com/som/using-dhcp).
@@ -259,9 +289,6 @@ integrated flash:
259
289
> ```
260
290
> make chs-xil-flash VIVADO_MODE=batch XILINX_BOARD=vcu128 XILINX_FLAVOR=bd XILINX_BOOT_ETH=1
0 commit comments