-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
Description
This repository was created by merging the following resources:
- ghdl/ghdl-systemc-fosdem16 (add readme and slides, add note about ghdl/ghdl-cosim ghdl-systemc-fosdem16#1).
- The content from section
using/Foreign.rst
andexamples/README.rst
(doc: split 'Interfacing to other languages' to ghdl/ghdl-cosim ghdl#1216). - Examples gathered in https://github.com/eine/hwd-ide/tree/develop/examples/VHPI.
- @RocketRoss, contributed a PR to the initial version of this repo ([archive] Read through alterations umarcor/ghdl-cosim#1).
In fact, #1
in the commit history corresponds to umarcor#1 or ghdl/ghdl-systemc-fosdem16#1.
This issue is just a placeholder for consistency and to acknowledge the references.
Refs:
- Simulation models compiled with -shared do not exit cleanly upon failure ghdl#803
- Enhancements to VHPIDIRECT: C APIs ghdl#1053
- doc: add VHPIDIRECT demo ghdl#1059
- Second call of ghdl_main() aborts ghdl#1184
- Pass Toplevel generic to ghdl_main() ghdl#1185
- Update Foreign.rst to reflect my learnings ghdl#1195
- doc: update tips/hints related to VHPIDIRECT ghdl#1202
- Simulation models compiled with -shared abort upon failure when loaded from Python on Linux ghdl#1623
Ideas:
- Packages and shared variables / protected types (ghdl/ghdl#1059).
- Pipes
- X11 windows (vhpidirect: add 'arrays/matrices/framebuffer' #20)
- Environment variables
- Exit codes (vhpidirect: add 'wrapping/exitcb' #15)
- VPI examples
- Execute SystemC example in CI
- Document
-o
(it applies to all commands that perform a link, so:-e
,--elab-run
,--link
,-c
,-m
...) (Update documentation ghdl#1290) - How to cosimulate remotely: run the main software application in a device and execute the simulation in a different device. This can be done with multiple languages (C/C++, Python, Golang, Rust, etc.) and with a bunch of libraries/frameworks (gRPC, ZeroMQ, etc.). See hackfin/ghdlex, dbhi/gRPC, VUnitCoSim VUnit/vunit#568 and Proposal for a more comprehensive approach to VUnit co-simulation VUnit/vunit#603.
- How to integrate GHDL with other HDL simulators (Verilog (iverilog), SystemC (verilator)). See subdir
systemc
, March 26, 2020 7:04 PM and mixing VHDL-2008 with other standards? ghdl#908. - How to execute a GHDL simulation as a built-in function in Octave/Matlab through mkoctfile. Conversely, how to execute built-in functions of Octave from VHDL. WIP: https://github.com/umarcor/cosim/tree/future/examples.
- The same, but applied to Python through ctypes. WIP: VUnit/cosim.
- Coarse grained mixed-signal (Digital/Analog) simulation with Xyce. In the future, GHDL might include a built-in solver for analog modules. See Digital/Analog simulation ghdl#1052.
- Guidelines for users willing to contribute to GHDL's codebase with regard to Enhancements to VHPIDIRECT: C APIs ghdl#1053 and Simulation models compiled with -shared do not exit cleanly upon failure ghdl#803.
- Specially, how to use gdb in order to get the internal prototypes that GHDL uses for variables, signals, structures, pointers, entities, etc.
- Bind
printf
as an alternative to suoto/hdl_string_format?
Examples:
Existing 'Quick Start' examples are based on vhpidirect. However, there are some features which are used there and not shown in the examples yet.- 2D array of std_logic
- ygdes.com/GHDL
- dossmatik_UART
- cviehb/ghdl-tutorial
- ghdlex (by @hackfin, now available at hackfin/ghdlex).
- dbhi/vboard
- VZMQ - ZeroMQ communication with VHDL simulation in GHDL
- VPI
- vpi-ex-ghdl. I think that these examples were published by Tristan many years ago.
- cocotb
- CO-SIMULATION BETWEEN CλASHAND TRADITIONAL HDLS
- VHDL support in SpinalSim using GHDL as a backend SpinalHDL/SpinalHDL#146
- MyHDL:
- MyHDL: VHDL Cosimulation with GHDL
- Modifications to GHDL VPI Examples
- vpi-ex-myhdl, might be the same code as in the previous one.
- dev.myhdl.org/resources/ideas/vhdl-cosim
- ACMIX, A Methodology and Toolset to Enable SystemC and VHDL Co-simulation, ieeexplore.ieee.org/document/4208939
- FOSSEE/nghdl