The user has to compile both uaplatform and device (i.e., lfcpnx) libraries. uaplatform contains generic library functions like LUT4, BB, standard cell libraries etc and lfcpnx library contains device-specific libraries. While specific device library compiles all included primitives. Both are required for simulation.
This can be compiled using cmpl_libs on tcl. Note: It is recommended to compile the libraries using XCELIUM 20.09.004.
Sample script: cmpl_libs.tcl -sim_path <sim_path> [-sim_vendor {mentor<default>|cadence|aldec}] [-device {ice40up|lifcl|lfcpnx|lfd2nx|lfmxo5|ap6a00|ut24c|ut24cp|all<default>}] [-target_path <target_path>]
Example: cmpl_libs -sim_path /tools/dist/cadence/XCELIUM/XCELIUM20.09.004/Linux/tools.lnx86/bin/ -sim_vendor cadence -device lfcpnx -target_path /home/<user>/wb_sim/
Below image shows the compiled libraries by the script cmpl_libs under wb_sim folder.
Sample simulation script saved in run_xcelium file:
-reflib /home/<user>/wb_sim/lfcpnx
-reflib /home/<user>/wb_sim/uaplatform
./top_mpcs_1/testbench/tb_top.v
-y ./top_mpcs_1/rtl
-y ./top_mpcs_1/misc
-y /./top_mpcs_1/testbench
-incdir ./top_mpcs_1/rtl
-incdir ./top_mpcs_1/misc
-incdir ./top_mpcs_1/testbench
-libext .v
-sv
Sample xrun: xrun -v_XCELIUM20.09.004 -f run_xcelium