rodrigomelo9 / vboard

Virtual development board for HDL design

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Virtual development board for HDL design

This is a (proof of concept) library/framework of virtual components which can be reused to build HDL testbenches including software models/visualizations of non-trivial peripherals. Each virtual component is composed of three parts:

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

The purpose of this repository is to document the APIs that are used between the frontend and the transport, and between the tansport and the backend. Multiple projects exist which combine either GHDL or Verilator with foreign languages (C/C++, Python, m, golang, JavaScript, etc.). Many of them implement the same peripherals (e.g. virtual VGA screen). However, there is no framework to share 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).

Development environment

  • Frontend
    • GHDL
    • Verilator
  • Transport
    • C/C++
    • Python
  • Backend
    • ImageMagick
    • Xlib
    • Gtk
    • Qt
    • HTML/JS/CSS

All of these can be executed on high-performance workstations or on low-cost SBCs. Some solutions are available on Android smartphones/tablets too.

Virtual peripherals

Ideas

  • Line follower robot.
  • BLDC motor.
  • GPS sensor.
  • ...

References

About

Virtual development board for HDL design


Languages

Language:VHDL 79.3%Language:Python 7.2%Language:C 5.5%Language:Makefile 4.5%Language:Shell 3.4%