Synopsys CoreTools:

coreAssembler Tutorial : Page III

Create Workspace, Instantiate components, configure them and make connections

To be able to build a subsystem, first step is to create a worksapce, and name the subsystem.

Following is the TCL commands to do the entier thing, from scratch till RTL generatoin:

create_workspace -design Subsystem3 -name Subsystem3

instantiate_component {Synopsys DesignWareLibrary DW_ahb 2.13a} -name i_ahb -noauto -noexport
   set_configuration_parameter -component i_ahb AHB_HAS_ARBIF 1
   set_configuration_parameter -component i_ahb XDCDR_SUPPLIES_HSELS2AHB 0

instantiate_component {Synopsys DesignWareLibrary DW_axi_a2x 2.02a} -name i_axi_a2x -noauto
   set_configuration_parameter -component i_axi_a2x A2X_CLK_MODE 2
   set_configuration_parameter -component i_axi_a2x A2X_PP_MODE 0

instantiate_component {Synopsys DesignWareLibrary DW_axi 4.02a} -name i_axi -noauto -noexport
set_current_component /

set instance [export_interface -noauto -name HCLK -component i_ahb -interface HCLK -format %e_%p]

set instance [export_interface -noauto -name HRESETn -component i_ahb -interface HRESETn -format %e_%p]

set instance [export_interface -noauto -name ex_i_ahb_AHB_Master -component i_ahb -interface AHB_Master -format %e_%p]

set instance [export_interface -noauto -name ex_i_axi_AXI_Slave01 -component i_axi -interface AXI_Slave01 -format %e_%p]
set instance [export_interface -noauto -name ex_i_axi_ACLK -component i_axi -interface ACLK -format %e_%p]

set instance [export_interface -noauto -name ex_i_axi_ARESETn -component i_axi -interface ARESETn -format %e_%p]

set_unused_interface -component i_ahb -interface Remap-Pause
connect_interface -from_interface HCLK -to_component i_axi_a2x -to_interface HCLK
connect_interface -from_interface HRESETn -to_component i_axi_a2x -to_interface HRESETn
connect_interface -from_interface ex_i_axi_ACLK -to_component i_axi_a2x -to_interface ACLK_SP
connect_interface -from_interface ex_i_axi_ARESETn -to_component i_axi_a2x -to_interface ARESETn_SP
connect_interface -from_component i_ahb -from_interface AHB_Slave -to_component i_axi_a2x -to_interface AHB_Slave
connect_interface -from_component i_axi_a2x -from_interface AXI_Master -to_component i_axi -to_interface AXI_Master01

set_interface_parameter i_axi_a2x/AHB_Slave SplitCapable 1 -instance
set_interface_parameter i_axi_a2x/AXI_Master axi_blw 4 -instance




set_slave_base_address -component i_ahb -interface Arbiter -range 0x1000
set_slave_base_address -component i_ahb -interface Arbiter -mode Normal -address 0x10001000
set_slave_base_address -component i_axi_a2x -interface AHB_Slave -range 0x1000
set_slave_base_address -component i_axi_a2x -interface AHB_Slave -mode Normal -address 0x10000000
set_slave_base_address -interface ex_i_axi_AXI_Slave01 -range 0x1000
set_slave_base_address -interface ex_i_axi_AXI_Slave01 -mode Normal -address 0x10000000


set_configuration_parameter -component i_axi_a2x A2X_NUM_AHBM 1
set_configuration_parameter -component i_axi_a2x A2X_AW_FIFO_DEPTH 2
autocomplete_activity SpecifySubsystem
autocomplete_activity CompleteConnections

autocomplete_activity  GenerateSubsystemRTL


This will generate the RTL for the subsystem shown in the start of this tutoria.
<-Previous                                Next ->