- 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$
- @