r/Verilog • • Nov 03 '25

UART is the greatest first Verilog Project

Post image
131 Upvotes

I will die on this hill: your first real Verilog project should be a UART. After your first little blinky blinky project, it's time to build something real. UART as a protocol was invented in the 60s over electrical logic standards (RS-232). It hasn't really changed since, and it's perfect for state machines and learning sampling issues and transmitting data across clock domains.

You have to:

  • Design a baud rate from a faster system clock.

  • Write a transmitter FSM

  • Write a receiver FSM

  • Deal with metastability / async input on rx (synchronizer flops).

  • Parameterize data bits, parity, and stop bits if you want to go a little extra.

Learn why UART is so important: https://sahasmunamala.substack.com/p/why-uart-still-matters?r=6ohy3k


r/Verilog • • Sep 06 '25

Can someone help me understand this.

Post image
49 Upvotes

I'm sure this looks like absolute nonsense. I am trying to understand Verilog but started a level 2 class along with a level 1 for my first semester back at school, so I am struggling to grasp. The assignment is to make a Verilog that follows the instructions "An automotive engineer wants to design a logic circuit that displays a warning signal if the driver is present, the ignition is on and the seat belt is not buckled. Design and implement this logic circuit." This is my best attempt following the book and YouTube videos


r/Verilog • • Aug 30 '25

From AND Gates to CPUs: My 100-Project VHDL Journey

37 Upvotes

Hello everyone! I’ve started a personal challenge to complete 100 VHDL projects, starting from basic logic gates all the way to designing a mini CPU and SoC. Each project is fully synthesizable and simulated in ModelSim.

I’m documenting everything on GitHub as I go, including both the VHDL source code and test benches. If you’re interested in VHDL, FPGA design, or just want a ready-made resource to learn from, check out my progress: https://github.com/TheChipMaker/VHDL-100-Projects-List

Too lazy to open the repo? Here’s the full 100-project list for you:

Stage 1 – Combinational Basics (no clock yet)

Focus: Boolean logic, concurrent assignments, with select, when, generate.

  1. AND gate

  2. OR gate

  3. NOT gate

  4. NAND gate

  5. NOR gate

  6. XOR gate

  7. XNOR gate

  8. 2-input multiplexer (2:1 MUX)

  9. 4-input multiplexer (4:1 MUX)

  10. 8-input multiplexer (8:1 MUX)

  11. 1-to-2 demultiplexer

  12. 1-to-4 demultiplexer

  13. 2-to-4 decoder

  14. 3-to-8 decoder

  15. Priority encoder (4-to-2)

  16. 7-segment display driver (for 0–9)

  17. Binary to Gray code converter

  18. Gray code to binary converter

  19. 4-bit comparator

  20. 8-bit comparator

  21. Half adder

  22. Full adder

  23. 4-bit ripple carry adder

  24. 4-bit subtractor

  25. 4-bit adder-subtractor (selectable with a control signal)

  26. 4-bit magnitude comparator

Stage 2 – Sequential Basics (introduce clock & processes)

Focus: Registers, counters, synchronous reset, clock enable.

  1. D flip-flop

  2. JK flip-flop

  3. T flip-flop

  4. SR flip-flop

  5. 4-bit register

  6. 8-bit register with load enable

  7. 4-bit shift register (left shift)

  8. 4-bit shift register (right shift)

  9. 4-bit bidirectional shift register

  10. Serial-in serial-out (SISO) shift register

  11. Serial-in parallel-out (SIPO) shift register

  12. Parallel-in serial-out (PISO) shift register

  13. 4-bit synchronous counter (up)

  14. 4-bit synchronous counter (down)

  15. 4-bit up/down counter

  16. Mod-10 counter (BCD counter)

  17. Mod-N counter (parameterized)

  18. Ring counter

  19. Johnson counter

Stage 3 – Memory Elements

