This is a snippet of the FireSim repository with a precompiled application binary that should run fine on a Centos7 Vitis Development Image.
The easiest way to observe the misbehaving TLM model is to comment out line 43
of scripts/package_kernel.tcl. There's a clock domain crossing at the
top-level of the kernel RTL which crosses the AXI4lite bus for register peeksjk
and pokes into the kernel's clock domain (which is generated by an internal
MCMM). When SELECTED_SIM_MODEL
is not set to RTL, master requests do not
appear synchronized to the slave's clock domain. Instead they pass through as
though they were driven by the master's clock. See the screenshot below. When line 43 is uncommented it
behaves fine.
source /opt/xilinx/xrt/setup.sh
make sim
- Should package and build the XCLBIN for hw emu.
make run-sim
- Will run the simulation out of the
simulation/xilinx_u250_gen3x16_xdma_2_1_202010_1.run
directory with the correct plus args. - Set the
DEBUG_MODE
make variable to switch between batch, gui, none - See the screen shot for time and signals of interest