Saint's Log

10Sep/170

Common Verilog Mistakes by SystemVerilog Newbies

As part of my HDL Digital Design course at the University of Wyoming, I have to implement various modules using Verilog. Interestingly, the course textbook (Digital Design and Computer Architecture) uses SystemVerilog. This leaves an HDL newbie like me in an interesting spot since I tend to make assumptions about Verilog based on what I've seen in SystemVerilog, even though the latter is newer. Some common newbie issues I ran into (that were easily resolved by finding examples of Verilog modules):

  1. Declaring inputs as "input xyz[3:0]" instead of "input [3:0]xyz".
  2. Trying to use assertions. It was quite surprising to me that assertions as explained in SystemVerilog weren't "a thing" in Verilog. Some digging around led me to this article discussing assertions (and implying there wasn't a direct way to assert facts in Verilog).
  3. Concatenating values
  4. No assertions? What... oh, I guess I already mentioned that, but I'm new to this HDL arena.

I guess I could have been more diligent in my search for Verilog tutorials for beginners (like this one) to alleviate all the annoyances I ran into assuming that learning SystemVerilog would translate in a completely seamless transition into writing Verilog code. Oh well, I guess learning a new language doesn't always involve taking the most efficient path from A to B.

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

No trackbacks yet.