Focus: RAM, ROM, addressing.

  1. 8x4 ROM (read-only memory)

  2. 16x4 ROM

  3. 8x4 RAM (write and read)

  4. 16x4 RAM

  5. Simple FIFO buffer

  6. Simple LIFO stack

  7. Dual-port RAM

  8. Register file (4 registers x 8 bits)

Stage 4 – More Complex Combinational Blocks

Focus: Arithmetic, multiplexing, optimization.

  1. 4-bit carry lookahead adder

  2. 8-bit carry lookahead adder

  3. 4-bit barrel shifter

  4. 8-bit barrel shifter

  5. ALU (Arithmetic Logic Unit) – 4-bit version

  6. ALU – 8-bit version

  7. Floating-point adder (simplified)

  8. Floating-point multiplier (simplified)

  9. Parity generator

  10. Parity checker

  11. Population counter (count number of 1s in a vector)

  12. Priority multiplexer

Stage 5 – State Machines & Control Logic

Focus: FSMs, Mealy vs. Moore, sequencing.

  1. Simple traffic light controller (3 lights)

  2. Pedestrian crossing traffic light controller

  3. Elevator controller (2 floors)

  4. Elevator controller (4 floors)

  5. Sequence detector (1011)

  6. Sequence detector (1101, overlapping)

  7. Vending machine controller (coin inputs)

  8. Digital lock system (password input)

  9. PWM generator (pulse-width modulation)

  10. Frequency divider

  11. Pulse stretcher

  12. Stopwatch logic

  13. Stopwatch with lap functionality

  14. Reaction timer game logic

Stage 6 – Interfaces & More Realistic Modules

Focus: Interfacing with peripherals.

  1. UART transmitter

  2. UART receiver

  3. UART transceiver (TX + RX)

  4. SPI master

  5. SPI slave

  6. I2C master (simplified)

  7. PS/2 keyboard interface (read keystrokes)

  8. LED matrix driver (8x8)

  9. VGA signal generator (640x480 test pattern)

  10. Digital thermometer reader (simulated sensor input)

Stage 7 – Larger Integrated Projects

Focus: Combining many modules.

  1. Digital stopwatch with 7-segment display

  2. Calculator (4-bit inputs, basic ops)

  3. Mini CPU (fetch–decode–execute cycle)

  4. Simple stack-based CPU

  5. 8-bit RISC CPU (register-based)

  6. Basic video game logic (Pong scoreboard logic)

  7. Audio tone generator (square wave output)

  8. Music player (note sequence generator)

  9. Data acquisition system (sample + store)

  10. FPGA-based clock (with real-time display)

  11. Mini SoC (CPU + RAM + peripherals)


r/Verilog • • Oct 14 '21

SystemVerilog coding and simulation website, aimed at interview prep

26 Upvotes

A friend and I built a website for practicing SystemVerilog interview questions (similar to Leetcode). Our core coding and simulation features are done, and we’re working to add new questions and make the site look more professional.

Link: chipdev.io

Are there any questions you’d like to see added? Or other areas we can improve in? We’d love to get some feedback on how we can improve the site and make it better for everyone.


r/Verilog • • Nov 06 '24

Mock hardware interviews are back

25 Upvotes

Hello, I'm one of the chipdev.io cofounders. A while ago we launched a mock interview service on our website but had to shut it down to due admin/maintenance costs, see my last post here: https://www.reddit.com/r/FPGA/comments/11xhubg/mock_hardware_interviews_with_faang_engineers/.

Well, I'm excited to announce that I've launched the new and improved version of my mock interview service: https://interviewshark.com. I knew I had to bring this back because we often get questions in our discord about mock interviews after we shut the service down.

Like before, this service is fully anonymous and connects you with our pool of engineers across many disciplines in HW engineering, and across many companies (we have interviewers from Google, Nvidia, Apple for example).

In my day job I'm a software engineer, so I built the collaborative interview platform myself (check it out: interviewshark.com/sandbox) and during a real interview you have access to audio calling, whiteboarding, and a collaborative editor.

