4. Anàlisis de referents
4.1. All blues (Modal jazz)
When invoking FSDB dumping commands at the simulator command prompt (“ncsimv >”) or in VHDL design is needed, one of the following methods must be used to compile and include the FSDB dumping commands.
Method 1: Using ncvhdl, ncvlog, ncelab and ncsim:
1. Compile the novas.vhd file into the default design working library. This VHDL file is found in the <NOVAS_INST_DIR>/share/PLI/IUS/
${PLATFORM} directory.
> ncvhdl -message \
${NOVAS_INST_DIR}/share/PLI/IUS/${PLATFORM}/novas.vhd
The novas.vhd file contains the declarations of the FSDB foreign functions in the pkg and novas packages.
2. Use the novas package in any VHDL files that call any FSDB foreign functions. Assume the novas.vhd file is compiled into the default working library. Use the novas package in the VHDL code as shown in the following example:
library IEEE;
use IEEE.std_logic_1164.all;
library work;
use work.novas.all;
The following example shows how to include the FSDB foreign functions in the VHDL code.
process begin
fsdbDumpfile("test.fsdb");
fsdbDumpvars(0, ":");
Re-compile any VHDL files that were modified. To learn more about the usage and syntax of the FSDB foreign functions, refer to the FSDB Dumping
Commands Used in VHDL section.
Enable Read Access
To enable read access of the design objects, the -linedebug option must be included with ncvhdl, ncvlog, or the -access +r option specified with ncelab. For example:
> ncvlog -message -linedebug test.v
or
> ncvhdl -message -linedebug test.vhd
or
> ncelab -message -access +r WORK.TOP:BLK
The -linedebug command line option must be specified with ncvhdl or ncvlog to compile the design if you want to set line break points or run the design step by step using interactive mode in the Verdi system.
Method 2: Using irun:
Use the novas package in any VHDL files that call any FSDB foreign functions.
Assume the novas.vhd file is compiled into the default working library. Use the novas package in the VHDL code as shown in the following example:
library IEEE;
use IEEE.std_logic_1164.all;
library work;
use work.novas.all;
The following example shows how to include the FSDB foreign functions in the VHDL code.
process begin
fsdbDumpfile("test.fsdb");
fsdbDumpvars(0, ":");
wait ; end process;
Re-compile any VHDL files that were modified. To learn more about the usage and syntax of the FSDB foreign functions, refer to the FSDB Dumping
Commands Used in VHDL section.
NOTE: The file novas.vhd file must be compiled before other files which use
“use work.novas.all. For example,
Assume the design file vhdl_design.f contains file paths for VHDL design portion:
./src/vhdl/TOP.vhd ./src/vhdl/sytem.vhd
./src/vhdl/tb_CPUsystem.vhd ...
Then the path of novas.vhd must be list before other files which include
“use work.novas.all”.
To enable read access of the design objects, the -linedebug option must be included. For example:
> irun -message -linedebug –f vhdl_design.f –f verilog_design.f –loadpli1 debpli:novas_pli_boot
When the linking is successful, a Novas banner will be shown to indicate the coordinating FSDB dumper engine is loading:
*Novas* Loading libsscore_iusXXX.so
Dynamic Loading
Additional options can be specified to tell IUS to load the PLI/CFC/FMI libraries for the Novas FSDB dumper from a non-default filename.
It is convenient to directly use the FSDB dumper without rebuilding new libraries to merge with other third party programs. To dynamically load the FSDB dumper with IUS, specify the shared library path, and then compile and
debpli.so ${NOVAS_HOME}/share/PLI/IUS/
Specify Shared Library Search Path
Set the system shared library search path to include the directory of the dynamic loading version of the FSDB dumper before running ncelab and ncsim.
Solaris/Linux Platforms
> setenv LD_LIBRARY_PATH \
${NOVAS_INST_DIR}/share/PLI/IUS/${PLATFORM}/boot:\
$LD_LIBRARY_PATH
Compile and Include FSDB Dumping Commands
This is optional; however, if the FSDB dumping commands will be invoked at the simulator prompt, in the VHDL design, or run the simulation using interactive mode in the Verdi system, the following method must be used to compile and include the FSDB dumping commands.
Method : Using ncvhdl, ncvlog, ncelab and ncsim:
1. Compile the novas.vhd file into the default design working library. You can find this VHDL file in the <NOVAS_INST_DIR>/share/PLI/IUS/
${PLATFORM} directory.
> ncvhdl -message \
${NOVAS_INST_DIR}/share/PLI/IUS/${PLATFORM}/novas.vhd
The novas.vhd file contains the declarations of the FSDB foreign functions in the pkg and novas packages.
2. Use the novas package in any VHDL files that call any FSDB foreign functions. Assume the novas.vhd file is compiled into the default working library. Use the novas package in the VHDL code as shown in the following example:
library IEEE;
use IEEE.std_logic_1164.all;
library work;
use work.novas.all;
The following example shows how to include the FSDB foreign functions in the VHDL code.
process begin
fsdbDumpfile("test.fsdb");
fsdbDumpvars(0, ":");
wait ; end process;
Re-compile any VHDL files that were modified. To learn more about the usage and syntax of the FSDB foreign functions, refer to the FSDB Dumping Commands Used in VHDL section.
3. To enable read access of the design objects, the -linedebug option must be included with ncvhdl, ncvlog, or the -access +r option specified with ncelab. For example:
> ncvlog -message -linedebug test.v
or
> ncvhdl -message -linedebug test.vhd
or
> ncelab -message -access +r WORK.TOP:BLK
This is optional; however, if you want to set line break points or run the design step by step using interactive mode in the Verdi system, the
-linedebug command line option must be specified with ncvlog to compile the design.
> ncvlog -message -linedebug test.v
or
> ncvhdl -message -linedebug test.vhd
4. Specify the -loadpli1 debpli:novas_pli_boot option with ncelab. The -access +r option must also be specified with ncelab to enable read access of the design object.
> ncelab -access +r -loadpli1 debpli:novas_pli_boot \ -VHDLEXPAND WORK.TOP:BLK
NOTE: From Cadence IUS 5.5 and later versions, the symbols in PLI
applications are not exported by default. This may cause a crash if you load several PLI applications that contain the FSDB writer library. To avoid the crash, you can add the :export qualifier to each -loadpli option.
This will export the symbols in the PLI applications. For example:
> ncelab -access +r -loadpli1 debpli:novas_pli_boot:export\
-VHDLEXPAND WORK.TOP:BLK
Instead of adding the :export qualifier , you can use the -pli_export option. For example:
> ncelab -access +r -loadpli1 debpli:novas_pli_boot \ -VHDLEXPAND WORK.TOP:BLK -pli_export
WORK.TOP:BLK -tcl
NOTE: For backward compatibility, debcfc_boot can be used as the booting function of debcfc and use debfmi_boot as the booting function of debfmi.
When the linking is successful, a Novas banner will be shown to indicate the coordinating FSDB dumper engine is loading:
*Novas* Loading libsscore_ius62.so