Command Line Tool

This chapter contains the auto-generated documentation of the command line interface for dumpling. The information you find here is a identical to the info found in the CLI command help pages.

dumpling

Generate ASIC tester vectors for PULP chips.

dumpling [OPTIONS] COMMAND [ARGS]...

install-completions

Install the command line tool’s bash completion for your shell

If you don’t provide any additional arguments this command tries to detect your current shell in use and appends the relevant settings to your .bashrc, .zshrc etc.

dumpling install-completions [OPTIONS] [[bash|fish|zsh|powershell]] [PATH]

Options

--append, --overwrite

Append the completion code to the file

-i, --case-insensitive, --no-case-insensitive

Case insensitive completion

Arguments

SHELL

Optional argument

PATH

Optional argument

rosetta

Generate stimuli for the TSMC65 Rosetta chip.

dumpling rosetta [OPTIONS] COMMAND [ARGS]...

Options

-p, --port-name <port_name>
Default:

jtag_and_reset_port

-w, --wtb-name <wtb_name>
Default:

multiport_ext_clk_wvtbl

-o, --output <output>
Default:

vectors.avc

-d, --device_cycle_name <device_cycle_name>

change-freq

Generate vectors to change the multiplication factor (MULT) and various other settings of the internal FLLs .

The FLL argument determines which of the two independent FLLs in Rosetta is configured.

The output frequency of the FLL is freq =<ref_freq>*<MULT>/<clk-div>.

Since we need to write to two registers, we have to wait long enough for the FLL to become stable again before we try to modify the second registers.

dumpling rosetta change-freq [OPTIONS] {PER_FLL|SOC_FLL} MULT

Options

--clk-div <clk_div>

Change the clock division factor of DCO clock to FLL output clock.

Options:

1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256

-l, --lock

Gate the output clock with the FLL lock signal

Default:

False

--tolerance <tolerance>

The margin around the target multiplication factor for clock to be considered stable.

Default:

512

--stable-cycles <stable_cycles>

The number of stable cycles unil LOCK is asserted.

Default:

16

--unstable-cycles <unstable_cycles>

The number of unstable cycles unil LOCK is de-asserted.

Default:

16

--enable-dithering

Enable dithering for higher frequency resolution.

Default:

False

--loop-gain-exponent <loop_gain_exponent>

The gain exponent of the feedback loop. Gain = 2^<value>

Default:

-7

-w, --wait-cycles <wait_cycles>

The number of jtag cycles to wait between writing the two FLL config registers.

Default:

200

Arguments

FLL

Required argument

MULT

Required argument

check-eoc

Generate vectors to check for the end of computation.

Programs compiled with the pulp-sdk or pulp-runtime write their exit code to a special end-of-computation register in APB SOC Control when they leave main. The expected return code (by default 0) can be modified to assume any value between 0 and 255.

dumpling rosetta check-eoc [OPTIONS]

Options

--return-code <return_code>

The expected return code.

Default:

0

-w, --wait-cycles <wait_cycles>

The number of cycles to wait for the eoc_register read operation to complete.

Default:

10

execute-elf

Generate vectors to load and execute the given elf binary.

The command parses the binary supplied with the ‘–elf’ parameter and writes the generated stimuli to the given OUTPUT file. Additionally to the AVC ASCII output, a .wtb and .tmf with identical basename is created. The vectors take care of resetting the chip, halting the core, preloading the binary into L2 memory with optional verification and resuming the core. If an expected return code is supplied with the optional ‘–return-code’ flag, either a matched loop (polling) check or a single check (after a configurable number of idle clock cycles) for end of computation is added to the end of the stimuli vectors depending on the value of –eoc-wait-cycles.

dumpling rosetta execute-elf [OPTIONS]

Options

-e, --elf <elf>

Required The path to the elf binary to preload.

-r, --return-code <return_code>

Set a return code to check against during end of computation detection. A matched loop will be inserted to achieve

-w, --eoc-wait-cycles <eoc_wait_cycles>

