Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/GT-CHIPS/IO-Gen
https://github.com/GT-CHIPS/IO-Gen
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/GT-CHIPS/IO-Gen
- Owner: GT-CHIPS
- Created: 2018-11-09T18:38:48.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-11-11T22:50:38.000Z (about 6 years ago)
- Last Synced: 2024-08-03T17:11:28.557Z (5 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
![alt text](overview_figure.jpg)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.