Mixed language simulation doesn't work with Aldec Riviera
See original GitHub issueThere’s a problem when trying to run mixed language simulation under Aldec Riviera. The problem can be reproduced even with the example in the repo. Apart from the already known issue with VHDL->Verilog access mentioned in #2921 , it seems that Verilog->VHDL also doesn’t work.
Here’s a last part of simulator output when trying to run it with
make SIM=riviera COCOTB_DEBUG_LEVEL=trace
:
# COUT: 0.00ns INFO cocotb Running on Riviera-PRO version 2021.04.107.8106
# COUT: 0.00ns INFO cocotb Running tests with cocotb v1.7.0 from /home/adrian/.local/lib/python3.6/site-packages/cocotb
# COUT: 0.00ns INFO cocotb Seeding Python random module with 1663159507
# COUT: 0.00ns INFO cocotb.regression pytest not found, install it to enable better AssertionError messages
# COUT: 0.00ns INFO cocotb.regression Found test test_mixed_language.mixed_language_accessing_test
# COUT: 0.00ns INFO cocotb.regression Found test test_mixed_language.mixed_language_functional_test
# COUT: 0.00ns INFO cocotb.regression running mixed_language_accessing_test (1/2)
# COUT: Try accessing handles and setting values in a mixed language environment.
# COUT: 100.00ns INFO cocotb.endian_swapper_mixed Got: 'i_swapper_sv'
# COUT: 100.00ns WARNING gpi VPI: Simulator does not know this type (1029) via VPI
# COUT: free(): invalid pointer
bash: line 1: 8315 Segmentation fault (core dumped) GPI_EXTRA=/home/adrian/.local/lib/python3.6/site-packages/cocotb/libs/libcocotbvhpi_aldec.so:cocotbvhpi_entry_point TOPLEVEL_LANG=verilog MODULE=test_mixed_language TESTCASE= TOPLEVEL=endian_swapper_mixed /opt/aldec/riviera
pro/bin/vsimsa -do sim_build/runsim.tcl
Issue Analytics
- State:
- Created a year ago
- Comments:31 (16 by maintainers)
Top Results From Across the Web
Simulating AXI-based Designs in Riviera-PRO - Aldec, Inc
You have an AXI license (AXI BFM simulation model) which is separately ... If you have a Verilog or mixed-language Riviera-PRO license, you...
Read more >Introduction to Aldec Riviera-PRO - High Performance Mixed ...
This introductory webinar is an overview of Riviera-PRO high performance mixed-language simulator. We will cover functional simulation along with powerful ...
Read more >How to Simulate Designs in Active-HDL - Application Notes
Simulation input based on waveforms edited by the user ... Stimulators are proprietary to Active-HDL and will not work in other HDLs simulators....
Read more >Getting Started with Active-HDL - Documentation - Aldec, Inc
The workspace allows adding and working with several designs simultaneously ... Block Diagram Configuration and Default HDL Language (in our case VHDL).
Read more >Riviera-PRO - Functional Verification - Aldec, Inc
Extensive simulation optimization algorithms to achieve the highest performance in VHDL, Verilog/SystemVerilog, SystemC, and mixed-language simulations ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
The module loading error that you resolved by setting LIBPYTHON_LOC seems unrelated to the segfault issue that we discussed earlier. I’d suggest to keep this issue to the segfault; I opened https://github.com/cocotb/cocotb/issues/3097 for the other issue.
On the segfault: I can reproduce the issue on my side, but I haven’t yet found enough time to deep-dive into it. My first suspicion is that we’re freeing a piece of memory that was allocated by another libstdc++ (we link one statically into cocotb, Aldec ships its own version dynamically linked, and of course the operating system provides another one). But again, that’s a hypothesis which needs checking.
In addition to being fixed on master, the required fix has also been backported to the 1.7.2 release, which was just published. Please reopen this issue if the problem persists.