If set to a non zero integer, wait the given number of cycles for end of computation check and bdon’t use

--verify, --no-verify

Enables/Disables verifying the content written to L2.

Default:

True

--blade, --no-blade

Enables/Disables the BLADE SRAM macros in Rosetta

Default:

True

--edram, --no-edram

Enables/Disables the eDRAM macros in Rosetta

Default:

True

--hd-mem-backend <hd_mem_backend>

Switches between SCM and eDRAM as the memory backend for the HD-Computing Accelerator

Default:

scm

Options:

edram | scm

--bypass-soc-fll

Bypass the FLL for the SoC clock and use the external SoC clock instead.

--bypass-per-fll

Bypass the FLL for the Peripheral clock and use the external clock instead.

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

--no-reset

Don’t reset the chip before executing the binary. Helpfull for debugging and to keep custom config preloaded via JTAG.

Default:

False

halt-core-verify-pc

Halt the core, optionally reading the program counter and resuming the core.

This command is mainly useful to verify or debug the execution state of a program. The generated vectors will halt the core, optionally read the programm counter and optionally resume the core.

E.g.:: dumpling rosetta -o halt_core.avc halt_core_verify_pc –pc 0c1c008080 –resume

Will halt the core, comparing the programm counter to the value 0x1c008080 and resuming the core afterwards.

The –assert-reset flag allows to keep the reset line asserted during the exeuction of core halt procedure. This allows to halt the core before it statrts to execute random data right after reset.

dumpling rosetta halt-core-verify-pc [OPTIONS]

Options

--pc <pc>

Read programm counter and compare it with the expected value provided

--resume, --no-resume

Resume the core after reading the program counter.

Default:

False

--assert-reset

Assert the chip reset line for the whole duration of the generated vectors.

Default:

False

-w, --wait-cycles <wait_cycles>

The number of cycles to wait before verifying that core was actually halted.

Default:

10

reset-chip

Generate vectors to reset the core and the jtag interface

dumpling rosetta reset-chip [OPTIONS]

Options

-r, --reset-cycles <reset_cycles>

The number of cycles to assert the chip reset line.

Default:

10

resume-core

Generate vectors to resume the core.

The vectors will instruct the RISC-V debug module via JTAG to resume the core and after a configurable number of JTAG clock cycles will verify that the core is in the ‘running’ state.

dumpling rosetta resume-core [OPTIONS]

Options

-w, --wait-cycles <wait_cycles>

The number of cycles to wait before verifying that core was actually resumed.

Default:

10

verify-mem

Perform read transactions on the system bus and compare the values with expected ones

