Modifying internal components Parameters in a Sub-System Package (QCP)
Hi I followed the instructions in online documents and youtube videos on how to add run_system_script for modifying internal components Parameters of a Sub-System Package (QCP) but so far I am not able to successfully modify it. I m hitting two main issues
1. "No Parameter Found" error when loading the QCP in QSYS. I am using internal parameter name but the system is not able to find it
2. load_component and save_component commands in the script is making the component fail to load in qsys.
Any help will be appreciated
Here is the subsystem package script
package require -exact qsys 25.1
set_package_property NAME "rpss_ssd"
set_package_property DISPLAY_NAME "rpss_ssd"
set_package_property VERSION "1.5"
set_package_property GROUP ""
set_package_property DESCRIPTION ""
set_package_property ELABORATION_CALLBACK elaboration_callback
set_package_property EXTRACTION_CALLBACK extraction_callback
set_package_property UNLOCKABLE true
add_fileset synth_fileset QUARTUS_SYNTH fileset_callback "Quartus Synthesis Fileset"
add_fileset sim_verilog_fileset SIM_VERILOG fileset_callback "Simulation Verilog Fileset"
proc elaboration_callback {} {
enable_all_instances
run_system_script TEXT {
package require -exact qsys 25.1
set args $__run_system_script_args_list__
set args_len [llength $args]
for {set i 0} {$i < $args_len} {incr i} {
set param [lindex $args $i]
set val [lindex $args [incr i]]
send_message "Info" "val: $val"
load_component rpss_0
set_component_parameter_value QUEUE_MEM_BASE_ADDRESS $val
save_component
}
auto_assign_system_base_addresses
sync_sysinfo_parameters
save_system
} [ list ADDR 0x10000 ]
# disable_instance clock_in
# disable_instance reset_in
# disable_instance rpss_0
# disable_instance rtile_dummy_0
}
proc extraction_callback {} {
extract_modules
}
proc fileset_callback { output_name } {
generate_all_instances
}