If you're interviewing right now, or if you'd like to become a mock interviewer (we're trying to onboard more engineers on our platform) please sign up through the website and I'd be happy to help you out.

I hope you all find this to be a helpful resource, thanks!


r/Verilog • • Jul 01 '26

What is the right roadmap to learn semiconductor design without getting lost?

Post image
23 Upvotes

A lot of students want to enter semiconductor design, but many get confused about where to start.

Some jump directly into physical design.
Some start with RTL.
Some try analog first.
Some only watch videos and collect certificates.

In my opinion, a beginner-friendly roadmap should look something like this:

  1. CMOS Understand transistors, basic circuits, SPICE simulation, and how devices behave.

  2. RTL Learn Verilog, digital logic design, testbenches, and simulation.

  3. Physical Design Understand synthesis, floorplanning, placement, CTS, routing, timing, and how RTL becomes layout.

  4. Physical Verification Learn DRC, LVS, antenna checks, density, PEX, and what it means to make a design tapeout-ready.

For someone who already knows RTL and basic physical design, jumping directly into an internship-style physical design project may make more sense than restarting from zero.

The bigger point is this:

Interest in semiconductors is not enough anymore. Students need proof — GitHub work, simulation results, reports, screenshots, debug notes, and projects they can explain.

Curious to hear from people already working in VLSI / semiconductors:

Would you change this order?
Should beginners start with CMOS first, or RTL first?
What would you tell a student who wants to enter chip design seriously in 2026?


r/Verilog • • Nov 14 '24

ChiGen: a Verilog Fuzzer to test EDA Tools

22 Upvotes

Dear redditors,

We have been working on the design and development of a Verilog Fuzzer: ChiGen. It started as a research project sponsored by Cadence Design Systems to test the Jasper Formal Verification Platform, and is now fully open source.

For a sample of the programs that ChiGen can produce, check this folder. ChiGen uses a probabilistic context-free grammar that can be retrained with any number of examples (the K in the folder is the length of the sequence of production rules associated with a probability).

For instructions on how to install and use ChiGen, we have a video and a short README.

The current grammar probabilities distributed with ChiGen were taken from 10,000 examples of Verilog programs mined from open-source repositories with permissible licenses.

Programs produced with ChiGen have already been used to report issues to several well-known EDA tools. At this point, we are looking for more users, contributors and feedback.


r/Verilog • • Sep 05 '24

PCIE learning resource and open source project to contribute

21 Upvotes

Hi, I am looking for resources to learn the PCIE. The goal is to get enough understanding to intehlgrate and verify PCIE in designs. Kindly share useful resources.

If there are any open source projects I can contribute to that will be a plus.


r/Verilog • • Sep 09 '26

My HDL Coder-generated FIR filter passed its own generated testbench for 6 years. The output was just the sign bit.

Post image
20 Upvotes

In 2020 I built a FIR band-pass filter for a university course: designed the response in MATLAB, generated the Verilog with Filter Design HDL Coder, ran the generated testbench, zero errors, submitted, put it on GitHub. It got forked 8 times.

Last week I read it properly for the first time since. The 51-tap design doesn't filter anything. Its output is the sign of the accumulator and nothing else.

The cause was two boxes on the "Specify Precision" tab. I'd set the output to s8,32 – 8 bits, 32 fractional bits, i.e. a range of ±2.98e-8 – fed from an s20,20 accumulator with a range of ±0.5. That's 2^24 times narrower than the thing feeding it. The generated conversion saturates for literally every non-zero value:

assign output_typeconvert =
        (sum50[19] == 1'b0 & sum50[18:0] != 19'b0) ? 8'b01111111 :
        (sum50[19] == 1'b1 && sum50[18:0] != 19'b1111111111111111111) ? 8'b10000000 :
        $signed({sum50[19], 7'b0000000});

Sweep the whole accumulator range through that and you get exactly two values: -128 and +127.

The part that actually bothers me is the testbench. It's 7,000 generated lines, 3,429 stimulus samples, a checker, an error counter. I counted the distinct values in its expected-output array:

8'h80 (-128):  1765
8'h7f (+127):  1607
8'h00 (0):       57

That's the entire golden reference. MATLAB generated the vectors from the same fixed-point spec that produced the RTL, so the model and the implementation agreed perfectly – they were wrong in exactly the same way. A generated testbench is a self-consistency check, not a correctness check. If the spec is wrong, the golden data encodes the mistake with perfect fidelity and reports zero errors.

The 11-tap serial design in the same repo had a quieter bug: accumulator s26,24 (range ±2) with wrap-on-overflow, but sum|h| = 2.375. A full-scale sine at the centre frequency clears it by 1.4% so it looks fine. A square wave at the same frequency wraps on 191 of 400 samples, and because it wraps rather than saturates the sample comes back sign-inverted:

FAIL sample 12: filter_out = 1744840192, expected -2550127104

Fixes were one word length each (output = the accumulator; accumulator gets one more bit). The real fix was replacing the stored-vector bench with one that checks against an independent reference model – impulse response must equal the coefficients, output must match a 64-bit integer model under square/random/worst-case-sign stimulus – plus a three-line check that the output takes more than 3 distinct values. Both benches fail on the 2020 RTL and pass on the fixed one.

Full write-up with the plots and the before/after RTL:

https://abdullahansarii.medium.com/my-fir-bandpass-filter-passed-its-own-testbench-for-six-years-it-was-a-sign-detector-7bc1fecfa2df

Repo (make sim runs everything under Icarus in a few seconds):

https://github.com/AbdullahAnsarii/BandPassFilter

If you've got generated HDL sitting next to a generated testbench that passes: check sum|h| against your accumulator range, and count the distinct values on your output. Took me six years.


r/Verilog • • Aug 08 '24

Verilog Package Manager

20 Upvotes

I'm a Stanford student who previously designed ASICs at a startup and also dabbled in FPGAs.

I built a Verilog Package Manager to address some issues with IP re-use. Its basically the equivalent of pip install, because installing a top-level module automatically installs submodules, handles synthesis collateral, generates .vh headers, etc.

Within 2 days of launch it has received interest and feature requests from Neuralink and Samba Nova engineers. I'm trying to make this big but practical.

Repo link: https://github.com/getinstachip/vpm

Can you guys please shit on this in the comments? I'll fix each issue with a few hours. Looking for genuinely candid feedback and potential contributors. I'll add people who are interested to a Discord server.


r/Verilog • • Jul 20 '26

A Visual Roadmap from Specification to Silicon and Product

Post image
18 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 • • Apr 02 '26

Verilog WHYYYYY

Post image
17 Upvotes

r/Verilog • • Sep 29 '25

Simview - terminal-based SystemVerilog design tree browser and wave viewer.

Thumbnail
github.com
17 Upvotes

MIT licensed. Serves a similar purpose as the Incisive or Verdi commercial tools.

Full design elaboration, and attached wave data. Supports VCD/FST from verilator.


r/Verilog • • Sep 15 '25

From AND Gates to CPUs: My 100-Project VHDL Journey (Update 1)

17 Upvotes

Hi everyone!

Stage One of the VHDL 100 Projects is now complete! 🎉

This stage covers basic combinational logic and early arithmetic modules, including logic gates, multiplexers, decoders, adders, and comparators.

Quick updates:

  • Starting from Project #18, I began using self-checking testbenches for easier and automated verification.

  • Project #26 is still in progress; I’m finalizing its testbench, and it should be fully released tonight.

All projects are fully synthesizable, ModelSim-verified, and open-source (MIT).

You can explore the repository here:
https://github.com/TheChipMaker/VHDL-100-Projects

Next up: Stage Two, focusing on sequential circuits, flip-flops, registers, and more complex modules on the path to CPUs and SoCs.

Too lazy to open the repo? Here’s the full 100-project list for you:

Stage 1 – Combinational Basics (no clock yet)

Focus: Boolean logic, concurrent assignments, with select, when, generate.

  1. AND gate

  2. OR gate

  3. NOT gate

  4. NAND gate

  5. NOR gate

  6. XOR gate

  7. XNOR gate

  8. 2-input multiplexer (2:1 MUX)

  9. 4-input multiplexer (4:1 MUX)

  10. 8-input multiplexer (8:1 MUX)

  11. 1-to-2 demultiplexer

  12. 1-to-4 demultiplexer

  13. 2-to-4 decoder

  14. 3-to-8 decoder

  15. Priority encoder (4-to-2)

  16. 7-segment display driver (for 0–9)

  17. Binary to Gray code converter

  18. Gray code to binary converter

  19. 4-bit comparator

  20. 8-bit comparator

  21. Half adder

  22. Full adder

  23. 4-bit ripple carry adder

  24. 4-bit subtractor

  25. 4-bit adder-subtractor (selectable with a control signal)

  26. 4-bit magnitude comparator

Stage 2 – Sequential Basics (introduce clock & processes)

Focus: Registers, counters, synchronous reset, clock enable.

  1. D flip-flop

  2. JK flip-flop

  3. T flip-flop

  4. SR flip-flop

  5. 4-bit register

  6. 8-bit register with load enable

  7. 4-bit shift register (left shift)

  8. 4-bit shift register (right shift)

  9. 4-bit bidirectional shift register

  10. Serial-in serial-out (SISO) shift register

  11. Serial-in parallel-out (SIPO) shift register

  12. Parallel-in serial-out (PISO) shift register

  13. 4-bit synchronous counter (up)

  14. 4-bit synchronous counter (down)

  15. 4-bit up/down counter

  16. Mod-10 counter (BCD counter)

  17. Mod-N counter (parameterized)

  18. Ring counter

  19. Johnson counter

Stage 3 – Memory Elements

Focus: RAM, ROM, addressing.

  1. 8x4 ROM (read-only memory)

  2. 16x4 ROM

  3. 8x4 RAM (write and read)

  4. 16x4 RAM

  5. Simple FIFO buffer

  6. Simple LIFO stack

  7. Dual-port RAM

  8. Register file (4 registers x 8 bits)

Stage 4 – More Complex Combinational Blocks

Focus: Arithmetic, multiplexing, optimization.

  1. 4-bit carry lookahead adder

  2. 8-bit carry lookahead adder

  3. 4-bit barrel shifter

  4. 8-bit barrel shifter

  5. ALU (Arithmetic Logic Unit) – 4-bit version

  6. ALU – 8-bit version

  7. Floating-point adder (simplified)

  8. Floating-point multiplier (simplified)

  9. Parity generator

  10. Parity checker

  11. Population counter (count number of 1s in a vector)

  12. Priority multiplexer

Stage 5 – State Machines & Control Logic

Focus: FSMs, Mealy vs. Moore, sequencing.

  1. Simple traffic light controller (3 lights)

  2. Pedestrian crossing traffic light controller

  3. Elevator controller (2 floors)

  4. Elevator controller (4 floors)

  5. Sequence detector (1011)

  6. Sequence detector (1101, overlapping)

  7. Vending machine controller (coin inputs)

  8. Digital lock system (password input)

  9. PWM generator (pulse-width modulation)

  10. Frequency divider

  11. Pulse stretcher

  12. Stopwatch logic

  13. Stopwatch with lap functionality

  14. Reaction timer game logic

Stage 6 – Interfaces & More Realistic Modules

Focus: Interfacing with peripherals.

  1. UART transmitter

  2. UART receiver

  3. UART transceiver (TX + RX)

  4. SPI master

  5. SPI slave

  6. I2C master (simplified)

  7. PS/2 keyboard interface (read keystrokes)

  8. LED matrix driver (8x8)

  9. VGA signal generator (640x480 test pattern)

  10. Digital thermometer reader (simulated sensor input)

Stage 7 – Larger Integrated Projects

Focus: Combining many modules.

  1. Digital stopwatch with 7-segment display

  2. Calculator (4-bit inputs, basic ops)

  3. Mini CPU (fetch–decode–execute cycle)

  4. Simple stack-based CPU

  5. 8-bit RISC CPU (register-based)

  6. Basic video game logic (Pong scoreboard logic)

  7. Audio tone generator (square wave output)

  8. Music player (note sequence generator)

  9. Data acquisition system (sample + store)

  10. FPGA-based clock (with real-time display)

  11. Mini SoC (CPU + RAM + peripherals)


r/Verilog • • Jan 09 '23

Leetcode inspired platform for Hardware Engineers

16 Upvotes

I'm excited to announce the launch of my new platform to help hardware engineers prepare for tech interviews. The platform is inspired from what has worked well in the software industry and tries to draw parallels with Leetcode and AlgoExpert.

This platform is designed to help you develop a strong understanding of RTL design concepts and HDL coding techniques, and provides a hands-on learning console with simulations that can be run directly in your browser. The platform is delivered as a set of 25 problems covering a wide range of hardware design topics, including RTL design principles, coding techniques and best practices. Each of these 25 problems come with well written RTL solutions and a video explanation covering microarchitecture overview and line-by-line RTL walkthrough.

One of the unique features of the platform is the ability to simulate problems written either in System Verilog, Verilog or VHDL and test your solutions directly in your browser. This allows you to immediately see the results of your code and make adjustments as needed, providing a more interactive and engaging learning experience.

Whether you're a beginner looking to get started with RTL design, or an experienced designer looking to sharpen your skills and prepare for next interview, this platform has something to offer.

Sign up now to start learning and mastering RTL design!

Check it out today at https://quicksilicon.in

There are 3 problems freely available but needs you to sign-in if you wish to simulate your HDL code. Here is the link to those problems:

Easy: https://quicksilicon.in/course/rtl-design/module/sequence-generator

Medium: https://quicksilicon.in/course/rtl-design/ module/events-to-apb/

Hard: https://quicksilicon.in/course/rtl-design/module/fifo-flush

Would be super happy to hear feedback on the platform.


r/Verilog • • 24d ago

How can I learn Verilog?

15 Upvotes

How can I learn Verilog?

I’m a third-year Electronics and Communications Engineering student. I’m interested in this field and really want to work in it but I feel like I’ve never been good at programming. In the labs I’ve taken so far and the projects I’ve designed, the code I’ve written has always been 90% AI and at best 10% my own work. When it comes to bigger or more complex modules I automatically get scared

The other day when I went to see my professor for a project in the Digital Design with FPGAs course, he asked me about some of my modules, and I just stood there staring at him.

I worked really hard on the digital design course from the previous semester and passed it with flyin colors, but when it came to writing code, I am a real FAIL. I know I can fix this—I’m open to your advice. I really want to work in R&D, FPGAs, AI, Communications


r/Verilog • • Oct 04 '26

Verilog Learning Resources

15 Upvotes

For the past few months I was looking everywhere to find some resources to learn Verilog while also building projects. After a lot of time spent online, I was able to find some really good resources that would help you understand it by also helping you build projects alongside.

You would require any pre-requisites for the following courses, but you'll be able to understand them fairly well considering they're some excellent resources.

First one are the Onur Mutlu Lectures on Digital Design and Computer Architecture. This will help build the concept that'll be applied in your codes.

The second one is Digital Circuit Design using Verilog lectures by Anas Salah Eddin. His lectures are very detailed and simple to understand. He also builds several projects such as FIFO and UART by the end of the playlist.

The final resource I would suggest is the popular DDCA Book by Harris and Harris (whichever edition you'd prefer, MIPS, ARM, RISC-V)

It isn't mandatory for you to follow these resources in order, but I'd suggest you to cover either the book or Onur Mutlu's Lectures before jumping on to Verilog lectures, or at least build a proper conceptual base, since that would help you to follow through those Verilog lectures.

Though the lectures follow with Verilog, the book provides SystemVerilog examples and exercises. They aren't much different from one another. Once you've understood Verilog, there's barely much to do for SV.

I hope someone who needs these resources finally finds them, just like I was looking for them a few months ago.


r/Verilog • • Aug 25 '26

Student Looking for Verilog to VLSI Roadmap & Book Recommendations

15 Upvotes

Hello everyone,
I am starting my journey into VLSI engineering and want to master Verilog (HDL) from the absolute basics up to advanced application-level concepts.

My goal is to build strong foundational knowledge so I can eventually transition into front-end RTL design/verification. My Background:

  • 3rd-year Electronics undergraduate student

  • My current knowledge of digital logic is basic gates only Suggest a best book to learn Verilog completely


r/Verilog • • Aug 16 '26

Where to Learn AXI4-Lite

15 Upvotes

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


r/Verilog • • Feb 21 '26

Best 100% FREE resources for learning Verilog in 2026?

15 Upvotes

I'm a student/beginner and I'm really interested in digital design, but I have a $0 budget. I'm looking for high-quality free resources to learn Verilog from scratch.

Specifically looking for:

  • Free interactive platforms (like HDLBits).

  • Open-source simulators I can run on my own PC (heard about Icarus Verilog).

  • Free YouTube series or courses that explain synthesizable code vs simulation code.

Are there any hidden gems or "gold standard" free tutorials I should follow? Thanks!


r/Verilog • • Apr 02 '23

FREE Verilog course for beginners

15 Upvotes

I have a present 🎁 for Verilog beginners who want to jump-start their skills for FPGA/ASIC Design and Verification.

Build a solid Verilog foundation so you can implement your faculty projects or pass an interview as a Junior Design/Verification Engineer!

Feel free to share the code with others (code expires in 2 days).

https://www.udemy.com/course/verilog-hdl-fundamentals-for-digital-design-and-verification/?couponCode=EASYVERILOG1

P.S. I would be very grateful if you could leave a nice 5* review to the course 🙏


r/Verilog • • Oct 30 '21

WEBSITE FOR DIGITAL DESIGN PRACTICE

14 Upvotes

Hello everyone!

We have been developing a web app for improving your digital design skills. We've put out a number of problems, with different difficulties, and also from different work areas. We differentiated tasks from these categories:

  • Common

  • Integration

  • FSM

  • Networking

  • Communication peripherals (UART, I2C, SPI)

  • Scheduling

  • CPU architecture (these tasks are arriving next)

and more are to come.

Users are expected to write their RTL in Verilog/SystemVerilog (at the moment, idea is to support VHDL in near future), and debug it using our waveform viewer. Waveforms are generated based on your text input, which describes how inputs to design should act (most tasks have unique inputs).

The site is located at bitsolver.io

We would like to hear feedback from you, suggestions for improvement, or some problem you’d like to see among the assignments? We are interested in hearing how easy/hard it is to debug using the current setup. Feel free to write us [email protected], join on discord BitSolver, and follow us r/bitsolver.

* We apologize, but as the site is in a development phase, bugs are highly possible and it isn't currently available on Safari browser and is intended to be used from desktop. We will fix this in the following updates. :)


r/Verilog • • Feb 25 '26

Moving from Verilog to SystemVerilog for Verification – Recommended Resources?

13 Upvotes

Hey everyone,

I’ve got a solid handle on Verilog (RTL, FSMs, basic testbenches) and I’m ready to start learning SystemVerilog for verification. Since I already know the design side, I want to start from the beginning of the SV verification features to make sure I don't have any gaps.

I’m looking for:

  1. Books: I prefer deep-dive reading for the conceptual stuff (OOP, randomization, coverage). Any recent or classic titles that handle the transition from Verilog well?

  2. Websites/Labs: Any interactive sites or structured tutorials where I can actually write and run code?

I’m looking to go from "I can write a module" to "I can build a proper verification environment." If you’ve made this jump recently, what worked best for you?

Thanks!


r/Verilog • • Oct 20 '24

Swapping contents of two registers using a temporary register

Post image
13 Upvotes

I saw this in https://www.chipverify.com/. Is it correct? I would say the last line is wrong. Shouldn't it be a = temp?