Verilog Notes.           Peter Halverson Last update 3/13/2020
http://halverscience.net/index.html

Link to latest notes on Google Docs:
https://docs.google.com/document/d/1AlQgoPWa6F7ZnegRtAfiRT7eDqfGJjta0IMZMbRfKfI/edit?usp=sharing

These are Halverson's personal notes. They are unedited and there is no guarantee of accuracy.  Use at your own risk. I am making them available to you because they might actually be helpful.  If they are helpful, I would really appreciate a "thank you". 

Currently learning on NandLand board.
https://www.nandland.com/
HIGHLY RECOMMENDED for beginners!!!

Ideas for next-steps in development boards

Lattice ECP-5 Development Board.  $100 Uses Lattice Diamond software.
http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/ECP5EvaluationBoard

Lattice ICE40 Ultraplus breakout board  $50
http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/iCE40UltraPlusBreakoutBoard
or  iCE40 UltraPlus MDP IoT connectivity and computing development platform $100
http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/iCE40UltraPlusMobileDevPlatform



Fast ADC:   Analog Devices LTC2274.    105 MHz, 16 bits
https://www.analog.com/en/products/ltc2274.html#product-overview

Development board DC1151A-C 70 MHz, 16 bit.   $200 (There is a $300 usb interface for it)
https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/dc1151a-c.html#eb-overview

Digikey has a good list of ADC evaluation boards.  Select the "active" ones.
https://www.digikey.com/products/en/development-boards-kits-programmers/evaluation-boards-analog-to-digital-converters-adcs/791





Operators:  Basic Math: + - * /  Modulus % Power (exponent) **

Comparison:  Basic: < > >= <=    Equal: == Not equal: !=   ?: === !===

Bitwise:  Not: ~ And : &  Or: | Xor: ^ Xnor: ^~ or ~^

Concatenation: { , }


USEFUL!    Strict checking of whether wires/registers have been properly declared:
`default_nettype none     // Use this to find undeclared wires.  Remove later.

Discussion of System Verilog:
https://verilogguide.readthedocs.io/en/latest/verilog/systemverilog.html

Discussion of data types in Verilog:
https://verilogguide.readthedocs.io/en/latest/verilog/datatype.html

Discussions of signed arithmetic:
https://excamera.com/sphinx/fpga-verilog-sign.html
http://billauer.co.il/blog/2012/10/signed-arithmetics-verilog/           (Useful comments about how signed numbers are converted to unsigned by adding an extra bit.)

Series of lectures on Verilog:
http://web.engr.oregonstate.edu/~traylor/ece474/beamer_lectures/

Another lecture on Verilog (from MIT)
http://web.mit.edu/6.111/www/f2017/handouts/L03_4.pdf