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