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