1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
# Running a Testbench
Each executable testbench has its own Makefile that automatically pulls in support
for all supported simulators. The build infrastructure supports the following simulators:
- Xilinx Vivado (XSim)
- Mentor Graphics ModelSim (may require an additional license)
In general running ``make <sim_target>`` will run the
simulation and report results in the console. Running ``make help`` will print out
all supported simulator targets. Currently, the following targets will work:
Supported Targets:
ipclean: Cleanup all IP intermediate files
clean: Cleanup all simulator intermediate files
cleanall: Cleanup everything!
xsim: Run the simulation using the Xilinx Vivado Simulator
xclean: Cleanup Xilinx Vivado Simulator intermediate files
vsim: Run the simulation using Modelsim
vclean: Cleanup Modelsim intermediate files
## Using Xilinx Vivado XSim
XSim is the built-in simulator in the Xilinx Vivado toolchain. If you already met the
prerequisites for building an FPGA image, then you don't need to install anything else.
Follow these steps to run a testbench:
- Navigate to the directory that contains the top level testbench and Makefile
- Run the setenv.sh script for the USRP product that you are trying to simulate
``$ source <repo>/usrp3/top/<product>/setupenv.sh``
This step is required even if the simulation is generic because the toolchain requires
an FPGA part number to load simulation models.
- Run the simulator specific target
``$ make xsim``
## Using Mentor Graphics ModelSim
ModelSim is a third-party simulation tool that is compatible with Vivado and the USRP
FPGA build infrastructure.
Use the following one-time setup to install and configure Modelsim on your system
- Install Modelsim from the [Mentor Graphics](http://www.mentor.com/) website.
It is recommended that you install it to the default location (/opt/mentor/modelsim)
- Run the setenv.sh script for the USRP product that you are trying to simulate
``$ source <repo>/usrp3/top/<product>/setupenv.sh``
This step is required even if the simulation is generic because the toolchain requires
an FPGA part number to load simulation models.
- Build the Xilinx simulation libraries
``$ build_simlibs``
To validate that everything was install properly run ``setupenv.sh`` again. You should see the following
Setting up X3x0 FPGA build environment (64-bit)...
- Vivado: Found (/opt/Xilinx/Vivado/2014.4/bin)
- Modelsim: Found (/opt/mentor/modelsim/modeltech/bin)
- Modelsim Compiled Libs: Found (/opt/Xilinx/Vivado/2014.4/modelsim)
Environment successfully initialized.
Follow these steps to run a testbench:
- Navigate to the directory that contains the top level testbench and Makefile
- Run the setenv.sh script for the USRP product that you are trying to simulate
``$ source <repo>/usrp3/top/<product>/setupenv.sh``
This step is required even if the simulation is generic because the toolchain requires
an FPGA part number to load simulation models.
- Run the simulator specific target
``$ make vsim``
## Troubleshooting
#### Vivado Not Found
If running the setupenv.sh script return an error like the following:
Vivado: Not found! (ERROR.. Builds and simulations will not work)
then it is possible that Vivado was not installed or it was not installed in the default
location. If Vivado is installed in a non-default location, just run the following:
``$ source <repo>/usrp3/top/<product>/setupenv.sh --vivado-path=<PATH>``
#### Modelsim Not Found
If running the setupenv.sh script return an error like the following:
Setting up X3x0 FPGA build environment (64-bit)...
- Vivado: Found (/opt/Xilinx/Vivado/2014.4/bin)
- Modelsim: Not found! (WARNING.. Simulations with vsim will not work)
Environment successfully initialized.
or something like this (even when Modelsim is installed)
Setting up X3x0 FPGA build environment (64-bit)...
- Vivado: Found (/opt/Xilinx/Vivado/2014.4/bin)
Environment successfully initialized.
then it is possible that Modelsim was not installed or it was not installed in the default
location. If Modelsim is installed in a non-default location, just run the following:
``$ source <repo>/usrp3/top/<product>/setupenv.sh --modelsim-path=<PATH>``
#### Modelsim Simulation Libraries Not Found
If running the setupenv.sh script return an error like the following:
Setting up X3x0 FPGA build environment (64-bit)...
- Vivado: Found (/opt/Xilinx/Vivado/2014.4/bin)
- Modelsim: Found (/opt/mentor/modelsim/modeltech/bin)
- Modelsim Compiled Libs: Not found! (Run build_simlibs to generate them.)
Environment successfully initialized.
just run the following
$ build_simlibs
|