Giter VIP home page Giter VIP logo

nghdl's Introduction

GitHub tag (latest by date) Python PEP8 GitHub forks PRs Welcome GitHub contributors

Ngspice Ghdl Interfacing Documentation

It contains all the documentation for Ngspice and GHDL related work.

How is Ngspice interfaced with GHDL?

Ngspice supports mixed-signal simulation. It can simulate both digital and analog components.

Ngspice has something called code-model which defines the behavior of your component and can be used in the netlist. For example you can create a full-adder's code-model in Ngspice and use it in any circuit netlist of Ngspice.

Now the question is if we already have digital model creation in Ngspice, then why this interfacing?

Well, in Ngspice, it is difficult to write your own digital code-models. Though, many people are familiar with GHDL and can easily write the VHDL code. So the idea of interfacing is just to write VHDL code for a model and use it as a dummy model in Ngspice. Thus, whenever Ngspice looks for that model, it will actually call GHDL to get the results. GHDL's foreign language interface is used for this inter-process communication.

Releases

  • Ubuntu 18.04 and 20.04 LTS versions.

  • Microsoft Windows 7, 8 and 10.

    Note for other distributions: You can refer installers branch for documentation on packaging (for above mentioned distributions) to build installers for your operating system in a similar way. For providing your build, please check the Contribution section mentioned below.

Features

  • Support for nearly 500 VHDL digital models.
  • Support for VHDL digital models upto 64 output ports/pins.
  • Support for Verilog digital models.

Pre-requisites

How to install?

This module is made available with eSim (Electronic Circuit Simulation). Refer https://esim.fossee.in/ for more information.

How to use the Examples provided with NGHDL?

  1. Launch eSim --> Click on "NGHDL" icon from the left toolbar --> Click on "Browse" button --> Go to nghdl/Example/
  2. Locate the example you wish to simulate, find the VHDL file within that example and click on "Open" button at the bottom of "Open File" window.
  3. Click on "Upload" button in the NGHDL window. File will be processed in the backend for few seconds. Now exit the NGHDL window.
  4. Open the desired example under eSim/Examples/Mixed_Signal/ using the "Open Project" button, double click on the project when the project is loaded in the "Projects" window.
  5. Click on the "Simulation" button on eSim Main window.

Contribution

Please refer here for further details.

nghdl's People

Contributors

ambikeshwar1991 avatar athulappadan avatar bladen-martin avatar eyantra698sumanto avatar fahim-oscad avatar psr0001 avatar rahulp13 avatar saurabhb17 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.