head 1.4; access; symbols; locks; strict; comment @-- @; 1.4 date 99.01.29.07.32.13; author ryu; state Exp; branches; next 1.3; 1.3 date 99.01.21.06.35.11; author ryu; state Exp; branches; next 1.2; 1.2 date 99.01.13.18.25.39; author ryu; state Exp; branches; next 1.1; 1.1 date 99.01.13.07.14.48; author ryu; state Exp; branches; next ; desc @GPL @ 1.4 log @ce works @ text @# $Id: stdcells.spec,v 1.3 1999/01/21 06:35:11 ryu Exp ryu $ # Copyright (C) 1999 Robert K. Yu # email: robert@@yu.org # This file is part of Autochar. # Autochar is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # Autochar is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with Autochar; see the file COPYING. If not, write to the # Free Software Foundation, Inc., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # # Given a cellname, lookup the spec to use. $specpath = $ENV{'AUTOCHAR'} . '/example/specs'; %specmap = ( "and2_1x" => "${specpath}/and2.spec", "and2_2x" => "${specpath}/and2.spec", "and2_4x" => "${specpath}/and2.spec", "and2_6x" => "${specpath}/and2.spec", "and3_2x" => "${specpath}/and3.spec", "and3_4x" => "${specpath}/and3.spec", "and4_2x" => "${specpath}/and4.spec", "and4_4x" => "${specpath}/and4.spec", "aoi21_1x" => "${specpath}/aoi21.spec", "aoi21_2x" => "${specpath}/aoi21.spec", "aoi21_4x" => "${specpath}/aoi21.spec", "aoi22_1x" => "${specpath}/aoi22.spec", "aoi22_2x" => "${specpath}/aoi22.spec", "aoi22_4x" => "${specpath}/aoi22.spec", "buf_3x" => "${specpath}/buf.spec", "buf_4x" => "${specpath}/buf.spec", "buf_6x" => "${specpath}/buf.spec", "buf_8x" => "${specpath}/buf.spec", "buf_10x" => "${specpath}/buf.spec", "buf_12x" => "${specpath}/buf.spec", "dff_2x" => "${specpath}/dff.spec", "dffce_2x" => "${specpath}/dffce.spec", "inv_1x" => "${specpath}/inv.spec", "inv_2x" => "${specpath}/inv.spec", "inv_3x" => "${specpath}/inv.spec", "inv_4x" => "${specpath}/inv.spec", "inv_6x" => "${specpath}/inv.spec", "inv_8x" => "${specpath}/inv.spec", "inv_10x" => "${specpath}/inv.spec", "inv_12x" => "${specpath}/inv.spec", "inv_16x" => "${specpath}/inv.spec", "inv_18x" => "${specpath}/inv.spec", "mux2i_2x" => "${specpath}/mux2.spec", "mux2i_4x" => "${specpath}/mux2.spec", "mux2i_6x" => "${specpath}/mux2.spec", "nand2_1x" => "${specpath}/nand2.spec", "nand2_2x" => "${specpath}/nand2.spec", "nand2_4x" => "${specpath}/nand2.spec", "nand2_6x" => "${specpath}/nand2.spec", "nand2_8x" => "${specpath}/nand2.spec", "nand3_1x" => "${specpath}/nand3.spec", "nand3_2x" => "${specpath}/nand3.spec", "nand3_4x" => "${specpath}/nand3.spec", "nand3_6x" => "${specpath}/nand3.spec", "nor2_1x" => "${specpath}/nor2.spec", "nor2_2x" => "${specpath}/nor2.spec", "nor2_4x" => "${specpath}/nor2.spec", "nor2_6x" => "${specpath}/nor2.spec", "nor2_8x" => "${specpath}/nor2.spec", "nor3_1x" => "${specpath}/nor3.spec", "nor3_2x" => "${specpath}/nor3.spec", "nor3_4x" => "${specpath}/nor3.spec", "nor3_6x" => "${specpath}/nor3.spec", "oai21_1x" => "${specpath}/oai21.spec", "oai21_2x" => "${specpath}/oai21.spec", "oai21_4x" => "${specpath}/oai21.spec", "oai22_1x" => "${specpath}/oai22.spec", "oai22_2x" => "${specpath}/oai22.spec", "oai22_4x" => "${specpath}/oai22.spec", "or2_2x" => "${specpath}/or2.spec", "or2_4x" => "${specpath}/or2.spec", "or2_6x" => "${specpath}/or2.spec", "or3_2x" => "${specpath}/or3.spec", "or3_4x" => "${specpath}/or3.spec", "or3_6x" => "${specpath}/or3.spec", "ph1latch_2x" => "${specpath}/ph1latch.spec", "ph1latch_4x" => "${specpath}/ph1latch.spec", "ph1latch_6x" => "${specpath}/ph1latch_6x.spec", "ph2slatch_2x" => "${specpath}/ph2slatch.spec", "ph2slatch_4x" => "${specpath}/ph2slatch.spec", "ph2slatch_6x" => "${specpath}/ph2slatch.spec", "xnor2_2x" => "${specpath}/xnor2.spec", "xnor2_4x" => "${specpath}/xnor2.spec", "xor2_2x" => "${specpath}/xor2.spec", "xor2_4x" => "${specpath}/xor2.spec", "xor2_6x" => "${specpath}/xor2.spec", ); printf STDERR "Evaluating $specmap{$cellname} ...\n"; require "${specpath}/common.spec"; require $specmap{$cellname}; # output &print_model('synopsys', $cellname . '.lib'); &write_db($cellname . '.db'); 1; @ 1.3 log @wip @ text @d1 1 a1 1 # $Id: stdcells.spec,v 1.2 1999/01/13 18:25:39 ryu Exp ryu $ d55 2 a56 3 "dffscan_2x" => "${specpath}/dff.spec", "dffscan_4x" => "${specpath}/dff.spec", "dffscan_6x" => "${specpath}/dff.spec", a117 4 "regen_2x" => "${specpath}/regen.spec", "regen_4x" => "${specpath}/regen.spec", "regen_6x" => "${specpath}/regen.spec", @ 1.2 log @lower case @ text @d1 1 a1 1 # $Id: stdcells.spec,v 1.1 1999/01/13 07:14:48 ryu Exp ryu $ d26 1 a26 1 $specpath = (getenv 'AUTOCHAR') . '/example/specs'; d29 101 a129 111 "s_and2_1x" => "${specpath}/and2.spec", "s_and2_2x" => "${specpath}/and2.spec", "s_and2_4x" => "${specpath}/and2.spec", "s_and2_6x" => "${specpath}/and2.spec", "s_and3_2x" => "${specpath}/and3.spec", "s_and3_4x" => "${specpath}/and3.spec", "s_and4_2x" => "${specpath}/and4.spec", "s_and4_4x" => "${specpath}/and4.spec", "s_aoi21_1p5x" => "${specpath}/aoi21.spec", "s_aoi21_1x" => "${specpath}/aoi21.spec", "s_aoi21_2x" => "${specpath}/aoi21.spec", "s_aoi21_4x" => "${specpath}/aoi21.spec", "s_aoi22_1p5x" => "${specpath}/aoi22.spec", "s_aoi22_1x" => "${specpath}/aoi22.spec", "s_aoi22_2x" => "${specpath}/aoi22.spec", "s_aoi22_4x" => "${specpath}/aoi22.spec", "s_buf_10x" => "${specpath}/buf.spec", "s_buf_12x" => "${specpath}/buf.spec", "s_buf_3x" => "${specpath}/buf.spec", "s_buf_4x" => "${specpath}/buf.spec", "s_buf_6x" => "${specpath}/buf.spec", "s_buf_8x" => "${specpath}/buf.spec", "s_dffscan_2x" => "${specpath}/dff.spec", "s_dffscan_4x" => "${specpath}/dff.spec", "s_dffscan_6x" => "${specpath}/dff.spec", "s_inv_10x" => "${specpath}/inv.spec", "s_inv_12x" => "${specpath}/inv.spec", "s_inv_16x" => "${specpath}/inv.spec", "s_inv_18x" => "${specpath}/inv.spec", "s_inv_1p5x" => "${specpath}/inv.spec", "s_inv_1x" => "${specpath}/inv.spec", "s_inv_2p5x" => "${specpath}/inv.spec", "s_inv_2x" => "${specpath}/inv.spec", "s_inv_3x" => "${specpath}/inv.spec", "s_inv_4x" => "${specpath}/inv.spec", "s_inv_6x" => "${specpath}/inv.spec", "s_inv_8x" => "${specpath}/inv.spec", "s_mux2i_2x" => "${specpath}/mux2.spec", "s_mux2i_4x" => "${specpath}/mux2.spec", "s_mux2i_6x" => "${specpath}/mux2.spec", "s_nand2_1p5x" => "${specpath}/nand2.spec", "s_nand2_1x" => "${specpath}/nand2.spec", "s_nand2_2x" => "${specpath}/nand2.spec", "s_nand2_4x" => "${specpath}/nand2.spec", "s_nand2_6x" => "${specpath}/nand2.spec", "s_nand2_8x" => "${specpath}/nand2.spec", "s_nand3_1x" => "${specpath}/nand3.spec", "s_nand3_2x" => "${specpath}/nand3.spec", "s_nand3_4x" => "${specpath}/nand3.spec", "s_nand3_6x" => "${specpath}/nand3.spec", "s_nor2_1p5x" => "${specpath}/nor2.spec", "s_nor2_1x" => "${specpath}/nor2.spec", "s_nor2_2x" => "${specpath}/nor2.spec", "s_nor2_4x" => "${specpath}/nor2.spec", "s_nor2_6x" => "${specpath}/nor2.spec", "s_nor2_8x" => "${specpath}/nor2.spec", "s_nor3_1x" => "${specpath}/nor3.spec", "s_nor3_2x" => "${specpath}/nor3.spec", "s_nor3_4x" => "${specpath}/nor3.spec", "s_nor3_6x" => "${specpath}/nor3.spec", "s_oai21_1p5x" => "${specpath}/oai21.spec", "s_oai21_1x" => "${specpath}/oai21.spec", "s_oai21_2x" => "${specpath}/oai21.spec", "s_oai21_4x" => "${specpath}/oai21.spec", "s_oai22_1p5x" => "${specpath}/oai22.spec", "s_oai22_1x" => "${specpath}/oai22.spec", "s_oai22_2x" => "${specpath}/oai22.spec", "s_oai22_4x" => "${specpath}/oai22.spec", "s_or2_2x" => "${specpath}/or2.spec", "s_or2_4x" => "${specpath}/or2.spec", "s_or2_6x" => "${specpath}/or2.spec", "s_or3_2x" => "${specpath}/or3.spec", "s_or3_4x" => "${specpath}/or3.spec", "s_or3_6x" => "${specpath}/or3.spec", "s_ph1latch_2x" => "${specpath}/ph1latch.spec", "s_ph1latch_4x" => "${specpath}/ph1latch.spec", "s_ph1latch_6x" => "${specpath}/ph1latch_6x.spec", "s_ph2slatch_2x" => "${specpath}/ph2slatch.spec", "s_ph2slatch_4x" => "${specpath}/ph2slatch.spec", "s_ph2slatch_6x" => "${specpath}/ph2slatch.spec", "s_regen_2x" => "${specpath}/regen.spec", "s_regen_4x" => "${specpath}/regen.spec", "s_regen_6x" => "${specpath}/regen.spec", "s_regki_2x" => "${specpath}/regki.spec", "s_xnor2_2x" => "${specpath}/xnor2.spec", "s_xnor2_4x" => "${specpath}/xnor2.spec", "s_xor2_2x" => "${specpath}/xor2.spec", "s_xor2_4x" => "${specpath}/xor2.spec", "s_xor2_6x" => "${specpath}/xor2.spec", @ 1.1 log @Initial revision @ text @d1 1 a1 1 # $Id$ d26 1 a26 1 $specpath = (getenv 'AUTOCHAR') . '/example/SPECS'; @