AICLAB

Advanced Integrated Computing Lab
Inspiring the Next Generation of FPGA, ASIC, and Digital Circuit Design Engineers.
From 0 and 1 to ∞!

Explore Our Content

SV13. SystemVerilog Casting Guide

SV13. SystemVerilog Casting Guide

Casting in SystemVerilog is a powerful mechanism for explicitly converting data between different types, sizes, and sign interpretations. This guide covers the three main types of casting available in synthesizable SystemVerilog and their practical applications.
SV12. Difference between Bitwise NOT (~) and Logical NOT (!)

SV12. Difference between Bitwise NOT (~) and Logical NOT (!)

When working with Verilog or SystemVerilog, it's crucial to understand the distinction between the bitwise NOT operator (`~`) and the logical NOT operator (`!`). While they might seem similar, they behave differently and are intended for distinct purposes. Using them...
SV11. Signed Arithmetic in SystemVerilog

SV11. Signed Arithmetic in SystemVerilog

This page summarizes the key rules and pitfalls for synthesizable signed arithmetic in SystemVerilog, focusing on vector size, signed vs. unsigned behavior, and correct handling of carry-in signals. Each section provides code examples and explanations to help hardware designers avoid...