Giter Site home page Giter Site logo

openfasoc's Introduction

OpenFASOC

Working in understanding the flow for FASOC and researching to implement more analog system generation using the similar flow,

First we need to install the necessary tools:-

OpenFASOC

Installation of the required tools

  1. OpenFASOC:
git clone https://github.com/idea-fasoc/openfasoc

cd openfasoc

pip install -r requirements.txt

For the complete steps of installing OpenFASOC, refer Manual Installation from https://github.com/idea-fasoc/OpenFASOC/blob/main/docs/source/getting-started.rst.

  1. OpenROAD:
git clone --recursive https://github.com/The-OpenROAD-Project/OpenROAD.git

cd OpenROAD

./etc/DependencyInstaller.sh

./etc/DependencyInstaller.sh -run

./etc/DependencyInstaller.sh -dev

mkdir build

cd build

cmake ..

make

  1. Klayout

Downlaod the latest version of the Klayout from https://www.klayout.de/build.html. Install the following dependencies: qt5-default, qttools5-dev, libqt5xmlpatterns5-dev, qtmultimedia5-dev, libqt5multimediawidgets5 and libqt5svg5-dev.

sudo apt-get install -y libqt5widgets5

sudo dpkg -i klayout_0.27.11-1_amd64.deb

  1. Netgen
sudo add-apt-repository ppa:ngsolve/ngsolve

sudo apt-get update

sudo apt-get install ngsolve

  1. OpenPDK
 git clone git://opencircuitdesign.com/open_pdks
 open_pdks
 ./configure --enable-sky130-pdk
 make
 sudo make install
  1. Magic

Installation of Prerequisites:

sudo apt-get install m4

sudo apt-get install tcsh

sudo apt-get install csh

sudo apt-get install libx11-dev

sudo apt-get install tcl-dev tk-dev

sudo apt-get install libcairo2-dev

sudo apt-get install mesa-common-dev libglu1-mesa-dev

sudo apt-get install libncurses-dev

Magic Installation:

git clone https://github.com/RTimothyEdwards/magic

cd magic/

./configure

sudo make

sudo make install
  1. Yosys

Installation of Prerequisites:

sudo apt-get install build-essential clang bison flex \
   libreadline-dev gawk tcl-dev libffi-dev git \
   graphviz xdot pkg-config python3 libboost-system-dev \
   libboost-python-dev libboost-filesystem-dev zlib1g-dev

To install the latest version:

git clone https://github.com/YosysHQ/yosys.git

make

sudo make install 

make test

Temperature Sensor Generator

An all-digital temperature sensor, that relies on a new subthreshold oscillator (achieved using the auxiliary cell “Header Cell“) for realizing synthesizable thermal sensors.

The way that works is we have a subthreshold current that has an exponential dependency on the temperature, the frequency generated from the subthreshold ring oscillator is also dependent on temperature. So we can sense the temperature by comparing the difference between the clock frequency generated from a reference oscillator and the clock frequency from the proposed frequency generator.

Understanding the TEMP_ANALOG.V files:

Block Architecture

image

Theses are the verilog template files which are used for the creation of netlist verilog files.

The placeholders in the verilog template files are replaced with the aux_cell info. The difference between the template and the generated verilog file can be found below. (Example)

File1

The temp_gen_netlist function can be found in openfasoc/generators/temp-sense-gen/tools/TEMP_netlist.py image

The new netlist files are now available in the OpenFASOC/openfasoc/generators/temp-sense-gen/src folder and the OpenFASOC/openfasoc/generators/temp-sense-gen/flow/design/src/tempsense.

image

The generated netlist files are as follows:

  • counter.v from counter_generic.v
  • TEMP_ANALOG_hv.nl.v from TEMP_ANALOG_hv.v
  • TEMP_ANALOG_lv.nl.v from TEMP_ANALOG_lv.v

openfasoc's People

Contributors

riteshlalwani avatar

Watchers

 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.