All Projects → tymonx → virtio

tymonx / virtio

Licence: Apache-2.0 license
Virtio implementation in SystemVerilog

Programming Languages

SystemVerilog
227 projects
CMake
9771 projects
python
139335 projects - #7 most used programming language
Vim Script
2826 projects

Projects that are alternatives of or similar to virtio

hwt
VHDL/Verilog/SystemC code generator, simulator API written in python/c++
Stars: ✭ 145 (+281.58%)
Mutual labels:  fpga, rtl, verilog, systemc
hdl-tools
Facilitates building open source tools for working with hardware description languages (HDLs)
Stars: ✭ 56 (+47.37%)
Mutual labels:  rtl, verilog, hdl, verilator
sphinxcontrib-hdl-diagrams
Sphinx Extension which generates various types of diagrams from Verilog code.
Stars: ✭ 37 (-2.63%)
Mutual labels:  fpga, rtl, verilog, hdl
Deep-DarkFantasy
Global Dark Mode for ALL apps on ANY platforms.
Stars: ✭ 16 (-57.89%)
Mutual labels:  fpga, verilog, xilinx, vivado
fpga-docker
Tools for running FPGA vendor toolchains with Docker
Stars: ✭ 54 (+42.11%)
Mutual labels:  fpga, verilog, xilinx, quartus
intfftk
Fully pipelined Integer Scaled / Unscaled Radix-2 Forward/Inverse Fast Fourier Transform (FFT) IP-core for newest Xilinx FPGAs (Source language - VHDL / Verilog). GNU GPL 3.0.
Stars: ✭ 43 (+13.16%)
Mutual labels:  fpga, verilog, xilinx, vivado
SHA256Hasher
SHA-256 IP core for ZedBoard (Zynq SoC)
Stars: ✭ 25 (-34.21%)
Mutual labels:  fpga, xilinx, vivado
Spinalhdl
Scala based HDL
Stars: ✭ 696 (+1731.58%)
Mutual labels:  fpga, rtl, verilog
Darkriscv
opensouce RISC-V cpu core implemented in Verilog from scratch in one night!
Stars: ✭ 1,062 (+2694.74%)
Mutual labels:  fpga, rtl, verilog
Rggen
Code generation tool for configuration and status registers
Stars: ✭ 54 (+42.11%)
Mutual labels:  fpga, rtl, verilog
Ustc Rvsoc
FPGA-based RISC-V CPU+SoC.
Stars: ✭ 77 (+102.63%)
Mutual labels:  fpga, rtl, verilog
xeda
Cross EDA Abstraction and Automation
Stars: ✭ 25 (-34.21%)
Mutual labels:  fpga, verilog, hdl
Verilog
Repository for basic (and not so basic) Verilog blocks with high re-use potential
Stars: ✭ 296 (+678.95%)
Mutual labels:  fpga, rtl, verilog
Cores
Various HDL (Verilog) IP Cores
Stars: ✭ 271 (+613.16%)
Mutual labels:  fpga, rtl, verilog
gateware-ts
Hardware definition library and environment for designing and building digital hardware for FPGAs, using only open source tools
Stars: ✭ 83 (+118.42%)
Mutual labels:  fpga, verilog, hdl
Fake-SDcard
Imitate SDcard using FPGAs.
Stars: ✭ 26 (-31.58%)
Mutual labels:  fpga, rtl, verilog
blarney
Haskell library for hardware description
Stars: ✭ 81 (+113.16%)
Mutual labels:  fpga, rtl, verilog
Logic
CMake, SystemVerilog and SystemC utilities for creating, building and testing RTL projects for FPGAs and ASICs.
Stars: ✭ 149 (+292.11%)
Mutual labels:  fpga, rtl, verilog
Fpga readings
Recipe for FPGA cooking
Stars: ✭ 164 (+331.58%)
Mutual labels:  fpga, rtl, verilog
Speech256
An FPGA implementation of a classic 80ies speech synthesizer. Done for the Retro Challenge 2017/10.
Stars: ✭ 51 (+34.21%)
Mutual labels:  fpga, verilog, hdl

Virtio

Virtio implementation in SystemVerilog.

Requirements

These 3rd party tools and libraries must be installed to build and run tests:

Workspace

  • README.md - this read me file in MarkDown format
  • LICENSE - license file
  • CMakeLists.txt - CMake root script for building and testing project
  • doc - configuration files for code documentation generator
  • rtl - RTL source files
  • src - C++ source files
  • include - C++ include headers
  • tests - unit tests and verification tests in SystemC using Google Test or UVM and SystemVerilog using SVUnit
  • cmake - additional CMake scripts for building project
  • scripts - additional scripts in TCL or Python for building project

Build

Clone repository:

git clone [email protected]:tymonx/virtio.git

Change current location to repository directory:

cd virtio

Clone git submodules:

git submodule init
git submodule update

Create build directory:

mkdir build

Change current location to build directory:

cd build

Create build scripts using CMake:

cmake ..

Build project using CMake:

cmake --build . --target all

Or build project using make:

make -j`nproc`

To build documentation:

cmake --build . target doc

Built HTML documentation can be found in:

doc/html

To view HTML documentation, open it using web browser:

<WEB_BROWSER> doc/html/index.html

Tests

Run all unit tests:

ctest

Run only unit tests for AXI4-Stream:

ctest -R axi4_stream

All waveforms generated from unit tests are located in:

output

All unit tests logs are stored in:

Testing/Temporary/LastTest.log

Verilator Coverage

Run Verilator coverage after running all tests:

cmake --build . --target verilator-coverage
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].