#!/usr/local/bin/perl -w
#====================================================================================
# Design unit  : SEU Simulation Tool
#
# File name    : SST_config.tcl
#
# Purpose      : This package contains variables to be used in SST_startup.tcl,
#                
#
# Authors      : Daniel González Gutiérrez TEC-EDM
# 
# Contact      : mailto:microelectronics@estec.esa.int
#                http://www.estec.esa.int/microelectronics
#
# Copyright (C): European Space Agency (ESA) 2004. No part may be reproduced
#                in any form without the prior written permission of ESA.
#
# Disclaimer   : All information is provided "as is", there is no warranty that
#                the information is correct or suitable for any purpose,
#                neither implicit nor explicit. This information does not
#                necessarily reflect the policy of the European Space Agency.
#====================================================================================
#====================================================================================
# Revision control
# 
###Version 1.0	31/10/03 --DGG
#
###Revision 1.1	22/03/04 --DGG
#
###Revision 1.2	27/07/04 --DGG
#  - The place where td_hierarchy_on is used has changed (see SST_upset_generator.pl)
#
###Revision 1.3	25/11/04 --DGG
#====================================================================================

#----------------------------------------------------------------------------
# $wire_files_ext
# This variable holds the name of the wire files extension. The type of wire
# is selected using $wire_mask. Use a meaningfull extension for each type
# of selected wire (ie .out if the outputs were selected)
#----------------------------------------------------------------------------
      
set wire_files_ext out;
  
#----------------------------------------------------------------------------
# $wire_mask
# This variable holds the decimal value of the mask used to select the type 
# of wire we are interested in. 
# Please update the following binary layout (used to obtain the decimal number  
# you need) every time you change the value of the mask.
#
# Mask
#  MSB				LSB	 
# <internal	inouts	outputs	inputs>
#  0		0	1	0  
#----------------------------------------------------------------------------

set wire_mask 2

#----------------------------------------------------------------------------
# $reference_unit
# This variable holds the unit used as a reference for the creation of upsets.
# This reference value will be used when one of the input units of the -t 
# switch of the SST_upset_generator script is missing. 
# The value of this variable should be the same as the VHDL simulation step
# (resolution of our simulation). 
# Forces with a smaller unit will not be allowed.
#----------------------------------------------------------------------------

set reference_unit ns;

#----------------------------------------------------------------------------
# $reference_step
# This variable holds the value of the minimun distance allowed between 2 
# different forces (in $reference_unit units)
# If the window length specified for the creation of forces is smaller that
# this reference step, an error will be flagged
#----------------------------------------------------------------------------

set reference_step  5;

#----------------------------------------------------------------------------
# $td_hierarchy_on
# This variable allows filering the instances using their full path, instead 
# of only their instance name.
#----------------------------------------------------------------------------

set td_hierarchy_on 1;

#----------------------------------------------------------------------------
# $weight_in
# This variable represents the percentage of the inputs/signas that will be
# forced in an instance that is being accesed and selected by the subroutine 
# 'select_inputs' inside SST_upset_generator. It always selects at least one
# input/signal.
#----------------------------------------------------------------------------

set weight_in 50;

#----------------------------------------------------------------------------
# $seu_prob
# This variable represents in a 0-10 scale the probability of a single force
# to be a SEU. A value of 10 means that only SEU's will be created, on the 
# contrary, a value of 0 will lead to the creation of only stuck_at forces. 
# 10 - $seu_prob represents the probablity of a single force to be a stuck_at
# in the same scale.
#----------------------------------------------------------------------------

set seu_prob 10;