- 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';
- @