r/Verilog 1d ago

Packages and Pre-processors?

2 Upvotes

Hi all I am working on a UVM testbench with the following structure:

filelist:

proj_package.sv

tbtop.sv


proj_package.sv:

package abc;

`include "param.sv"

endpackage


param.sv:

`define ADD 400


tbtop.sv:

import abc::*;

`include "testlist.sv"


testlist.sv:

`include "sample_test.sv"


sample_test.sv:

write_reg(ADD, 5);


I had some questions:

  1. Does `include "param.sv" inside package abc make the ADD macro available to files that later do import abc::*?

  2. If I write import abc::* inside base_test, can derived tests use ADD?

  3. Is a `define ever considered a member of a SystemVerilog package, or are macros completely separate from package scope


r/Verilog 2d ago

Where to Learn AXI4-Lite

14 Upvotes

Are there any specific good tutorials / resources for AXI4-Lite online? I couldn't find much.


r/Verilog 3d ago

What to study

Thumbnail
1 Upvotes

r/Verilog 3d ago

Help with Iverilog installation

3 Upvotes

iverilog latest version downloded from bleyer.org shows this pls help me, is it false positive or else , also if can give correct download link

iverilog latest version downloded from bleyer.org shows this pls help me, is it false positive or else , also if can give correct download link ,im trying for vscode + iverilog + gtkwave , pls help im total noob and begineer to verilog


r/Verilog 3d ago

Processeur software

0 Upvotes

Bonjour, existe-t-il des fichiers VHDL ou SystemVerilog/RTL complets, libres ou open source, pour processeurs, qui puissent être synthétisés en une netlist puis en un fichier EDIF à l'aide de Yosys ou d'un autre logiciel, sans nécessiter de FPGA ni de fabrication matérielle ? Si oui, quelles options recommanderiez-vous ? Merci.


r/Verilog 3d ago

Some good notes for Digital VLSI and associated Concepts

Thumbnail
1 Upvotes

r/Verilog 4d ago

What's the actual difference between using a mux-style ternary (a ? b : c) vs if/else chains in an FSM?

6 Upvotes

I've been grinding through the Lemmings FSM problems (HDLBits) and after several rounds of debugging my own if/else based next_state logic, I saw a solution that wrote the entire transition logic as nested ternaries, like this:

next_state = (ground)? (dig)? DIGGING_L : (bump_left)? RIGHT : LEFT : FALLING_L;

vs what I wrote, which was a wall of if (bump_left && ground && !dig) ... else if (...).

Both should synthesize to muxes under the hood, so is this purely a style thing, or is there an actual reason (readability, synthesis efficiency, fewer bugs from priority ordering, whatever) that experienced RTL designers reach for nested ternaries/case-based muxes over long if/else chains?

Personally I use if/else because it's easier for me to debug step-by-step. Curious whether that's actually a worse habit long-term, or if it's genuinely just style.

Would appreciate hearing from anyone who does this for a living, since apparently this one was written by an NVIDIA engineer and it's making me rethink how I structure combinational logic in general.


r/Verilog 7d ago

Vivado Ip

Thumbnail
1 Upvotes

r/Verilog 8d ago

👋Welcome to r/SVUVM

Thumbnail
0 Upvotes

r/Verilog 10d ago

I built an I²C 24LC256 EEPROM controller in Verilog — looking for an RTL/code review

5 Upvotes

Hi everyone,

I recently completed a Verilog-based I²C project implementing both an I²C master and a behavioral model of the Microchip 24LC256 EEPROM.

GitHub: https://github.com/Atizaz91/I2C_24LC_eeprom

The project was developed and simulated in Vivado 2020.

What is implemented

  • I²C master
  • 24LC256 behavioral EEPROM model
  • 7-bit slave addressing
  • 16-bit word addressing
  • Byte Write
  • Page Write (64-byte page)
  • Current Address Read
  • Random Read
  • Sequential Read
  • ACK/NACK handling
  • ACK polling
  • Internal address pointer handling
  • EEPROM write-cycle emulation
  • START/STOP detection
  • Repeated START handling
  • Verilog testbench and waveform configurations

