head 1.5;
access;
symbols;
locks; strict;
comment @-- @;
1.5
date 99.07.28.14.47.51; author ryu; state Exp;
branches;
next 1.4;
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.14.10.17.32; 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.5
log
@synopsys support for "section"
@
text
@# $Id: dff.spec,v 1.4 1999/01/29 07:32:13 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.
#------ CELL DATA --------------------------------------------------------------
$spice_netlist = $cellname . '.sp';
@@termlist = &read_spice_terms ($spice_netlist, $cellname);
$celldata{"$cellname:cellprop:area"} = 0;
$celldata{"$cellname:cellprop:cell_footprint"} = q/"dff"/;
$celldata{"$cellname:termprop:q:max_capacitance"} = q/cap_factor * cap_unit * 2/ ;
$celldata{"$cellname:termprop:q:max_fanout"} = q/max_fanout_num/ ;
# synopsys
$celldata{"$cellname:termprop:q:function"} = q/"IQ"/ ;
$celldata{"$cellname:termprop:q:internal_node"} = q/"Q"/ ;
#$celldata{"$cellname:termprop:q_bar:function"} = q/"IQN"/ ;
#$celldata{"$cellname:termprop:q_bar:internal_node"} = q/"QN"/ ;
# insert this section for q, q_bar
#$celldata{"$cellname:cellprop:section"} = q%
# ff ("IQ","IQN") {
# next_state : "d";
# clocked_on : "clk";
# }
# statetable ( " d clk ", " Q QN") {
# table : " - ~R : - - : N N, \
# H/L R : - - : H/L L/H";
# }% ;
# insert this section for q only
$celldata{"$cellname:cellprop:section"} = q%
ff ("IQ") {
next_state : "d";
clocked_on : "clk";
}
statetable ( " d clk ", " Q ") {
table : " - ~R : - - : N, \
H/L R : - - : H/L";
}% ;
#------ INPUT CAPACITANCE CHARACTERIZATION -------------------------------------
$sim_type = 'input_cap';
$buffer{'default'} = 'buffer';
$cstart = '10fF';
$cmin = '1fF';
$cmax = '1pF';
$load{'default'} = 'none';
&autochar ('.*');
#------ SETUP/HOLD -------------------------------------------------------------
$sim_type = 'setup_hold';
$buffer{'d'} = 'ebuffer';
$buffer{'clk'} = 'ebuffer';
$differential{'clk_n'} = 'clk';
$load{'default'} = 'cap:100ff';
$criterion_percent = 0.8;
$clock_percent = 0.8;
if ($spice_type eq 'smartspice') {
$window = 600;
$iterations = 20;
$resolution = 5;
$setup_hold_scale = '1e-12';
} else {
$relin = 0.001;
$relout = 0.001;
@@setup_range = ('0', '0.5ns');
@@hold_range = ('-0.5ns', '0');
}
$lu_table_name = 'slew';
&autochar ('d',
'rising', 'clk',
'non_inverting', 'q',
'inverting', 'mout');
©char('d', 'falling', 'clk_n', 'd', 'clk');
#------ CLOCK->Q LOAD DELAY CHARACTERIZATION -----------------------------------
$sim_type = 'clock_q';
$load{'default'} = 'cap:100ff';
$lu_table_name = 'cload';
&autochar ('d',
'rising', 'clk',
'non_inverting', 'q');
©char('falling', 'clk_n', 'q', 'clk', 'q');
1;
@
1.4
log
@ce works
@
text
@d1 1
a1 1
# $Id: dff.spec,v 1.3 1999/01/21 06:35:11 ryu Exp ryu $
d32 28
@
1.3
log
@wip
@
text
@d1 1
a1 1
# $Id: dff.spec,v 1.2 1999/01/14 10:17:32 ryu Exp ryu $
d50 2
a51 4
$buffer{'ph1'} = 'ebuffer';
$differential{'ph1_b'} = 'ph1';
$differential{'ph2'} = 'ph1';
$equivalent{'ph2_b'} = 'ph1';
d53 1
a53 2
$relin = 0.001;
$relout = 0.001;
d56 13
a68 2
@@setup_range = ('0', '0.5ns');
@@hold_range = ('-0.5ns', '0');
d72 1
a72 1
'rising', 'ph1',
d74 1
a74 2
'inverting', 'xdffscan7',
tie_low, 'sbus<1>', 'sbus<3>', 'sbus<5>', 'sbus<7>');
d76 1
a76 1
©char('d', 'falling', 'ph1_b', 'd', 'ph1');
d86 2
a87 3
'rising', 'ph1',
'non_inverting', 'q',
tie_low, 'sbus<1>', 'sbus<3>', 'sbus<5>', 'sbus<7>');
d89 1
a89 1
©char('falling', 'ph1_b', 'q', 'ph1', 'q');
@
1.2
log
@Using /usr/bin/perl
@
text
@d1 1
a1 3
#! /usr/bin/perl
# $Id: dff.spec,v 1.1 1999/01/13 07:14:48 ryu Exp ryu $
d29 1
a29 1
$celldata{"$cellname:cellprop:cell_footprint"} = q/"S_DFF"/;
d38 1
a38 1
$cstart = '1pF';
d40 1
a40 1
$cmax = '12pF';
@
1.1
log
@Initial revision
@
text
@d1 1
a1 1
#! /usr/local/bin/perl
d3 1
a3 1
# $Id$
@