question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Mixed language simulation doesn't work with Aldec Riviera

See original GitHub issue

There’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:closed
  • Created a year ago
  • Comments:31 (16 by maintainers)

github_iconTop GitHub Comments

1reaction
imphilcommented, Sep 28, 2022

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.

0reactions
imphilcommented, Nov 15, 2022

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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found