├── Getting Started with Verilog-SystemVerilog.sv └── README.md /Getting Started with Verilog-SystemVerilog.sv: -------------------------------------------------------------------------------- 1 | Code samples & snippets coming soon! 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |
4 | Verilog/SystemVerilog Guide 5 |

6 | 7 | 8 | followers 9 | 10 | ![Maintenance](https://img.shields.io/maintenance/yes/2024?style=for-the-badge) 11 | ![Last-Commit](https://img.shields.io/github/last-commit/mikeroyal/verilog-systemverilog-guide?style=for-the-badge) 12 | 13 | #### A guide covering Verilog & SystemVerilog including the applications, libraries and tools that will make you a better and more efficient developer by having a better understanding of how hardware works on the lowest level. 14 | 15 | **Note: You can easily convert this markdown file to a PDF in [VSCode](https://code.visualstudio.com/) using this handy extension [Markdown PDF](https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf).** 16 | 17 |

18 | 19 |
20 |

21 | 22 | # Verilog/SystemVerilog Learning Resources 23 | 24 | [Verilog](https://verilog.com/) is a Hardware Description Language(HDL) used to design and document electronic systems. Verilog HDL allows designers to design at various levels of abstraction. 25 | 26 | [SystemVerilog](https://www.systemverilog.io/) is an extension of Verilog with many of the verification features that allow engineers to verify the design using complex testbench structures and random stimuli in simulation. 27 | 28 | [Verilog Book Shelf](https://verilog.com/v-books.html) 29 | 30 | [Verilog HDL Basics training from Intel](https://www.intel.com/content/www/us/en/programmable/support/training/course/ohdl1120.html) 31 | 32 | [SystemVerilog for Design and Verification](https://www.cadence.com/en_US/home/training/all-courses/82143.html) 33 | 34 | [Verilog HDL Programming Courses on Udemy](https://www.udemy.com/topic/verilog-hdl-programming/) 35 | 36 | [Top Verilog Programming Courses on Coursera](https://www.coursera.org/courses?query=verilog) 37 | 38 | [Verilog course for Engineers on Technobyte](https://technobyte.org/verilog-course-tutorials/) 39 | 40 | [Verilog Tutorials and Courses on hackr.io](https://hackr.io/tutorials/learn-verilog) 41 | 42 | [Designing With Verilog Certification from the Xilinx Learning Center](https://xilinxprod-catalog.netexam.com/Certification/35916/designing-with-verilog) 43 | 44 | [Learning Verilog for FPGA Development on LinkedIn Learning](https://www.linkedin.com/learning/learning-verilog-for-fpga-development) 45 | 46 | [SystemVerilog tutorial on ChipVerify](https://www.chipverify.com/systemverilog/systemverilog-tutorial) 47 | 48 | # Verilog/SystemVerilog Tools & Frameworks 49 | 50 | [Apio](https://github.com/FPGAwars/apio) is a multiplatform toolbox, with static pre-built packages, project configuration tools and easy command interface to verify, synthesize, simulate and upload your verilog designs. 51 | 52 | [IceStorm](https://github.com/YosysHQ/icestorm) is a project that aims at documenting the bitstream format of Lattice iCE40 FPGAs and providing simple tools for analyzing and creating bitstream files. 53 | 54 | [Icestudio](https://icestudio.io/) is a visual editor for open FPGA boards. Built on top of the Icestorm project using Apio. 55 | 56 | [EDA Playground](https://www.edaplayground.com) is a online code for programming your Verilog projects. 57 | 58 | [PlatformIO](https://platformio.org/) is a professional collaborative platform for embedded development with no vendor lock-in. It provides support for multiplatforms and frameworks such as IoT, Arduino, CMSIS, ESP-IDF, FreeRTOS, libOpenCM3, mbed OS, Pulp OS, SPL, STM32Cube, Zephyr RTOS, ARM, AVR, Espressif (ESP8266/ESP32), FPGA, MCS-51 (8051), MSP430, Nordic (nRF51/nRF52), NXP i.MX RT, PIC32, RISC-V. 59 | 60 | [PlatformIO for VSCode](https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide) is a plugin that provides support for the PlatformIO IDE on VSCode. 61 | 62 | [LLVM](https://llvm.org/) is a collection of modular and reusable compiler and toolchain technologies. It can be used to develop a front end for any programming language and a back end for any instruction set architecture(ISA). LLVM code representation is designed to be used in three different forms: as an in-memory compiler IR, as an on-disk bitcode representation (suitable for fast loading by a Just-In-Time compiler), and as a human readable assembly language representation. 63 | 64 | [Chisel](https://www.chisel-lang.org/) is a hardware design language that facilitates advanced circuit generation and design reuse for both ASIC and FPGA digital logic designs. Chisel adds hardware construction primitives to the [Scala](https://www.scala-lang.org/) programming language, providing designers with the power of a modern programming language to write complex, parameterizable circuit generators that produce synthesizable Verilog. 65 | 66 | [Clash compiler](https://www.clash-lang.org/) is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. The Clash compiler transforms these high-level descriptions to low-level synthesizable VHDL, Verilog, or SystemVerilog. 67 | 68 | [Verilator](https://verilator.org/) is an open-source SystemVerilog simulator and lint system. 69 | 70 | [Verilog to Routing(VTR)](https://verilogtorouting.org/) is a collaborative project to provide a open-source framework for conducting FPGA architecture and CAD Research & Development. The VTR design flow takes as input a Verilog description of a digital circuit, and a description of the target FPGA architecture. 71 | 72 | [Cascade](https://github.com/vmware/cascade) is a Just-In-Time Compiler for Verilog from VMware Research. Cascade executes code immediately in a software simulator, and performs compilation in the background. When compilation is finished, the code is moved into hardware, and from the user’s perspective it simply gets faster over time. 73 | 74 | [OpenTimer](https://github.com/OpenTimer/OpenTimer) is a High-Performance Timing Analysis Tool for VLSI Systems. 75 | 76 | 77 | ## Contribute 78 | 79 | - [x] If would you like to contribute to this guide simply make a [Pull Request](https://github.com/mikeroyal/Verilog-SystemVerilog-Guide/pulls). 80 | 81 | 82 | ## License 83 | 84 | Distributed under the [Creative Commons Attribution 4.0 International (CC BY 4.0) Public License](https://creativecommons.org/licenses/by/4.0/). 85 | --------------------------------------------------------------------------------