Giter Site home page Giter Site logo

chriszonghaoli / sky130_ldo_rl Goto Github PK

View Code? Open in Web Editor NEW
22.0 2.0 3.0 5.29 MB

This repo contains the code that runs RL+GNN to optimize LDOs in SKY130 process.

License: Apache License 2.0

Makefile 0.45% Shell 0.18% C 0.08% Verilog 1.30% Python 13.32% Jupyter Notebook 83.97% VHDL 0.71%
analog-circuit circuit ddpg gcn gnn ldo optimization rgcn rl sky130

sky130_ldo_rl's Introduction

Design and Optimization of Low-Dropout Voltage Regulator Using Relational Graph Neural Network and Reinforcement Learning in Open-Source SKY130 Process

License CI Caravan Build


This is the source code for the paper accepted to IEEE/ACM ICCAD 2023. The final accepted manuscript can be found here: https://www.zonghaoli.com/ml_analog_ic.html. The final accepted paper can be found here: https://ieeexplore.ieee.org/document/10323720.


Repo Structure

All files you are looking for are placed inside the folder /python.

  • ldo.py: define the LDO1 environment (Gymnasium compatible).
  • ldo_folded_cascode.py: define the LDO2 environment (Gymnasium compatible).
  • ckt_graphs.py: define the graph info as well as specifications for LDO1 and LDO2.
  • dev_params.py: used to extract device parameters such as threshold voltage and transconductance of transistors, providing the observations for RL.
  • ddpg.py: where the DDPG algorithm is stored.
  • models.py: where various GNN models are stored.
  • main.py: run the optimization for LDO1.
  • main2.py: run the optimization for LDO2.
  • postproc.py: do some post-processing such as data visualization for LDO1 after the optimization is done.
  • postproc.py: do some post-processing such as data visualization for LDO2 after the optimization is done.
  • utils.py: some useful utilities.
  • /simulations: store the SPICE files and it is where Ngspice is running.
  • ldo_rgcn_rl.ipynb: a notebook summaries the work, it is outdated.

Getting Started

You may just follow the tutorial in ldo_rgcn_rl.ipynb, which is outdated but the flow is the same. If you want to have the update-to-date version running, simply execute main.py for LDO1 and main2.pyfor LDO2.

sky130_ldo_rl's People

Contributors

chriszonghaoli avatar

Stargazers

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

Watchers

 avatar  avatar

sky130_ldo_rl's Issues

download the paper

"Design and Optimization of Low-Dropout Voltage Regulator Using Relational Graph Neural Network and Reinforcement Learning in Open-Source SKY130 Process" hello ,How to download this paper?

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.