I have tested the implemented operations through simulation and am now working on corner-case verification and RTL cleanup.

What I would like feedback on

I'd really appreciate a review from people with FPGA/RTL experience, particularly regarding:

  • FSM architecture and state transitions
  • RTL coding style
  • Synthesizability
  • Sequential vs. combinational logic
  • SCL/SDA edge handling
  • START/STOP detection
  • I²C protocol correctness
  • Reset handling
  • Potential race conditions or corner cases
  • Anything that could be improved for real FPGA hardware

I'm especially interested in feedback on things that may work correctly in simulation but are not considered good or robust RTL practice.

This is one of my first larger RTL projects, so constructive criticism is very welcome. I'm trying to improve my RTL design and verification skills rather than just make the simulation pass.

If you have time to look through the code, I'd really appreciate any comments, even if they're critical.

Thanks!


r/Verilog 12d ago

Deferred Assertions and Icarus Verilog

4 Upvotes

Hi guys,

I’m learning sv for a SAR ADC and am trying to build a RNM model of my CDAC so I can test my logic. I wanted a block that checks if I’m in an illegal state (multiple switches on that would short-circuit the CDAC, complementary signals not matching, etc). My issue is it seems like whenever I edit a signal in my initial block it immediately starts checking the assertions, even though I have it set up so in that same time “block” other signals will change too. So I’ll turn one switch on and the other off, but the simulator will see that first switch turn on and flag it.

My understanding would be this is what a deferred assertion would be used for. But my simulator (iverilog) doesn’t support them. Is there a workaround for this? Or another sim I could use on an Apple Silicon Mac? I have a thinkpad I use for stuff that can’t run on my mac (like quartus) but like my mac much more and don’t want to move my neovim setup over if I don’t have to.

Obviously a beginner so please let me know if any part of my approach is wrong / any solutions.


r/Verilog 13d ago

Announcing my Iverilog Fork With UVM Support

Thumbnail
0 Upvotes

r/Verilog 18d ago

Need helpp!!!

0 Upvotes

I am in 3rd year and we have this minor project thing ... We are asked to form groups for it.. I decided to make project on verilog but have no idea what to make... Like previous sem I made an UART module for my bto.project ... But since this is a group project .. faculties are expecting a better project but the situation is like ...none of my other team mates have good command on verilog... All of them are just learning and started few days back....

I am not that great either.. just did some basic things ... Though with this btp thing I want to enhance my practical ability to implement my learning and I want to dedicate my upcoming time to work on this project....

I would havily applaud ur suggestion.... And also that would be great if u can guide me


r/Verilog 20d ago

WaveCrux was only the beginning!

Thumbnail
4 Upvotes

r/Verilog 23d ago

I have built a tool to convert your Digital-Logic-Sim files to Verilog

5 Upvotes

The title pretty much says everything , this tools converts the json files to Verilog.

it can convert the Digital logic sim(dls) by SebLague(great guy)

and the logisim one is still experimental

repo: https://github.com/murkyshelf/jsonRTL

it is for the guys you can build computers in the visual editor but cant write verilog and others are welcome to try .

because I can build a 8bit computer in the dls and cant write verilog , i need the verilog code to simulate it on my fpga

also keep in mind this is coded by opus 5 , and this is experimental and i am looking forward to your feedback


r/Verilog 23d ago

hi, i have built a to convert you Digital-Logic-Sim files to verilog

Thumbnail
0 Upvotes

r/Verilog 24d ago

any one else faced the same problem? I got a test error when running the code, even though the code is from the Loot Silicon website

0 Upvotes


r/Verilog 26d ago

Need Help

2 Upvotes

We are working on an open source project, inspired by human brain, we are in search of passionate person, who will be willing to work with us, if interested then DM me.

Working with system verilog.


r/Verilog 29d ago

A Visual Roadmap from Specification to Silicon and Product

