All Projects → dbhi → vboard

dbhi / vboard

Licence: other
Virtual development board for HDL design

Programming Languages

VHDL
269 projects
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to vboard

formal hw verification
Trying to verify Verilog/VHDL designs with formal methods and tools
Stars: ✭ 32 (+0%)
Mutual labels:  vhdl, verilog, ghdl
virtio
Virtio implementation in SystemVerilog
Stars: ✭ 38 (+18.75%)
Mutual labels:  verilog, hdl, verilator
docker
Scripts to build and use docker images including GHDL
Stars: ✭ 27 (-15.62%)
Mutual labels:  vhdl, verilog, ghdl
hdl-tools
Facilitates building open source tools for working with hardware description languages (HDLs)
Stars: ✭ 56 (+75%)
Mutual labels:  verilog, hdl, verilator
symbolator
HDL symbol generator
Stars: ✭ 123 (+284.38%)
Mutual labels:  vhdl, verilog, hdl
cocotb-bus
Pre-packaged testbenching tools and reusable bus interfaces for cocotb
Stars: ✭ 20 (-37.5%)
Mutual labels:  vhdl, verilog, hdl
xeda
Cross EDA Abstraction and Automation
Stars: ✭ 25 (-21.87%)
Mutual labels:  vhdl, verilog, hdl
Hdl checker
Repurposing existing HDL tools to help writing better code
Stars: ✭ 103 (+221.88%)
Mutual labels:  vhdl, verilog
Tinytpu
Implementation of a Tensor Processing Unit for embedded systems and the IoT.
Stars: ✭ 153 (+378.13%)
Mutual labels:  vhdl, verilog
Degate
Open source software for chip reverse engineering.
Stars: ✭ 156 (+387.5%)
Mutual labels:  vhdl, verilog
SpinalCrypto
SpinalHDL - Cryptography libraries
Stars: ✭ 36 (+12.5%)
Mutual labels:  vhdl, verilog
Awesome Open Hardware Verification
A List of Free and Open Source Hardware Verification Tools and Frameworks
Stars: ✭ 103 (+221.88%)
Mutual labels:  vhdl, verilog
Vexriscv
A FPGA friendly 32 bit RISC-V CPU implementation
Stars: ✭ 1,041 (+3153.13%)
Mutual labels:  vhdl, verilog
dbgbus
A collection of debugging busses developed and presented at zipcpu.com
Stars: ✭ 24 (-25%)
Mutual labels:  verilog, verilator
async fifo
A dual clock asynchronous FIFO written in verilog, tested with Icarus Verilog
Stars: ✭ 117 (+265.63%)
Mutual labels:  verilog, hdl
J1sc
A reimplementation of a tiny stack CPU
Stars: ✭ 64 (+100%)
Mutual labels:  vhdl, verilog
fpga-docker
Tools for running FPGA vendor toolchains with Docker
Stars: ✭ 54 (+68.75%)
Mutual labels:  vhdl, verilog
svut
SVUT is a simple framework to create Verilog/SystemVerilog unit tests. Just focus on your tests!
Stars: ✭ 48 (+50%)
Mutual labels:  verilog, verilator
vscode-terosHDL
VHDL and Verilog/SV IDE: state machine viewer, linter, documentation, snippets... and more!
Stars: ✭ 325 (+915.63%)
Mutual labels:  vhdl, verilog
sphinxcontrib-hdl-diagrams
Sphinx Extension which generates various types of diagrams from Verilog code.
Stars: ✭ 37 (+15.63%)
Mutual labels:  verilog, hdl

Virtual development board for HDL design

This is a (proof of concept) library/framework of virtual components which can be reused for building testbenches using Hardware Description Languages (HDLs) and including software models/visualizations of non-trivial peripherals. Each virtual component is composed of three parts:

  • Frontend (HDL module/component).
  • Transport layer/mechanism.
  • Backend (software library).

The purpose of this repository is to document the APIs used between the frontend and the transport, and between the tansport and the backend. Multiple projects exist which combine either GHDL, Icarus Verilog or Verilator with foreign languages (C/C++, Python, m, golang, JavaScript, etc.). Many of them implement the same peripherals (e.g. virtual VGA screen, pushbuttons, LEDs, etc.). However, there is no documented framework for sharing common resources. For instance, drawing the content of a framebuffer in a window is independent from how it is filled (either from VHDL, Verilog or some other HDL). Documenting intermediate APIs can hopefully help code reuse in the open source hardware development community.

Development environment

All of these simulators and virtual peripherals can be executed on high-performance workstations or on low-cost SBCs. Some solutions are available on Android smartphones/tablets too. See hdl/packages for further info about packaging/distribution alternatives for open source EDA tooling.

Tha main languages used for interfacing HDLs (VHDL, Verilog and/or System Verilog) with foreign languages are C/C++, since standard co-simulation interfaces are defined in those terms. However, several languages have built-in support for interacting with shared libraries and executable binaries using C semantics. Python, Rust or Julia, to name a few, provide built-in features for doing so. Moreover, libffi provides a generalized solution for defining target functions at runtime, instead of compile time.

With regard to distribution, there is work in progress for using *.core (YAML) files as a portable solution for defining filesets. See OSVB: Core.

Virtual peripherals

Ideas

  • Visualization of hyperspectral/multispectral image processing cores (VUnit/vunit#568):

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].