We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 24996

9.1i EDK, FSL Interface - Multiple FSL peripheral instances were not defined properly in "xparameters.h"


I have two FSL IP instances of the same type connected to a MicroBlaze via FSL that use the same driver for the software interface, but I only get one set of "defines" in the "xparameters.h" file.

For example, there is an IP called test and two instances called test_0 and test_1 connected to FSL interfaces 0 and 1, but I only see the following in the "xparameters.h" file:






Replace the contents of <edk_project>/drivers/<ip_name>/data/<ip_name>.tcl with the code below:

proc generate {drv_handle} {

puts "Generating Macros for FSL peripheral access ..."

set iplist [xget_sw_iplist_for_driver $drv_handle]

set drv_name_handle [xget_sw_parameter_handle $drv_handle "DRIVER_NAME"]

foreach ip_handle $iplist {

set core_name [xget_value $ip_handle "name"]

set file_name "xparameters.h"

set core_def_name [string toupper $core_name]

puts "CORE NAME: $core_name"

if {[string compare -nocase "none" $core_name] != 0} {

set conffile [xopen_include_file $file_name]

set mhs_handle [xget_handle $ip_handle "parent"]

set mfsl_name [xget_value $ip_handle "BUS_INTERFACE" "MFSL"]

puts "MFSL B: $mfsl_name"

if {$mfsl_name != ""} {

puts "MFSL $mfsl_name"

set mfsl_slave [xget_hw_connected_busifs_handle $mhs_handle $mfsl_name "slave"]

set mfsl_index [xget_value $mfsl_slave "NAME"]

set mfsl_index [string toupper $mfsl_index]

set mfsl_index [string map {SFSL ""} $mfsl_index]

puts $conffile "#define XPAR_FSL_${core_def_name}_OUTPUT_SLOT_ID ${mfsl_index}"


set sfsl_name [xget_value $ip_handle "BUS_INTERFACE" "SFSL"]

if {$sfsl_name != ""} {

set sfsl_master [xget_hw_connected_busifs_handle $mhs_handle $sfsl_name "master"]

set sfsl_index [xget_value $sfsl_master "NAME"]

set sfsl_index [string toupper $sfsl_index]

set sfsl_index [string map {MFSL ""} $sfsl_index]

puts $conffile "#define XPAR_FSL_${core_def_name}_INPUT_SLOT_ID ${sfsl_index}"


puts $conffile ""

puts $conffile "/******************************************************************/"

puts $conffile ""

close $conffile




AR# 24996
Date Created 09/04/2007
Last Updated 12/15/2012
Status Active
Type General Article