{"id":13775429,"url":"https://github.com/GT-CHIPS/IO-Gen","last_synced_at":"2025-05-11T07:32:35.815Z","repository":{"id":128991133,"uuid":"156903403","full_name":"GT-CHIPS/IO-Gen","owner":"GT-CHIPS","description":null,"archived":false,"fork":false,"pushed_at":"2018-11-11T22:50:38.000Z","size":273,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-17T10:39:53.732Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GT-CHIPS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-11-09T18:38:48.000Z","updated_at":"2018-11-29T20:45:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"f5ccabe0-3f03-4d38-9a60-8a87a14a0bed","html_url":"https://github.com/GT-CHIPS/IO-Gen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GT-CHIPS%2FIO-Gen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GT-CHIPS%2FIO-Gen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GT-CHIPS%2FIO-Gen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GT-CHIPS%2FIO-Gen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GT-CHIPS","download_url":"https://codeload.github.com/GT-CHIPS/IO-Gen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253534080,"owners_count":21923515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T17:01:38.572Z","updated_at":"2025-05-11T07:32:35.284Z","avatar_url":"https://github.com/GT-CHIPS.png","language":"Pascal","funding_links":[],"categories":["Connectivity"],"sub_categories":[],"readme":"# Automated I/O Generation Tool\n\n## Introduction\n![alt text](overview_figure.jpg)\n\nThis 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.\n\nThis work was supported by the DARPA CHIPS program.\n\n## Requirements\nThe tool requires NCSU 45nm FreePDK.\n\n## File Summary\nThe tool contains 1 bash script, perl scripts, 2 netlists, and 1 folder.\n- 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.\n- SE_top_ffix.sp: Top level netlist of a whole physical link that includes driver/receiver, interposer, ESD protection, microbump, etc.\n- measure_tran.sp: Netlist of measurement statements.\n- create_param.pl: Creating sub-netlist of parameter statements from parameters in run_spice_ffix.sh.\n- create_drv_ffix_1.pl: Creating sub-netlist of driver/receiver circuits from parameters in run_spice_ffix.sh.\n- create_pckg_RLGC.pl: Creating sub-netlist of interposer(RLGC, w-element) from parameters in run_spice_ffix.sh. \n- create_esd.pl: Creating sub-netlist of ESD protection from parameters in run_spice_ffix.sh.\n- test.pl: Generating a .txt file that shows propagation delay and energy consumption values for corresponding driver/receiver and wire lengths.\n- pckg_GSSSG: Containing 2 micro bump, 3 interposer models.\n- alldata: Containing propagation delay and energy consumption values for corresponding driver/receiver and wire lengths.\n\n\n## Running the Code\nDownload all the file in this repository and execute run_spice_ffix.sh. Several parameters can be changed in this script.\n- drv_Cin: Size of first inverter of driver. Should be integer and 1 is the minimum size of inverter.\n- drv: Size of final inverter of driver. 128 is the inverter size that has ~50ohm output impedence.\n- rcv_Cout: Size of first inverter of receiver.\n- rcv: Size of final inverter of receiver.\n- tclk: Period (1/frequency) of signal in physical link. \n- l_tr: Length of interposer wire.\n- tx_esd: Whether an ESD on driver side is used. 0 means no ESD is used and 1 means ESD is used.\n- rx_esd: Whether an ESD on receiver side is used. 0 means no ESD is used and 1 means ESD is used.\n- esd_size: Size of ESD if ESD is used. Should be integer. 1 is the minimum size of ESD.\n- add_c4: Whether microbump is included in physical link. 0 means no bump is used and 1 means bump is used.\n- case: The type of interposer that is used. 1,2,3 interposers are available in different physical dimensions.\n\n## Contact\nFeel free to contact minah.lee@gatech.edu for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGT-CHIPS%2FIO-Gen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGT-CHIPS%2FIO-Gen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGT-CHIPS%2FIO-Gen/lists"}