Giter Club home page Giter Club logo

abdullahsabry / single_transistor_sa Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 24 KB

The Transistor Sizing Assistant is an innovative tool designed to streamline the IC design process by enabling rapid and precise transistor sizing. This project combines advanced data processing techniques with an intuitive graphical interface, allowing designers to explore vast datasets of transistor operating points efficiently.

License: Apache License 2.0

Python 100.00%

single_transistor_sa's Introduction

Transistor Sizing Assistant

This project is a powerful tool for IC designers to efficiently size transistors based on specific operating conditions and performance requirements. It consists of two main phases: LUT (Look-Up Table) generation and data visualization.

Key Features

Interactive GUI for easy transistor sizing

  • Support for complex conditional queries
  • Dynamic plotting with customizable axes and color mapping
  • Real-time display of operating points
  • Handles large datasets (demonstrated with 900k points)

Project Structure

1. LUT Generation (not included in this repo)

  • Python script interfacing with Spectre simulator Generates comprehensive transistor operating point data

2. Data Visualization (included in this repo)

  • Interactive GUI for data exploration and transistor sizing Built with Tkinter, Matplotlib, and Pandas

How to Use

  1. Load the DataFrame (e.g., "900kPoints.csv")
  2. Add conditions using the sliding bars (e.g., VSB > 0.2, VSB < 0.4)
  3. Configure graph settings (X-axis, Y-axis, hue variable, etc.)
  4. Click "Plot" to visualize the data
  5. Click on any point to display its full operating point information

Demo Highlight

The included demo showcases sizing the input NMOS pair of a 5T OTA:

  • Conditions set: 0.2 < VSB < 0.4 (accounting for body effect), requirements for transistor parameteres (gm, rout)
  • Plot: VGS vs. area, with drain current (id) as the hue variable
  • Goal: Find the point with lowest VGS and area while maintaining reasonable power consumption
  • Dataset: 900,000 operating points

Demo

This demo illustrates the power of the tool in quickly identifying optimal transistor sizes that meet multiple criteria simultaneously.

Code Structure

main_app.py: Contains the main GUI application logic DF_OPS.py: Handles dataframe operations and condition parsing

Getting Started

  1. Clone this repository
  2. Install required dependencies (Tkinter, Pandas, Matplotlib)
  3. Run main_app.py to launch the application
  4. Load your transistor operating point data and start exploring!

Note: The LUT generation phase is not included in this repository for security reasons. Users should generate their own LUT data using appropriate simulation tools before using this visualization application.

single_transistor_sa's People

Contributors

abdullahsabry avatar

Stargazers

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