Proxmox: bind mountpoint from host to unprivileged LXC container

Proxmox: bind mountpoint from host to unprivileged LXC container
Accessing host storage from an unprivileged container in Proxmox is a mess. Hopefully, this guide will clear up any confusion you may have.
Read more →

Verilator Pt.4: Modern transactional (UVM) style C++ testbench

Verilator Pt.4: Modern transactional (UVM) style C++ testbench
This guide demonstrates the basics of building powerful transactional testbenches in pure C++ without using any external libraries. The tutorial explores UVM-like transaction, driver, monitor and scoreboard structures, as well as how they all fit together to create a cohesive and capable verification system.
Read more →

Verilator Pt.3: Traditional style verification example

Verilator Pt.3: Traditional style verification example
This tutorial builds upon the Verilator essentials demonstrated in Part 1 and Part 2 and demonstrates how to write a traditional directed testbench in C++
Read more →

Verilator Pt.2: Basics of SystemVerilog verification using C++

Verilator Pt.2: Basics of SystemVerilog verification using C++
This guide demonstrates using Makefiles for running simulations and writing essential C++ testbench code for verifying SystemVerilog modules: setting up Verilator to randomize initial values, performing resets and basic DUT IO driving/monitoring, generating randomized stimulus, and writing continuous, assertion-like signal checking.
Read more →

Verilator Pt.1: Introduction

Verilator Pt.1: Introduction
An introductory, beginner friendly guide to Verilator: what it is, why should might choose it over other simulators, and a first step tutorial for writing a basic C++ testbench for a SystemVerilog DUT, simulating, and generating / viewing waveforms using GTKWave.
Read more →