UPGRADE YOUR BROWSER

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# 43728

13.2 System Generator - Why does using xlswitchLibrary command result in xlSwitchLibrary error message?

Description

If I attempt to use xlswitchLibrary, the following error occurs:

">> xlSwitchLibrary('pid_controller', 'work', 'pid_controller_lib') expected to find synopsis in working directory (looking for attribute 'design') at C:\Tools\Xilinx\13.2\ISE_DS\ISE\sysgen\scripts\SgSwitchLibrary.pm line 194
SgSwitchLibrary::expandVariable('${{design}}.vhd') called at C:\Tools\Xilinx\13.2\ISE_DS\ISE\sysgen\scripts\SgSwitchLibrary.pm line 202
SgSwitchLibrary::elaborateFileList() called at C:\Tools\Xilinx\13.2\ISE_DS\ISE\sysgen\scripts\SgSwitchLibrary.pm line 220
SgSwitchLibrary::processDirectory('pid_controller', 'work', 'pid_controller_lib') called at C:\Tools\Xilinx\13.2\ISE_DS\ISE\sysgen\scripts\SgSwitchLibrary.pm line 265
Error using ==> xlSwitchLibrary at 21
Error switching HDL library references in the target design.

expected to find synopsis in working directory (looking for attribute 'design') at C:\Tools\Xilinx\13.2\ISE_DS\ISE\sysgen\scripts\SgSwitchLibrary.pm line 194
SgSwitchLibrary::expandVariable('${{design}}.vhd') called at C:\Tools\Xilinx\13.2\ISE_DS\ISE\sysgen\scripts\SgSwitchLibrary.pmline 202

SgSwitchLibrary::elaborateFileList() called atC:\Tools\Xilinx\13.2\ISE_DS\ISE\sysgen\scripts\SgSwitchLibrary.pmline 220
SgSwitchLibrary::processDirectory('pid_controller', 'work','pid_controller_lib') called at
C:\Tools\Xilinx\13.2\ISE_DS\ISE\sysgen\scripts\SgSwitchLibrary.pm line 265"

Why does this occur?

Solution

Follow theseguidelines to ensure that thexlswitchLibrarycommand is used correctly:

  1. Generate the netlist files for the design (e.g., the output is called netlist1).
  2. Open the "*_cw.vhd" file generated in the netlist1 folder.
    In this file, you can seethat the following line lists the current library as "work".
    • library IEEE;
    • use IEEE.std_logic_1164.all;
    • use work.conv_pkg.all;
  3. Use the xlswitchLibrary command to change library name. Make sure that the current MATLAB directory is just above the netlist1 folder.
  4. Run xlswitchLibrary ('netlist1', 'work', 'new_lib_name')
    The following should be output to the console:

    "Warning: Could not find an exact (case-sensitive) match for 'xlswitchLibrary'.
    C:\Xilinx\13.2\ISE_DS\ISE\sysgen\bin\nt\xlSwitchLibrary.p is a case-insensitive match and will be used instead.
    You can improve the performance of your code by using exact name matches and we therefore recommend that you update your usage accordingly. Alternatively, you can disable this warning using warning('off','MATLAB:dispatcher:InexactCaseMatch').
    This warning will become an error in future releases.
    INFO: Switching HDL library references in design 'spram_cw' ...
    INFO: A backup of the original files can be found at 'C:/Xilinx/13.2/ISE_DS/ISE/sysgen/examples/projnav/mult_diff_designs/netlist1/switch_lib_backup.rK6N'.
    INFO: Processing file 'spram.vhd' ...
    INFO: Processing file 'spram_cw.vhd' ..."
  5. You can verify the change by opening the same file:

    library IEEE;
    use IEEE.std_logic_1164.all;
    use new_lib_name.conv_pkg.all;

    You can also open the backup copy of the files in the switch_lib_backup folder, located at netlist1/new_lib_name.xxxx'.

For System Generator for DSP Release Notes for other versions, see (Xilinx Answer 29595).

Linked Answer Records

Associated Answer Records

AR# 43728
Date Created 09/19/2011
Last Updated 12/15/2012
Status Active
Type General Article
Tools
  • System Generator for DSP - 13.1
  • System Generator for DSP - 13.2