Git Product home page Git Product logo

io-gen's Introduction

Automated I/O Generation Tool

Introduction

alt text

This tool is to automatically generate I/O driver and receiver for a physical link between two dies integrated in System-in-Package. The physical link includes drvier/receiver, interposer, ESD protection, microbump, etc. For a given size of transceiver, corresponding propagation delay/energy consumption values are generated.

This work was supported by the DARPA CHIPS program.

Requirements

The tool requires NCSU 45nm FreePDK.

File Summary

The tool contains 1 bash script, perl scripts, 2 netlists, and 1 folder.

  • run_spice_ffix.sh: Top level script that 1) specify several parameters in physical link including driver/receiver sizes, 2) create netlists, 3) run hspice simulation, and 4) generate propagation delay and energy consumption values. See 'Running the Code' section for more detail to run this script.
  • SE_top_ffix.sp: Top level netlist of a whole physical link that includes driver/receiver, interposer, ESD protection, microbump, etc.
  • measure_tran.sp: Netlist of measurement statements.
  • create_param.pl: Creating sub-netlist of parameter statements from parameters in run_spice_ffix.sh.
  • create_drv_ffix_1.pl: Creating sub-netlist of driver/receiver circuits from parameters in run_spice_ffix.sh.
  • create_pckg_RLGC.pl: Creating sub-netlist of interposer(RLGC, w-element) from parameters in run_spice_ffix.sh.
  • create_esd.pl: Creating sub-netlist of ESD protection from parameters in run_spice_ffix.sh.
  • test.pl: Generating a .txt file that shows propagation delay and energy consumption values for corresponding driver/receiver and wire lengths.
  • pckg_GSSSG: Containing 2 micro bump, 3 interposer models.
  • alldata: Containing propagation delay and energy consumption values for corresponding driver/receiver and wire lengths.

Running the Code

Download all the file in this repository and execute run_spice_ffix.sh. Several parameters can be changed in this script.

  • drv_Cin: Size of first inverter of driver. Should be integer and 1 is the minimum size of inverter.
  • drv: Size of final inverter of driver. 128 is the inverter size that has ~50ohm output impedence.
  • rcv_Cout: Size of first inverter of receiver.
  • rcv: Size of final inverter of receiver.
  • tclk: Period (1/frequency) of signal in physical link.
  • l_tr: Length of interposer wire.
  • tx_esd: Whether an ESD on driver side is used. 0 means no ESD is used and 1 means ESD is used.
  • rx_esd: Whether an ESD on receiver side is used. 0 means no ESD is used and 1 means ESD is used.
  • esd_size: Size of ESD if ESD is used. Should be integer. 1 is the minimum size of ESD.
  • add_c4: Whether microbump is included in physical link. 0 means no bump is used and 1 means bump is used.
  • case: The type of interposer that is used. 1,2,3 interposers are available in different physical dimensions.

Contact

Feel free to contact [email protected] for more information.

io-gen's People

Contributors

minahlee94 avatar

Stargazers

Andreas Olofsson avatar

Watchers

James Cloos avatar Mayank Parasar avatar Hakki M. Torun avatar Sung Kyu Lim 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.