diff options
author | Rahul P | 2020-08-08 18:07:20 +0530 |
---|---|---|
committer | GitHub | 2020-08-08 18:07:20 +0530 |
commit | 5e61158c70425c61fd1af76e69e2fe8b8f7e5105 (patch) | |
tree | 7777265338f455a0e0eccccf59f2e541bc869b7f /README.md | |
parent | a28522ac35da6f275f6ca73c47006b39c8a6725f (diff) | |
parent | f9c63c4941b20543f5d7a99240ceee2a3fe38df5 (diff) | |
download | nghdl-5e61158c70425c61fd1af76e69e2fe8b8f7e5105.tar.gz nghdl-5e61158c70425c61fd1af76e69e2fe8b8f7e5105.tar.bz2 nghdl-5e61158c70425c61fd1af76e69e2fe8b8f7e5105.zip |
Merge pull request #58 from rahulp13/master
unified linux and windows code; ported GUI to PyQt5
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..8e7ef7d --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +Ngspice Ghdl Interfacing Documentation +==== + +It contains all the documentation for Ngspice and GHDL related work. + + +## How is Ngspice interfaced with GHDL? +Ngspice supports mixed mode 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 16.04 OS and above LTS versions. +* Microsoft Windows 7, 8 and 10. + +> Note: Refer [`installers`](https://github.com/fossee/nghdl/tree/installers) branch for documentation on packaging for above mentioned platforms. + + +## Features +* Support for 500 digital models. +* Support for digital models upto 64 output ports/pins. +* Multiple instances of same digital model. + + +## Pre-requisites +* GHDL (LLVM)-v0.37 +* Ngspice-v31 + + +## 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. + |