XSIM 2024.2 Runaway Memory Usage
Why OSVVM™? › Forums › OSVVM › XSIM 2024.2 Runaway Memory Usage
- This topic has 2 replies, 2 voices, and was last updated 1 day, 18 hours ago by
Jim Lewis.
-
AuthorPosts
-
April 17, 2025 at 02:45 #2677
Tyler Keef
MemberI’ve attempted to build the OSVVM 2025.2 libraries from Vivado 2024.2 but have encountered two problems. I see these occur on my Windows 11 desktop and Windows 11 laptop.
I’ve cloned the repos from GitHub and created a blank demo project in a directory called “sim_xsim” within the repo root. Once my Vivado project is open I make this sim_xsim folder my working directory from the tcl shell in Vivado. I source the ../scripts/StartUp.tcl script which runs without error. Then I attempt to build the OSVVM libraries using:
build ../OsvvmLibraries.proFirst, AXI4.pro appears to look for a OsvvmBuild.log file and errors out when the file is not found. The AXI4 libraries appear to compile when I create a blank OsvvmBuild.log file in my working directory.
Second, Vivado launches one or two srcscanner.exe processes which will eventually consume all of my system memory and results in a blue screen. So far I think I’ve traced this back to line 507 of MemoryGenericPkg.vhd. If I comment this line out I do not see this behavior. Similarly, if I reduce the size of the array (e.g. changing the range from 0 to 20) then I do not see this same behavior.
I am wondering if anyone else has observed this behavior.
April 17, 2025 at 04:39 #2678Jim Lewis
MemberFrom the Scripts_user_guide.pdf:
To run OSVVM scripts in XSIM, start Vivado and then run the StartXSIM using:
source <path-to-OsvvmLibraries>/OsvvmLibraries/Scripts/StartXSIM.tcl
This will then set the simulator to XSIM and instead of analyzing MemoryGenericPkg.vhd, it will do:
analyze deprecated/MemoryGenericPkg_xilinx.vhd
All of the tests in $OsvvmLibraries/RunAllTests.pro should run. I was testing on Windows 10 with Xilinx 2024.2.
I noted that it is terribly slow – takes 8X longer to run OSVVM regressions than the next slowest simulator.
The OsvvmBuild.log is created when you start a build. It should exist until the test completes (either successful or not) and then it is moved to the log/
.log Are you running your own test case? Be aware if you use OSVVM’s memory that it creates an array that is 2**(Address_Length-10) in length. Generally, the package generates warnings when the AddressBits are 34. I am looking into new structures for the memory model to reduce allow the memory to be larger.
April 17, 2025 at 16:23 #2680Jim Lewis
MemberBelow is what I see running XSIM using $OsvvmLibraries/RunAllTests.pro on the current dev branch. There are 8 failures in the RunAllTests.pro. They all have to do with passing integer and time values through the transaction record. With time it never works. With integer, it seems to work some of the time. For integer it may be possible to trace the why, for time it will require an XSIM update.
-
AuthorPosts
- You must be logged in to reply to this topic.