21.13.1.17 fhb_control
(Ask a Question)Description
This Tcl command provides FPGA Hardware Breakpoint (FHB) capability for SmartDebug.
fhb_control [-deviceName "device name"] -halt \
-clock_domain {clock domain name(s)/all}
fhb_control [-deviceName "device name"] -run \
-clock_domain {clock domain name(s)/all}
fhb_control [-deviceName "device name"] -step {number of steps} \
-clock_domain {clock domain name(s)/all}
fhb_control [-deviceName "device name"] -reset \
-clock_domain {clock domain name(s)/all}
fhb_control [-deviceName "device name"] -arm_trigger \
–trigger_signal {probe point signal to trigger the HALT operation} \
–trigger_edge_select {rising} -clock_domain {clock domain name(s)/all}
fhb_control [-deviceName "device name"] \
[-capture_waveform "integer value"] \
[-vcd_file "Waveform File"]
fhb_control [-deviceName "device name"] \
[-clock_domain_status] \
-clock_domain {clock domain name(s)/all}
fhb_control [-deviceName "device name"] \
[-capture_waveform "integer value"] \
[-vcd_file "Waveform File"]
Arguments
Parameter | Type | Description |
---|---|---|
deviceName | string | Specify device name. This parameter is optional if only one device is available in the current configuration. |
clock_domain | string | Specifies clock domain names to halt|run|step|reset|disarm|. Can be single or multiple clock domains, halted in order specified by user. |
halt | none | Specifies to halt the clock. |
run | none | Specifies to run the clock. |
step | integer | Specifies to step the clock "number of steps" times. Minimum value is 1. |
reset | none | Specifies to reset FHB configuration for the specified clock domain. |
arm | none | Specifies to arm FHB configuration for the specified clock domain. |
trigger_signal | string | probe point signal to trigger the HALT operation} Set the trigger signal to arm the FHBs. |
trigger_edge_select | string | Specifies the trigger signal edge to arm the FHBs. FHBs will be armed on rising edge of trigger signal. |
delay | integer | Sepcifies the value between 0 to 255 of delay cycles before halt. |
clock_domain_status | none | Specifies to read and display status of specified clock domain(s). Can be single or multiple clock domains. |
disarm | none | Specifies to disarm FHB configuration for the specified clock domain. |
capture_waveform | integer | Specifies to capture waveform of all the added signals to active probes in the specified clock domain for "number of steps". |
vcd_file | string | Target file to save the data and see the waveform. |
Return Type | Description |
---|---|
None | None |
Error Codes
Error Code | Description |
---|---|
None | Fhb control: One of the following parameters should be set:-halt, -run, -step, -arm, -disarm, -clock_domain_status, -reset and -capture_waveform |
None | Fhb control: Clock Domain all not found in the design. |
None | step: Invalid argument value: 'step_value' (expecting integer value). |
None | Fhb control: Minimum value of -step should be 1. |
None | Fhb control: -trigger_edge_select parameter value can only be rising. |
None | capture_waveform: Invalid argument value: 'capture_waveform value' (expecting integer value). |
None | Fhb control: Minimum value of -capture_waveform should be 1. |
Supported Families
PolarFire |
PolarFire SoC |
SmartFusion 2 |
IGLOO 2 |
RTG4 |
Example
fhb_control -halt -clock_domain {“FCCC_0/GL0_INST “ “FCCC_0/GL1_INST” }
fhb_control -run -clock_domain {“FCCC_0/GL0_INST “ “FCCC_0/GL1_INST” }
fhb_control -step -clock_domain {“FCCC_0/GL0_INST “ “FCCC_0/GL1_INST” }
fhb_control -reset -clock_domain {“FCCC_0/GL0_INST “ “FCCC_0/GL1_INST” }
fhb_control -arm_trigger -trigger_signal {q_0_c[14]:count_1_q[14]:Q} \
-trigger_edge_select {rising} -delay 0 \
-clock_domain {"FCCC_0/GL0_INST"}
fhb_control -disarm_trigger -trigger_signal {q_0_c[14]:count_1_q[14]:Q} \
-trigger_edge_select {rising} -delay 0 \
-clock_domain {"FCCC_0/GL0_INST"}
fhb_control -capture_waveform {10} \
-vcd_file {D:/wvf_location/waveform.vcd}
fhb_control -clock_domain_status \
-clock_domain { "FCCC_0/GL0_INST" "FCCC_0/GL1_INST" "FCCC_0/GL2_INST" }
See Also
event_counter
run_frequency_monitor