Giter Club home page Giter Club logo

vapp's Introduction

The Berkeley Verilog-A Parser and Processor (VAPP)

VAPP is a MATLAB/Octave tool that translates Verilog-A device models into ModSpec. It is a subproject of the Berkeley Model and Algorithm Prototyping Platform (MAPP).

Requirements

VAPP requires MATLAB R2012a or later.

There is an Octave compatible version of VAPP which is maintained in a separate branch in this repository. For more information see the Octave Compatibility section below.

Installation

After cloning this repository to your machine and changing into the VAPP directory, there are two options to start using this source release.


###1 - On a Unix system

Run the following commands in a terminal

autoconf
./configure
make

This will create a new directory which will include softlinks to VAPP source files. It will also create a script start_VAPP.m that will add the VAPP directory structure to your MATLAB path. This script has to be run each time you start MATLAB. There are two ways you can do this.

####Option 1 Add the VAPP directory permanently to your MATLAB path by including

addpath('/path/to/your/vapp_repo/');

in your startup.m file. This file is most likely located in ~/Documents/MATLAB. Don't forget to change /path/to/your/vapp_repo to the actual path on your machine. Now, each time you start MATLAB, you can run

start_VAPP

and VAPP paths will be setup for the rest of your MATLAB session.

Alternatively, you can add

run('/path/to/your/vapp_repo/start_VAPP');

to your startup.m and let MATLAB add VAPP directories to its path every time a new session is started.

####Option 2 Each time you start a MATLAB session, run the following commands at a MATLAB prompt

cd /path/to/your/vapp_repo/
start_VAPP

###2 - On a non-Unix system VAPP includes a start_VAPP_portable.m file to be used on a platform where the GNU build system is not available. This script will setup VAPP paths relative to the directory from where it is being run. To use this script run the following commands at a MATLAB prompt each time you start a new session.

cd /path/to/your/vapp_repo/
start_VAPP_portable

Usage

VAPP has a simple user interface command: va2modspec which takes a Verilog-A file as input and prints out the corresponding ModSpec file. Basic usage of this command is simply

va2modspec('veriloga_file_name.va')

For further information, run help va2modspec in MATLAB. For a quick introduction and a complete example use case run help VAPPquickstart.

Help Topics

For an introduction to VAPP try the following help documents.

help va2modspec
help VAPPquickstart
help VAPPexamples

Examples

VAPP comes with extensive examples. These examples are located in the examples directory. Each example consists of a different model and a MAPP script to perform an analysis using that model. The following models are available within the examples.

Octave Compatibility

We maintain a separate Octave compatible branch in the VAPP repo.
To obtain the Octave compatible version of VAPP, please choose one of the options below.

  • Option 1: Use git

    Clone this repository and change into the cloned directory.

    git clone https://github.com/jaijeet/VAPP.git
    cd VAPP
    

    Checkout the 2017-02-27-release-github-Octave_compatible branch.

    git checkout 2017-02-27-release-github-Octave_compatible 
    
  • Option 2: Download a snapshot zip file

    Download a snapshot of the Octave compatible VAPP using the link below.

    VAPP-2017-02-27-Octave_compatible

vapp's People

Contributors

gmahmutoglu avatar jaijeet avatar wang159 avatar

Watchers

James Cloos 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.