GithubHelp home page GithubHelp logo

thuvasooriya / sv-modules Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 369 KB

verilog and system verilog modules and code examples

License: MIT License

SystemVerilog 80.02% Verilog 16.80% Just 3.16% Makefile 0.02%
fsm hdl modules systemverilog verilog

sv-modules's Introduction

sv modules

this repo culminates the system verilog code i've written used and found useful over the years to find the best practices and gotchas. consists of mostly simple modules.

simulations are primarily done by iverilog (verilog test benches) and verilator (cpp testbenches)

i don't think we have clear distinction between verilog and systemverilog anymore, i mean both languages are from the ieee-1800 standard anyways when you run iverilog without any -g flags it follows the 2005 standard which was the last standard before the 2009 standard, which introduced systemverilog. if you want to test your verilog skills that's the way to go (no flags or -g2005). but hey, no promises.

i'll be doing the simulations for sv testbenches with -g2012 to keep my sanity

todo

  • finish with 0110 (systemverilog) and 1010 (verilog) sequence detectors
  • find out other state machine types and implement a testbench for the sequence detector
  • cleanup maxpooling code and implement and document it as a proper module
  • experiment with cocotb on another branch

conventions used in this repo

  • usual module name = file name conventions are followed
  • testbenches are named modulename_tb and kept in the same directory as the module
  • all inputs and outputs must be mentioned separately and type defined, makes it easier for writing documentation too

verilog ramblings

  • there are so many fucking ways to write a verilog module and the standards are never followed completely by any damn tool so good luck finding what code does what magic

systemverilog ramblings

  • same problems with verilog magnified with all the non synthesizable part added to this
  • ieee 1800 standard describes systemverilog and recently 2023 standard was also introduced
  • no opensource software has full compliance with even ieee-1800-2017 and i'm absolutely certain that even closed source ones that cost an arm and a leg are not either. so good fucking luck again

sv-modules's People

Contributors

thuvasooriya avatar

Watchers

 avatar

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.