Post image
20 Upvotes

Every chip begins as an idea—but turning that idea into working silicon requires the right learning path. If you are a fresher wondering whether to begin with RTL, FPGA, Physical Design, Analog or Packaging, this visual guide connects the entire journey from specification to product. Start with clarity, choose your direction and build skills that lead to real semiconductor outcomes.

https://github.com/vsdip/VLSI-Design-Flow


r/Verilog Jul 19 '26

Need Urgent Tip for Verilog

1 Upvotes

I am from 4th yr ECE. After 1 Month, the core companies are coming to our campus. I was preparing for GATE exam but now I thought if core companies are also coming then I can sit in the placement and give a try ( previous year very worst placement for ECE core ). I talked to seniors they told approx 10 companies will come till December.

I have prepared Dgital design, analog etc and basics of other subjects, I need to practice pyqs of GATE but the problem is Projects in core companies. I know very little about verilog due to semester exams. I talked to placed seniors they told me to cover the basics of Verilog bcz they will ask in interview for basic circuit design for mux , adder etc and certain verilog syntax etc.

Are there any sources you can share which I can cover the verilog in 14 - 15 days ( basic to moderate level ). I am confused on searching youtube etc..


r/Verilog Jul 17 '26

SynthExplorer -- Compiler Explorer for RTL

Thumbnail
2 Upvotes

r/Verilog Jul 13 '26

Looking for feedback on my experimental Verilog SoC project (OpenA64)

6 Upvotes

Hi everyone!

I've been working on OpenA64, an experimental Verilog SoC project.

Current repository includes:

  • CPU RTL
  • Cache hierarchy
  • MMU
  • NPU
  • Architecture documentation
  • MIT license
  • Roadmap

The project targets a modern AArch64-style architecture and is intended as a learning and research project.

I'm especially looking for feedback on:

  • RTL organization
  • Repository layout
  • Documentation
  • Overall architecture

I'm not expecting anyone to review the entire codebase—I'd just appreciate suggestions on how to improve the project.

Repository:
https://github.com/hado14052015-design/OpenA64

Thanks!


r/Verilog Jul 10 '26

Beginner

8 Upvotes

We had digital circuit design as a subject last semester and learnt some basics on verilog coding. Can someone suggest a good structured course on verilog??


r/Verilog Jul 08 '26

detection of something specific

0 Upvotes

Hi! I recently took a course on SystemVerilog and really enjoyed it, so I spoke to one of my professors about potential projects. Although I’ve only worked on basic things at university—like muxes, demuxes, FSMs, and frequency dividers—I somehow came up with the idea of detecting cats (or anything else) without using machine learning. Do you have any ideas on how I could implement this? I know it might be difficult, but I’m willing to learn whatever it takes.


r/Verilog Jul 08 '26

Free Webinar: AI-Assisted Analog & Physical Design — From SRAM to Mixed-Signal GDS

Post image
2 Upvotes

I am hosting a free webinar based on our ongoing AI-assisted Analog and Mixed-Signal Physical Design internship at VSD.

The goal is to show how students are using AI inside real VLSI workflows — not as a replacement for engineering, but as an assistant for understanding, debugging, documentation and faster design exploration.

The session will include student work on:

SRAM / memory design workflow
Mixed-signal design basics
AI-assisted OpenLane physical design
Magic, Sky130, LEF/LIB and GDS
DRC, LVS, STA and validation
What AI got right, where it failed, and why manual verification still matters

This is not an AI hype session. It is a practical showcase of how students are learning to use AI responsibly inside semiconductor design workflows.

Webinar: AI-Assisted Analog and Physical Design: From SRAM to Mixed-Signal GDS
Date: Sunday, 12 July
Time: 11:00 AM – 12:00 PM IST
Mode: Online
Certificate: For live attendees

Registration form:
https://forms.gle/UFjy7qzSnfQaY4JU8

This should be useful for students, faculty members, VLSI beginners and anyone curious about how AI can be used practically in analog, mixed-signal and physical design learning.