https://github.com/GT-CHIPS/IO-Gen
  
  
     
    https://github.com/GT-CHIPS/IO-Gen
  
        Last synced: 6 months ago 
        JSON representation
    
- Host: GitHub
 - URL: https://github.com/GT-CHIPS/IO-Gen
 - Owner: GT-CHIPS
 - Created: 2018-11-09T18:38:48.000Z (almost 7 years ago)
 - Default Branch: master
 - Last Pushed: 2018-11-11T22:50:38.000Z (almost 7 years ago)
 - Last Synced: 2024-11-17T10:39:53.732Z (12 months ago)
 - Language: Pascal
 - Size: 267 KB
 - Stars: 1
 - Watchers: 4
 - Forks: 0
 - Open Issues: 0
 - 
            Metadata Files:
            
- Readme: README.md
 
 
Awesome Lists containing this project
- awesome-opensource-hardware - io-gen
 
README
          # Automated I/O Generation Tool
## Introduction

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 minah.lee@gatech.edu for more information.