Each value of ADDRESS_VALUE_MAPPING should be of the kind ‘address=value[#Comment]’ where address and value are 32-bit value in hex notation and comment is an optional comment to attach to the vectors. E.g.:

write_mem “0x1c008080=0xdeadbeef#Write to start address” 0x1c008084=0x12345678

dumpling rosetta verify-mem [OPTIONS] [ADDRESS_VALUE_MAPPINGS]...

Options

--loop, --no-loop

If true, all matched loops in the verification vectors are replaced with reasonable delays to avoid the usage of matched loops altogether.

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

--use-pulp-tap

Use the PULP TAP for readout instead of the RISC-V Debug module.

Default:

False

--wait-cycles <wait_cycles>

The number of cycles to wait for the read operation to complete.

Default:

10

Arguments

ADDRESS_VALUE_MAPPINGS

Optional argument(s)

verify-soc-config

Verify that the flags within the current value of the soc config register has the given values

dumpling rosetta verify-soc-config [OPTIONS]

Options

--blade, --no-blade

Enables/Disables the BLADE SRAM macros in Rosetta

Default:

True

--edram, --no-edram

Enables/Disables the eDRAM macros in Rosetta

Default:

True

--hd-mem-backend <hd_mem_backend>

Switches between SCM and eDRAM as the memory backend for the HD-Computing Accelerator

Default:

scm

Options:

edram | scm

--bypass-soc-fll

Bypass the FLL for the SoC clock and use the external SoC clock instead.

--bypass-per-fll

Bypass the FLL for the Peripheral clock and use the external clock instead.

write-mem

Perform write transactions to the system bus.

Each value of ADDRESS_VALUE_MAPPING should be of the kind ‘address=value[#Comment]’ where address and value are 32-bit value in hex notation and comment is an optional comment to attach to the vectors. E.g.:

write_mem “0x1c008080=0xdeadbeef#Write to start address” 0x1c008084=0x12345678

If the optional verify flag is provided, the data written will be read back for verification.

dumpling rosetta write-mem [OPTIONS] [ADDRESS_VALUE_MAPPINGS]...

Options

--verify, --no-verify

Enables/Disables verifying the content written to L2.

Default:

True

--loop, --no-loop

If true, all matched loops in the verification vectors are replaced with reasonable delays to avoid the usage of matched loops altogether.

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

Arguments

ADDRESS_VALUE_MAPPINGS

Optional argument(s)

write-soc-config

Writes the given static configuration value to the apb_soc_ctrl register.

dumpling rosetta write-soc-config [OPTIONS]

Options

--blade, --no-blade

Enables/Disables the BLADE SRAM macros in Rosetta

Default:

True

--edram, --no-edram

Enables/Disables the eDRAM macros in Rosetta

Default:

True

--hd-mem-backend <hd_mem_backend>

Switches between SCM and eDRAM as the memory backend for the HD-Computing Accelerator

Default:

scm

Options:

edram | scm

--bypass-soc-fll

Bypass the FLL for the SoC clock and use the external SoC clock instead.

--bypass-per-fll

Bypass the FLL for the Peripheral clock and use the external clock instead.

siracusa

Generate stimuli for the GF22 vega chip.

dumpling siracusa [OPTIONS] COMMAND [ARGS]...

Options

-p, --port-name <port_name>
Default:

jtag_and_reset_port

-w, --wtb-name <wtb_name>
Default:

multiport

-o, --output <output>
Default:

vectors.avc

-d, --device_cycle_name <device_cycle_name>

change-freq

Generate vectors to change the multiplication factor (MULT) and various other settings of the internal FLLs .

The FLL argument determines which of the three independent FLLs in Vega is configured. Which clock (soc_clk, per_clk and cluster_clk) is derived from which FLL depends on the clock selection settings in the APB_SOC_CONTROL module. By default, vega starts up using FLL1 for both, peripheral- (with some clk divider) and soc-clock and FLL2 for the cluster clock.

The output frequency of the FLL is freq =<ref_freq>*<MULT>/<clk-div>.

Since we need to write to two registers, we have to wait long enough for the FLL to become stable again before we try to modify the second registers.

dumpling siracusa change-freq [OPTIONS] {PLL1_SOC|PLL2_PER|PLL3_CLUSTER} MULT

Options

--enable, --disable

Enable/Disable the PLL altogether. If disabled, the other options have no effect but are still programmed into the PLL

Default:

True

--clk-div <clk_div>

Change the clock division factor of DCO clock to PLL output clock.

-l, --lock

Gate the output clock with the PLL lock signal

Default:

False

--lock-count <lock_count>

The number of stable cycles unil LOCK is asserted.

Default:

16

Options:

8 | 16 | 32 | 64

--vco-div, --no-vco-div

Enable/Disable the fixed divide-by-2 VCO clock divider.

Default:

True

--failsafe_en, --no-failsafe_en

Enable/Disable the failsafe feature within the PLL.

Default:

True

--freq_change_mask_count <freq_change_mask_count>

The number of cycles to mask the output clock during frequency changes.

Default:

32

-w, --wait-cycles <wait_cycles>

The number of jtag cycles to wait between writing the PLL config registers.

Default:

200

Arguments

PLL

Required argument

MULT

Required argument

check-eoc

Generate vectors to check for the end of computation.

Programs compiled with the pulp-sdk or pulp-runtime write their exit code to a special end-of-computation register in APB SOC Control when they leave main. The expected return code (by default 0) can be modified to assume any value between 0 and 255.

dumpling siracusa check-eoc [OPTIONS]

Options

--return-code <return_code>

The expected return code.

Default:

0

-w, --wait-cycles <wait_cycles>

The number of cycles to wait for the eoc_register read operation to complete.

Default:

10

configure-gpio

Configure the provided GPIO to expose the desired function.

dumpling siracusa configure-gpio [OPTIONS] {port_gpio_gpio00|port_i2c0_scl|por
                                 t_i2c0_sda|port_i3c0_puc|port_i3c0_scl|port_i
                                 3c0_sda|port_i3c1_puc|port_i3c1_scl|port_i3c1
                                 _sda|port_qspim0_csn0|port_qspim0_csn1|port_q
                                 spim0_csn2|port_qspim0_csn3|port_qspim0_sck|p
                                 ort_qspim0_sdio0|port_qspim0_sdio1|port_qspim
                                 0_sdio2|port_qspim0_sdio3|port_qspis0_csn|por
                                 t_qspis0_sck|port_qspis0_sdio0|port_qspis0_sd
                                 io1|port_qspis0_sdio2|port_qspis0_sdio3|port_
                                 uart0_rx|port_uart0_tx|register} GPIO_NR

Arguments

FUNCTION

Required argument

GPIO_NR

Required argument

execute-elf

Generate vectors to load and execute the given elf binary.

The command parses the binary supplied with the ‘–elf’ parameter and writes the generated stimuli to the given OUTPUT file. Additionally to the AVC ASCII output, a .wtb and .tmf with identical basename is created. The vectors take care of resetting the chip, halting the core, preloading the binary into L2 memory with optional verification and resuming the core. If an expected return code is supplied with the optional ‘–return-code’ flag, either a matched loop (polling) check or a single check (after a configurable number of idle clock cycles) for end of computation is added to the end of the stimuli vectors depending on the value of –eoc-wait-cycles.

dumpling siracusa execute-elf [OPTIONS]

Options

-e, --elf <elf>

Required The path to the elf binary to preload.

-r, --return-code <return_code>

Set a return code to check against during end of computation detection. A matched loop will be inserted to achieve

-w, --eoc-wait-cycles <eoc_wait_cycles>

If set to a non zero integer, wait the given number of cycles for end of computation check and bdon’t use

--verify, --no-verify

Enables/Disables verifying the content written to L2.

Default:

True

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

--no-reset

Don’t reset the chip before executing the binary. Helpfull for debugging and to keep custom config preloaded via JTAG.

Default:

False

halt-core-verify-pc

Halt the core, optionally reading the program counter and resuming the core.

This command is mainly useful to verify or debug the execution state of a program. The generated vectors will halt the core, optionally read the programm counter and optionally resume the core.

E.g.:: dumpling vega -o halt_core.avc halt_core_verify_pc –pc 0c1c008080 –resume

Will halt the core, comparing the programm counter to the value 0x1c008080 and resuming the core afterwards.

The –assert-reset flag allows to keep the reset line asserted during the exeuction of core halt procedure. This allows to halt the core before it statrts to execute random data right after reset.

dumpling siracusa halt-core-verify-pc [OPTIONS]

Options

--pc <pc>

Read programm counter and compare it with the expected value provided

--resume, --no-resume

Resume the core after reading the program counter.

Default:

False

--assert-reset

Assert the chip reset line for the whole duration of the generated vectors.

Default:

False

-w, --wait-cycles <wait_cycles>

The number of cycles to wait before verifying that core was actually halted.

Default:

10

reset-chip

Generate vectors to reset the core and the jtag interface

dumpling siracusa reset-chip [OPTIONS]

Options

-r, --reset-cycles <reset_cycles>

The number of cycles to assert the chip reset line.

Default:

10

resume-core

Generate vectors to resume the core.

The vectors will instruct the RISC-V debug module via JTAG to resume the core and after a configurable number of JTAG clock cycles will verify that the core is in the ‘running’ state.

dumpling siracusa resume-core [OPTIONS]

Options

-w, --wait-cycles <wait_cycles>

The number of cycles to wait before verifying that core was actually resumed.

Default:

10

verify-idcode

Generate vectors to verify IDCODE of the RISC-V debug unit.

Puts all taps except the debug unit into bypass mode and verifies the value of the debug units IDCODE register. In Siracusa, the value should match “0x249511C3”. After the idcode read-out, the debug unit TAP remains selected.

dumpling siracusa verify-idcode [OPTIONS]

verify-mem

Perform read transactions on the system bus and compare the values with expected ones

Each value of ADDRESS_VALUE_MAPPING should be of the kind ‘address=value[#Comment]’ where address and value are 32-bit value in hex notation and comment is an optional comment to attach to the vectors. E.g.:

verify_mem “0x1c008080=0xdeadbeef#Expecting to read 0xdeadbeef from start address” 0x1c008084=0x12345678

dumpling siracusa verify-mem [OPTIONS] [ADDRESS_VALUE_MAPPINGS]...

Options

--loop, --no-loop

If true, all matched loops in the verification vectors are replaced with reasonable delays to avoid the usage of matched loops altogether.

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

--use-pulp-tap

Use the PULP TAP for readout instead of the RISC-V Debug module.

Default:

False

--wait-cycles <wait_cycles>

The number of cycles to wait for the read operation to complete. Only relevant when pulp-tap is used

Default:

10

Arguments

ADDRESS_VALUE_MAPPINGS

Optional argument(s)

write-mem

Perform write transactions to the system bus.

Each value of ADDRESS_VALUE_MAPPING should be of the kind ‘address=value[#Comment]’ where address and value are 32-bit value in hex notation and comment is an optional comment to attach to the vectors. E.g.:

write_mem “0x1c008080=0xdeafbeef#Write to start address” 0x1c008084=0x12345678

If the optional verify flag is provided, the data written will be read back for verification.

dumpling siracusa write-mem [OPTIONS] [ADDRESS_VALUE_MAPPINGS]...

Options

--verify, --no-verify

Enables/Disables verifying the content written to L2.

Default:

True

--loop, --no-loop

If true, all matched loops in the verification vectors are replaced with reasonable delays to avoid the usage of matched loops altogether.

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

Arguments

ADDRESS_VALUE_MAPPINGS

Optional argument(s)

vega

Generate stimuli for the GF22 vega chip.

dumpling vega [OPTIONS] COMMAND [ARGS]...

Options

-p, --port-name <port_name>
Default:

jtag_and_reset_port

-w, --wtb-name <wtb_name>
Default:

multiport

-o, --output <output>
Default:

vectors.avc

-d, --device_cycle_name <device_cycle_name>

change-freq

Generate vectors to change the multiplication factor (MULT) and various other settings of the internal FLLs .

The FLL argument determines which of the three independent FLLs in Vega is configured. Which clock (soc_clk, per_clk and cluster_clk) is derived from which FLL depends on the clock selection settings in the APB_SOC_CONTROL module. By default, vega starts up using FLL1 for both, peripheral- (with some clk divider) and soc-clock and FLL2 for the cluster clock.

The output frequency of the FLL is freq =<ref_freq>*<MULT>/<clk-div>.

Since we need to write to two registers, we have to wait long enough for the FLL to become stable again before we try to modify the second registers.

dumpling vega change-freq [OPTIONS] {FLL1|FLL2|FLL3} MULT

Options

--clk-div <clk_div>

Change the clock division factor of DCO clock to FLL output clock.

Options:

1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256

-l, --lock

Gate the output clock with the FLL lock signal

Default:

False

--tolerance <tolerance>

The margin around the target multiplication factor for clock to be considered stable.

Default:

512

--stable-cycles <stable_cycles>

The number of stable cycles unil LOCK is asserted.

Default:

16

--unstable-cycles <unstable_cycles>

The number of unstable cycles unil LOCK is de-asserted.

Default:

16

--enable-dithering

Enable dithering for higher frequency resolution.

Default:

False

--loop-gain-exponent <loop_gain_exponent>

The gain exponent of the feedback loop. Gain = 2^<value>

Default:

-7

-w, --wait-cycles <wait_cycles>

The number of jtag cycles to wait between writing the two FLL config registers.

Default:

200

Arguments

FLL

Required argument

MULT

Required argument

check-eoc

Generate vectors to check for the end of computation.

Programs compiled with the pulp-sdk or pulp-runtime write their exit code to a special end-of-computation register in APB SOC Control when they leave main. The expected return code (by default 0) can be modified to assume any value between 0 and 255.

dumpling vega check-eoc [OPTIONS]

Options

--return-code <return_code>

The expected return code.

Default:

0

-w, --wait-cycles <wait_cycles>

The number of cycles to wait for the eoc_register read operation to complete.

Default:

10

disable-observability

Disable the internal signal observability feature.

This command generates vectors that restore the default operation mode of the PWM3 pad and disable the observability of internal signals.

dumpling vega disable-observability [OPTIONS]

enable-observability

Generate vectors to enable observability SIGNAL on the PWM3 pad.

This command enables the observability feature for a selection of important internal signals of the chip and routes them to the PWM3 pad. Use the disable_observability command to generate vectors that restore the PWM3 pad’s default mode of operation.

dumpling vega enable-observability [OPTIONS] {pmu_soc_trc_clk_o|pmu_soc_rst_re
                                   t_n_o|pmu_soc_rst_control_o|pmu_soc_rst_con
                                   trol_ack_i|pmu_soc_clken_o|pmu_soc_trc_ret_
                                   n_o|pmu_soc_trc_pok_ret_i|pmu_cluster_trc_r
                                   et_n_o|pmu_cluster_trc_pok_ret_i|pmu_csi2_t
                                   rc_ext_n_o|pmu_csi2_trc_pok_ext_i|pmu_emram
                                   _core_trc_ext_n_o|pmu_emram_core_trc_pok_ex
                                   t_i|pmu_smartwake_trc_ext_n_o|pmu_smartwake
                                   _trc_pok_ext_i|ref_clk_i|por_n_i|io_ls_avd_
                                   ok_o|io_ls_pok_i|io_hs_avd_ok_o|io_hs_pok_i
                                   |emram_io_avd_ok_o|emram_io_pok_i|safe_rar_
                                   rok_i|safe_rar_vsel_strobe_o|safe_rar_vsel_
                                   reg_o|logic_rar_rok_i|logic_rar_vsel_strobe
                                   _o|vref_06_en_o|vref_12_en_o|vref_06_ok_i|v
                                   ref_12_ok_i}

Arguments

SIGNAL

Required argument

execute-elf

Generate vectors to load and execute the given elf binary.

The command parses the binary supplied with the ‘–elf’ parameter and writes the generated stimuli to the given OUTPUT file. Additionally to the AVC ASCII output, a .wtb and .tmf with identical basename is created. The vectors take care of resetting the chip, halting the core, preloading the binary into L2 memory with optional verification and resuming the core. If an expected return code is supplied with the optional ‘–return-code’ flag, either a matched loop (polling) check or a single check (after a configurable number of idle clock cycles) for end of computation is added to the end of the stimuli vectors depending on the value of –eoc-wait-cycles.

dumpling vega execute-elf [OPTIONS]

Options

-e, --elf <elf>

Required The path to the elf binary to preload.

-r, --return-code <return_code>

Set a return code to check against during end of computation detection. A matched loop will be inserted to achieve

-w, --eoc-wait-cycles <eoc_wait_cycles>

If set to a non zero integer, wait the given number of cycles for end of computation check and bdon’t use

--verify, --no-verify

Enables/Disables verifying the content written to L2.

Default:

True

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

--no-reset

Don’t reset the chip before executing the binary. Helpfull for debugging and to keep custom config preloaded via JTAG.

Default:

False

halt-core-verify-pc

Halt the core, optionally reading the program counter and resuming the core.

This command is mainly useful to verify or debug the execution state of a program. The generated vectors will halt the core, optionally read the programm counter and optionally resume the core.

E.g.:: dumpling vega -o halt_core.avc halt_core_verify_pc –pc 0c1c008080 –resume

Will halt the core, comparing the programm counter to the value 0x1c008080 and resuming the core afterwards.

The –assert-reset flag allows to keep the reset line asserted during the exeuction of core halt procedure. This allows to halt the core before it statrts to execute random data right after reset.

dumpling vega halt-core-verify-pc [OPTIONS]

Options

--pc <pc>

Read programm counter and compare it with the expected value provided

--resume, --no-resume

Resume the core after reading the program counter.

Default:

False

--assert-reset

Assert the chip reset line for the whole duration of the generated vectors.

Default:

False

-w, --wait-cycles <wait_cycles>

The number of cycles to wait before verifying that core was actually halted.

Default:

10

reset-chip

Generate vectors to reset the core and the jtag interface

dumpling vega reset-chip [OPTIONS]

Options

-r, --reset-cycles <reset_cycles>

The number of cycles to assert the chip reset line.

Default:

10

resume-core

Generate vectors to resume the core.

The vectors will instruct the RISC-V debug module via JTAG to resume the core and after a configurable number of JTAG clock cycles will verify that the core is in the ‘running’ state.

dumpling vega resume-core [OPTIONS]

Options

-w, --wait-cycles <wait_cycles>

The number of cycles to wait before verifying that core was actually resumed.

Default:

10

set-clk-bypass

Set the internal clock bypass register to bypass reference clock or FLL clock

dumpling vega set-clk-bypass [OPTIONS]

Options

--qosc_bypass

Bypass the crystall oscilator

--ref_bypass

Bypass the reference clock

--per_fll_bypass

Bypass peripheral fll

--soc_fll_bypass

Bypass SoC fll

--cluster_fll_bypass

Bypass Cluster fll

verify-mem

Perform read transactions on the system bus and compare the values with expected ones

Each value of ADDRESS_VALUE_MAPPING should be of the kind ‘address=value[#Comment]’ where address and value are 32-bit value in hex notation and comment is an optional comment to attach to the vectors. E.g.:

write_mem “0x1c008080=0xdeadbeef#Write to start address” 0x1c008084=0x12345678

dumpling vega verify-mem [OPTIONS] [ADDRESS_VALUE_MAPPINGS]...

Options

--loop, --no-loop

If true, all matched loops in the verification vectors are replaced with reasonable delays to avoid the usage of matched loops altogether.

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

--use-pulp-tap

Use the PULP TAP for readout instead of the RISC-V Debug module.

Default:

False

--wait-cycles <wait_cycles>

The number of cycles to wait for the read operation to complete. Only relevant when pulp-tap is used

Default:

10

Arguments

ADDRESS_VALUE_MAPPINGS

Optional argument(s)

write-mem

Perform write transactions to the system bus.

Each value of ADDRESS_VALUE_MAPPING should be of the kind ‘address=value[#Comment]’ where address and value are 32-bit value in hex notation and comment is an optional comment to attach to the vectors. E.g.:

write_mem “0x1c008080=0xdeafbeef#Write to start address” 0x1c008084=0x12345678

If the optional verify flag is provided, the data written will be read back for verification.

dumpling vega write-mem [OPTIONS] [ADDRESS_VALUE_MAPPINGS]...

Options

--verify, --no-verify

Enables/Disables verifying the content written to L2.

Default:

True

--loop, --no-loop

If true, all matched loops in the verification vectors are replaced with reasonable delays to avoid the usage of matched loops altogether.

-c, --compress

Compress all vectors by merging subsequent identical vectors into a single vector with increased repeat value.

Default:

False

Arguments

ADDRESS_VALUE_MAPPINGS

Optional argument(s)