Git Product home page Git Product logo

hdls-intro's Introduction

Verilog-Code

This repository is an effort to make an introduction in SystemVerilog.

Start from Verilog folder first:

graph TD;
    Verilog-->SystemVerilog;
    Verilog-->Verilog-A;
    Verilog-A-->Verilog-AMS;
    SystemVerilog-->SystemVerilog-AMS;
    Verilog-AMS-->SystemVerilog-AMS;
Loading

To Do List

  • fix the readme
  • fix the site make it more readable if possible use a Framework
  • add circuits to acompany the verilog snipets
  • continue the tutorial
  • add more resources

Basic differences

Verilog (HDL | digital | Icarus Verilog)

  • modules

    • input/output/inout

    • reg/wire

    • always block

    • assign

  • testbenches(also modules)

    • timescale

    • always block for clk

    • initial block

SystemVerilog (HDL | digital | Modelsim)

  • modules

    • input/output/inout (do not use: inout)

    • reg/wire/logic (use: logic)

    • always/ always_comb/always_ff blocks (do not use: always block)

    • assign

  • testbenches(also modules)

    • timescale (do not use)

    • always block for clk (prefer this)

    • initial block

    • task

Verilog-A (analog | LTSPICE)

  • modules

    • input/output/inout

    • electrical

    • analog / analog function blocks (prefer: analog block)

    • assign

  • testbench is a circuit (must be drawn)

Verilog-AMS (analog + digital | QUCS Studio)

  • modules

    • input/output/inout

    • reg/wire/electrical

    • always/ always_comb/always_ff blocks (do not use: always block)

    • analog / analog function blocks (prefer: analog block)

    • assign

  • include :

    • constants.vams

    • disciplines.vams

  • testbench is a circuit (must be drawn)

Sources that helped me starting learning HDL:

No. Sources Verilog SystemVerilog UVM VHDL SystemC
1 https://fpgatutorial.com/ ✔️ ✔️ ✔️ ✔️
2 https://www.doulos.com/knowhow/ ✔️ ✔️ ✔️ ✔️
3 https://verificationguide.com/ ✔️ ✔️ ✔️
4 https://www.chipverify.com/ ✔️ ✔️ ✔️
5 https://www.systemverilog.in/p/systemverilog-tutorial.html ✔️ ✔️
6 https://www.fpga4student.com/ ✔️ ✔️
7 https://github.com/JeffDeCola/my-verilog-examples ✔️
8 https://systemverilogdesign.com/tag/multiply/ ✔️ ✔️
9 Digital Design , M. Morris Mano and Michael Ciletti , 6th Ed. ✔️ ✔️ ✔️
10 Digital Design , William J. Dally and R. Curtis Harting ✔️
... ... ... ... ... ... ...

Additional information:

  1. Configuration instructions:

    • No configurations necessary.
  2. Installation instructions:

  3. Operating instructions:

    • Add Icarus Verilog to PATH.
    • Always use flag: -g2012
  4. A file manifest (list of files included):

    Verilog

    > intro

    > tutorial

    Verilog-A

    > intro

    > tutorial

    Verilog-AMS

    > intro

    > tutorial

    SystemVerilog

    > course-material

    > tutorial

    > projects

  5. Copyright and licensing information:

    • See sources table.
  6. Contact information:

    • git
    • mail
  7. Known bugs:

    • No bugs yet.
  8. Troubleshooting:

    • See each folder.
  9. ToDo list:

  • Fix folders
  • Add simple examples
  • add basic modules
  • add comments
  • add testbenches with multiple tests and add explaination
  • complete the readme files
  • find projects and create folders with readme files explaining the project

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.