21.4.43 sd_replace_component

Description

This Tcl command replaces a SmartDesign instance component definition with a new component definition. This command is useful when the interface (port-list) of the component/module instantiated in a SmartDesign has changed. It can be used to replace any type of instance such as instances of other SmartDesign components, core components, HDL modules and HDL+ cores in a SmartDesign.

Important: This command is not required to build a SmartDesign component. It maps to an interactive user action in the SmartDesign Canvas and will not be present in the 'Export Component Description(Tcl)' but will present in Libero Project 'Export Script File'.
sd_replace_component -sd_name {smartdesign component name} \
                     -instance_name {instance name} \
                     -new_component_name {component name to be replaced}
                     -replace_all_instances {1|0}

Arguments

ParameterTypeDescription

sd_name

string

Specifies the name of the SmartDesign component. It is mandatory.

instance_name

string

Specifies the name of the instance to be replaced with the new component definition. It is mandatory. The component can be a Core component/SmartDesign/HDL/HDL+.

new_component_name

string

This argument is used to specify the new component name and it's corresponding file path. This is a mandatory argument. For the HDL modules we need you need to specify HDL module name. The component can be a Core/SmartDesign/HDL/HDL+ etc and the file path is the (CXF/HDL) file corresponding to the component.

User must be specified as follows: {component_name%file_path%library%package}.

replace_all_instances

boolean

Specifiy true or 1 to replace all the instances in the SmartDesign with the same component. Specify false or 0 to replace only mentioned instance. Default value is 1. This is an optional argument.
Return TypeDescription
NoneNone

Error Codes

Error CodeDescription

None

Required parameter 'sd_name' is missing.

None

Required parameter 'instance' is missing.

None

Required parameter 'new_component_name' is missing.

None

Instance 'instance_name' does not exist.

None

The component 'component_name' doesn't exist.

None

Parameter 'param_name' is not defined. Valid command formatting is 'sd_replace_component -sd_name "sd_name" -instance "instance" -new_component_name "new_component"'.

Supported Families

Supported Families
PolarFire®
PolarFire SoC
RTG4
SmartFusion® 2
IGLOO® 2

Example

The following example replaces "sd_0" instance with "sd_1" module:

sd_replace_component -sd_name {mydesign} \
                     -instance {sd_0} \
                     -new_component_name {top%/exprj/hdl/sd_1.v}
                     -replace_all_instances 0