XSIM 2024.2 Runaway Memory Usage

Why OSVVM™? Forums OSVVM XSIM 2024.2 Runaway Memory Usage

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #2677
    Tyler Keef
    Member

    I’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.pro

    First, 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.
    Missing OsvvmBuild.log error

    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.

    #2678
    Jim Lewis
    Member

    From 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.

    #2680
    Jim Lewis
    Member

    Below 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.

    Xilinx Results with OSVVM 2025.02

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.