Patent ID: 7930690

Claim:
The invention claimed is a method for providing information to a digital simulator, that may receive information from an HDL or from other sources such API, GUI, etc. comprising the following: (a) declaring a variable precision data object, (b) declaring a variable precision descriptor object or a default descriptor, where some of the fields of the descriptor specify the format of the variable precision data object or the size of the fields of the variable precision data object, (c) associating a descriptor to a variable precision data object, (d) setting the fields of the descriptor to appropriate values, and any number of the steps (e) through (i) listed below; (e) specifying the execution of the computations involving variable precision data objects declared in (a), which have descriptors declared according to (b) associated to them according to (c), with the fields of the descriptors being set according to (d), (f) changing the fields of the descriptor, from within the simulator or using another computer program that accesses the simulation data via an API interface or GUI, during the execution of the simulation, (g) supporting assignments from variable precision data objects to objects of any of the types supported by the simulator, as well as assignments of objects of any of the types supported as variable precision data objects types, is specified without the use of conversion functions and executed by the simulator, (h) evaluating expressions having sub-expressions, by determining the appropriate values for the fields of the descriptors associated to the results of the evaluation of sub-expressions based on the kind of each sub-expression and on the descriptors of the arguments of the given sub-expression, if such descriptors exist, or, in case the arguments have no descriptors, based on the fields of the default descriptor, (i) supporting operators having operands of mixed types, one being of variable precision data object type and the other operand being of one of the types having a fixed size, without needing explicit conversion functions to bring the operands to the same size or format, (j) automatically, associating non-explicitly defined objects and architecture resources information to the variable precision data objects and supporting the capability to read and write said non-explicitly defined objects and information, as well as having said non-explicitly defined objects and information present in the sensitivity list of HDL processes.