eda playground

Download Eda Playground

Post on 30-Sep-2015

249 views

Category:

Documents

8 download

Embed Size (px)

DESCRIPTION

f,d;ls,;lds,;ls,d

TRANSCRIPT

  • EDA Playground DocumentationRelease

    Doulos

    April 10, 2015

  • Contents

    1 Table of Contents: 31.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Settings & Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4 Yosys Circuit Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.5 Tutorials and Code Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.6 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.7 Privacy Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    i

  • ii

  • EDA Playground Documentation, Release

    EDA Playground on YouTube - Tutorials for Verilog, SystemVerilog, UVM, and VHDL, interview questions, newsand features, etc.

    EDA Playground web application located at http://www.edaplayground.com/EPWave documentation located at http://epwave.readthedocs.org

    Contents 1

  • EDA Playground Documentation, Release

    2 Contents

  • CHAPTER 1

    Table of Contents:

    1.1 Introduction

    EDA Playground on YouTube - Tutorials for Verilog, SystemVerilog, UVM, and VHDL, interview questions, newsand features, etc.

    1.1.1 Overview

    EDA Playground gives engineers immediate hands-on exposure to simulating SystemVerilog, Verilog, VHDL,C++/SystemC, and other HDLs. All you need is a web browser. The goal is to accelerate learning of design/testbenchdevelopment with easier code sharing, and with simpler access to EDA tools and libraries. EDA Playground is specif-ically designed for small prototypes and examples.

    With a simple click, run your code and see console output in real time. Pick another simulator version and runit again.

    View waves for your simulation using EPWave browser-based wave viewer.

    Save your code snippets. Share your code and simulation results with a web link. Perfect for web forumdiscussions or emails. Great for asking questions or sharing your knowledge.

    Quickly try something out

    Try out a SystemVerilog feature before using it on your project.

    Try out a library that youre thinking of using.

    Modify another engineers shared code and re-run it.

    Eliminate environment differences. Since the code always executes in the same environment, everyone will seethe same result on a subsequent re-run.

    Browse and use a large repository of working code examples and templates.

    3

  • EDA Playground Documentation, Release

    1.1.2 Example Usecases

    Quick prototyping try out syntax or a library/language feature before using it in a large code base.

    When asking questions on Stack Overflow or other online forums, attach a link to the code and simulationresults.

    Use during technical interviews to test candidates SystemVerilog/Verilog coding and debug skills.

    Run anywhere. When away from your work machine, you can still try a quick prototype on EDA Playground.

    Try verifying using different verification frameworks: UVM, SVUnit, plain Verilog, or Python.

    Create an HDL and Verification Lab for young engineers, with the code hosted on EDA Playground. Studentscan work from home at their own pace, and run the lab samples on EDA Playground.

    Quickly check whether your code is synthesizable or emulator-friendly.

    1.1.3 Tools & Simulators

    For settings and options documentation, see Tools & Simulators Options

    Available tools and simulators are below. EDA Playground can support many different tools. Contact us to add yourEDA tool to EDA Playground.

    Simulators

    Riviera-PRO

    Commercial simulator that supports ALL SystemVerilog and VHDL features. Supports PSL.

    riviera-pro

    4 Chapter 1. Table of Contents:

  • EDA Playground Documentation, Release

    Riviera-PRO Product Manual (registration required)

    Icarus Verilog

    Version 0.10.0 (devel) supports several SystemVerilog features.

    GPL Cver

    VeriWell

    Compilers and Interpreters

    C++

    Perl

    Python

    Csh (C Shell)

    Synthesis Tools

    NOTE: The synthesis tools will only process code in the right Design pane. The code in the left Testbench pane willbe ignored.

    Yosys

    Yosys on GitHub

    The Verilog-to-Routing (VTR) Project

    On private EDA Playground

    EDA Playground may be deployed on a private company/university network. For such a private deployment, anyadditional simulators/tools may be added. The company/university must have licenses for the commercial tools to beadded.

    1.1.4 Libraries & Methodologies

    For settings and options documentation, see Languages & Libraries Options

    Available libraries and methodologies:

    SystemVerilog and Verilog

    UVM - Universal Verification Methodology

    UVM 1.2 Class Reference

    * Whats New in UVM 1.2 on YouTube

    UVM 1.1d Class Reference

    OVM - Open Verification Methodology

    OVM 2.1.2 Class Reference

    OVM 2.1.2 User Guide

    1.1. Introduction 5

  • EDA Playground Documentation, Release

    SVUnit - unit testing framework for Verilog/SystemVerilog modules, classes, etc.

    SVUnit on SourceForge

    OVL - Open Verification Library

    OVL Library Reference Manual

    OVL Quick Reference

    ClueLib - A generic class library in SystemVerilog

    ClueLib API Documentation

    svlib - A Programmers Utility Library for SystemVerilog

    svlib User Guide

    VHDL

    OVL - Open Verification Library

    OVL Library Reference Manual

    OVL Quick Reference

    PSL - Property Specification Language

    Natively supported by Riviera-PRO

    OSVVM - Open Source VHDL Verification Methodology

    C++

    SystemC - system level design and simulation in C++

    SystemC 2.3.1 Class Reference

    TLM 2.0 Class Reference

    Python

    MyHDL - a Python based hardware description language (HDL)

    MyHDL Manual

    MyHDL on Bitbucket

    Migen - a Python toolbox for building complex digital hardware

    Migen on GitHub

    Migen from M-Labs

    cocotb - a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python

    cocotb on GitHub

    6 Chapter 1. Table of Contents:

  • EDA Playground Documentation, Release

    1.1.5 What Users are Saying

    This is a really useful web-based utility for anyone who is discussing/sharing/debugging a code segmentwith a colleague or a support person. Also, a very useful follow-up tool for post-training help amongstudents or between instructor and students. Simple, easy, useful.

    Hemendra Talesara, Verification Technologist at Synapse Design Automation Inc.

    I think EDA Playground is awesome! Great resource to learn without the hassle of setting up tools!

    Alan Langman, Engineering Consultant

    Ive used it a few times now to just check out some issues related to SV syntax and its been a bigtimesaver!

    Eric White, MTS Design Engineer at AMD

    EDA Playground is sooo useful for interviews. I got a lot more feedback from being able to watchsomeone compile and debug errors. I would highly recommend others to use it if they are asking SVrelated questions.

    Ricardo Goto, Verification Engineer

    I have recommended to use EDAPlayground.com to my team and am also trying to use it more for mydebug. I find EDAPlayground.com is much easier than logging into my Unix machines.

    Subhash Bhogadi, Verification Consultant

    I just wanted to thank you a lot for creating EDA Playground. Ive been using it a lot lately together withStackOverflow and it makes asking and answering questions much easier.

    Tudor Timisescu, System Verification Engineer at Infineon Technologies

    1.1.6 Support, Feature Requests and Bug Fixes

    Support available on EDA Playground forumOr open a bug here: https://github.com/edaplayground/eda-playground/issues (requires GitHub account).

    1.1.7 News and Site Updates

    New features are frequently being added to EDA Playground. Follow the updates on your favorite social media site:

    @EDAPlayground on Twitter

    EDA Playground on Facebook

    EDA Playground on Google+

    1.1.8 Credits

    EDA Playground was created by Doulos.

    1.2 Quick Start

    This Quick Start is intended for users of http://www.edaplayground.com.

    1. In a separate web browser window, log in to EDA Playground at: http://www.edaplayground.com

    1.2. Quick Start 7

  • EDA Playground Documentation, Release

    2. In either the Design or Testbench window pane, type in the following code:

    module test;initial

    $display("Hello World!");endmodule

    (Note: The code in the right Design pane is compiled first, followed by code in the left Testbench pane.)

    3. Click

    Yes, running a sim is as simple as that!

    4. In the bottom pane, you should see real-time results as your code is being compiled and then run. A run typicallytakes 1-5 seconds, depending on network traffic and simulator. Near the bottom of result output, you should see:

    Hello World!

    5. Now, lets save our good work. Type in a descriptive name in the Details area on the left.

    and click

    6. The browser page will reload and the browser address bar will change. This is a persistent link to your savedcode. You can send the link by email, post it on a web page, post it on Stack Overflow forums, etc. Here is whatthe link looks like for one users