Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Means for Initializing Large Arrays in Simulation to a Non-Default Value

IP.com Disclosure Number: IPCOM000103201D
Original Publication Date: 1990-Aug-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 1 page(s) / 51K

Publishing Venue

IBM

Related People

Hoffman, H: AUTHOR [+3]

Abstract

Disclosed is a method for initializing large arrays in simulation to a non-default value.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 70% of the total text.

Means for Initializing Large Arrays in Simulation to a Non-Default Value

      Disclosed is a method for initializing large arrays in
simulation to a non-default value.

      During simulation, it may be necessary to initialize arrays to
values other than the default (typically '0'). However, due to the
size of some arrays, this may prove to be either very time consuming
or difficult.  If a large array is represented in the simulation
model by actual memory of the same size, then initializing each array
element may be very slow.  On the other hand, if large arrays are
represented in some compressed format, for example, as dynamically
allocated memory, then the simulator must keep track of whether this
is the first usage of the array element in order to perform the
initialization dynamically.

      This method adds a "transform" function to the array access
code to cause the default value to be transformed into the required
initialization value.  This function can be efficiently implemented
as an XOR (exclusive-or) function.

      For example, assume the simulator is a 4-value simulator with
arrays having a default value of '00'.  If the desired initialization
value is '10', then any access to arrays should go through the XOR
function with the transform value of '10'.  An input of '00' is
transformed into '10' (note default '00' is read as '10', which is
correct).  An input of '01' is transformed into '11'.  An input of
'10' is transformed into '00'...