Appendix B - Listing and Explanation of CSIM (Pre-processor) Warning and Error Messages



WARNING_100: Attempting to read file created from higher version GUI (vxx > vxx).

	The input file was created by a newer version of the GUI than the
	CSIM-prepocessor being used.  The file may contain formats that the
	preprocessor is not compatible with.


WARNING_101: Attempting to read higher version file (vxx > vxx).

	An included file was created by a newer version of the GUI than
	that which created the main file and/or other files.
	The file format may be incompatible with the other files.


WARNING_102: In Module TOPOPOLOGY 'xx': Link data-rate <= 0.0, (replaced 'xx' with yy).

	Link data rates must be finite and greater than zero.
	If a zero or negative link rate is encountered, it will be replaced
	by an infinitesimal positive value.  This could occur if the user's
	value is too small to be represented by the read-routine (underflow), 
	but it usually indicates that something is wrong with the file format 
	(the small link rate is probably unintentional and the user is alerted).


Note_103:  DEF_TYP: DEVICE Type 'xx' Not used!

	This notice occurs when a type of device is defined, but never 
	instantiated anywhere in the architecture.  There is often nothing 
	wrong with this, as this often happens when including libraries of
	definitions of which only a subset are used.  However, the notice
	is sometimes helpful in identifying when a device should be used
	but was not instantiated due to a typo or architectural oversight.
	(Used to be classed as a warning but now demoted to a notice.)


Warning_104: Out-Port 'device'-'port' NOT connected.

	The specified output-port of the named device was not connected to 
	anything.  This alerts the user of a potential architectural oversight.


Warning_105: IN-Port 'device'-'port' NOT connected.

	The specified input-port of the named device was not connected to 
	anything.  This alerts the user of a potential architectural oversight.


ERROR_1: Bad version specifier, line 1, file xx, version yy. The first line of CSIM input files that are created by the GUI contain a version number identifying the version of the GUI that created it, to accomodate upward-compatible file-format extensions. This error occurs when something is wrong with the version identifier. ERROR_2: Include file nesting reached 200 with file xx. This error indicates that an included file attempted to include another file, which included another file, etc., nested 200-times. This usually indicates a circular inclusion that would otherwise continue forever. For example, a file attempted to include a file that includes the first file, which includes the second, which includes the first, etc.. ERROR_3: Include file 'xx' could not be opened. The named include-file, referenced by a %include in a CSIM input file could not be found or opened for reading as specified. ERROR_4: xx entry point not found in CSIM_KERN. This is an internal error and should not occur in the developed tool. ERROR_5: In Module 'xx' definition: 'DEFINE_TOPOLOGY:' NOT FOUND. All module definitions must enclose a DEFINE_TOPOLOGY section. For some reason, after seeing a DEFINE_MODULE keyword, the end of the file was reached without seeing the 'DEFINE_TOPOLOGY:' keyword. Common reasons for this are: the keyword was misspelled, it was not capitalized, the colon was missing or not contiguous with the keyword. The 'DEFINE_TOPOLOGY:' keyword must appear exactly to be recognized. ERROR_6: Module xx TOPOLOGY: Unidentified Direction 'xx' (Expecting one of: fdplx, hdplx, or smplx). The item in the link-direction field of a topology file must be one of the (fdplx, hdplx, or smplx) keywords. If data from another field is reported, this error may indicate that the file-read has gotten out-of-sync, perhaps due to a missing or extra field-entry in the file. ERROR_7: Module TOPOLOGY: Bad Integer Queue Length Limit 'xx' in Module Definition 'xx'. The queue-length field of topology-blocks in architecture files must contain an integer. ERROR_8: TOP: Bad float data-rate 'xx' in Module Definition 'xx'. The data-rate field of topology-blocks in architecture files must contain a floating-point number. ERROR_9: Module TOPOLOGY: Bad positive-float fixed-overhead 'xx'. The fixed-overhead field of topology-blocks in architecture files must contain a positive-floatpoint number. ERROR_10: Module TOPOLOGY: Bad Route-Cost 'xx'. Routing-cost on a link must be an integer or floating-point number. ERROR_11: Module TOPOLOGY: Bad Route-Cost 'xx'. Routing-cost on a link must be an integer or floating-point number. This error number occurs for the routing-cost of the return-side of a duplex link. ERROR_12: 'END_DEFINE_TOPOLOGY.' NOT FOUND within module 'xx' A 'DEFINE_TOPOLOGY:' section must be closed by the 'END_DEFINE_TOPOLOGY.' keyword. For some reason, after seeing a 'DEFINE_TOPOLOGY:' keyword, the end of the file was reached without seeing the 'END_DEFINE_TOPOLOGY.' keyword. Common reasons for this are: the keyword was misspelled, it was not capitalized, the period was missing or not contiguous with the keyword. The 'END_DEFINE_TOPOLOGY.' keyword must appear exactly to be recognized. ERROR_13: Expected 'DEFINE_MODULE:' but found 'xx' ERROR_14: In Module definition: 'DEFINE_DEVICE_INSTANCES:' NOT FOUND. All module definitions must enclose an instantiation section. For some reason, after seeing a DEFINE_MODULE keyword, the end of the file was reached without seeing the 'DEFINE_DEVICE_INSTANCES:' keyword. Common reasons for this are: the keyword was misspelled, it was not capitalized, the colon was missing or not contiguous with the keyword. The 'DEFINE_DEVICE_INSTANCES:' keyword must appear exactly to be recognized. ERROR_15: Missing '=' in Module 'xx' Device Instance list 'xx'. ERROR_16: 'END_DEFINE_DEVICE_INSTANCES.' NOT FOUND within module 'xx' A device-instantiaton section must be closed by the 'END_DEFINE_DEVICE_INSTANCES.' keyword. For some reason, after seeing a 'DEFINE_DEVICE_INSTANCES:' keyword, the end of the file was reached without seeing the 'END_DEFINE_DEVICE_INSTANCES.' keyword. Common reasons for this are: the keyword was misspelled, it was not capitalized, the period was missing or not contiguous with the keyword. The 'END_DEFINE_DEVICE_INSTANCES.' keyword must appear exactly to be recognized. ERROR_17: 'END_DEFINE_MODULE.' NOT FOUND within module 'xx' ERROR_18: Definition for device-type xx not found. A device-type was referenced in a device-instantiation list, but was not defined. ERROR_19: Device xx not found. This indicates an attempt to instantiate a type of device which has not been defined. Possible causes are either a typo in the device-type name that does not match, or the definition was not given to CSIM (ie. not referenced or included in the input file(s)). ERROR_20: Missing '=' after device instance xx. This indicates a topology file format error in the instantiation section of a module, the DEFINE_DEVICE_INSTANCES block. See topology definition. ERROR_21: In FIND_DEV_PRT: No module instance 'xx' found. ERROR_22: In FIND_DEV_PRT: Module instance 'xx' or 'xx' Not found or type mismatch. ERROR_23: In FIND_DEV_PRT: No module instance 'xx' found. ERROR_24: In FIND_DEV_PRT: No module type or device 'xx' found. ERROR_25: In FIND_DEV_PRT: No Port 'xx'-'xx' in module type 'xx' found. ERROR_26: LINK DIR Parameter mismatch on link port 'xx' in module type 'xx' ERROR_27: LINK QLIMIT Parameter mismatch (xx,xx) on link port 'xx' ERROR_28: LINK Parameter RATE mismatch (xx,xx) on link port 'xx' in module type 'xx' ERROR_29: LINK Parameter OVRHD mismatch (xx,xx) on link port 'xx' in module type 'xx' ERROR_30: LINK Parameter ROUTE-COST1 mismatch (xx,xx) on link port 'xx' in module type 'xx' ERROR_31: LINK Parameter ROUTE-COST2 mismatch (xx,xx) on link port 'xx' in module type 'xx' ERROR_32: In FIND_DEV_PRT: No module type or device 'xx' found. ERROR_33: No port 'xx' on the 'DEV_NULL' device. Error variants '33a' and '33c' occur when an output port, connected to DEV_NULL, is not NC or null. Error variants '33b' and '33d' occur when an input port, connected to DEV_NULL, is not NC or null. Error variant '33e' occurs when the other side output port of a duplex link, connected to DEV_NULL, is not NC or null. Error variant '33f' occurs when the other side input port of a duplex link, connected to DEV_NULL, is not NC or null. ERROR_34: In GET_TOPOLOGY: No module instance 'xx' found. ERROR_35: In GET_TOPOLOGY: No module type 'xx' found. ERROR_36: Couldn't find src-device 'xx' in device instance table. In the define-topology section of a module-definition, the source-device of a link was not in the instantiation section of the module. The source device must be an instance name. Common causes for this message are typo's in the topology or instantiation sections, or architectural oversights. ERROR_37: Couldn't find dst-device 'xx' in device instance table. In the define-topology section of a module-definition, the destination-device of a link was not in the instantiation section of the module. The destination device must be an instance name. Common causes for this message are typo's in the topology or instantiation sections, or architectural oversights. ERROR_38: Thread 'xx' Not Found for Device Type 'xx'. The thread mentioned in a trigger_thread statement does not match any of the threads defined for the given device-type. (Only threads within the same device-type definition can be triggered.) Usually this message is caused by a spelling error or omission of a thread definition. ERROR_39: Missing Comma in TRIGGER statement 'xx' ERROR_40: Non-Matching brackets 'xx' In the behavioral code of a thread, the square brackets, '[]', of an array variable do not appear to match in their number of right-left brackets. ERROR_41: Module-Type Name COINCIDES with another Module-Type Name 'xx'. ERROR_42: Module-Type Name COINCIDES with Device-Type Name . ERROR_43: Please define structures under DEFINE_GLOBAL, Not under DEFINE_DEVICE for device type 'xx'. Data-variable structures cannot be defined within a device-type definition. Structures must be defined globally within a "DEFINE_GLOBAL" section. ERROR_44: First thread for device xx not 'start_up'. The first thread of a device-type definition was found *not* to be called "start-up". There must always be a "start-up" thread for every device, and it must be the first thread enclosed within the device definition. The "start-up" thread key-name must be spelled and capitalized exactly as "start-up". ERROR_45: Found 'xx' when expecting 'DEFINE_THREAD:' or 'DEFINE_SUBROUTINE: Within a device-type definition, in the threads and local-subroutines area, an unexpected item was found. ERROR_46: Out-Port 'xx' not found in topology for device type 'xx' An output port-name, referenced in the device-type definition (behavior code thread), is not found in the topology. ERROR_47: In-Port 'xx' not found in topology for device type 'xx' An input port-name, referenced in the device-type definition (behavior code thread), is not found in the topology. ERROR_48: Out-Port 'xx' not found in topology for device type 'xx An output port-name, referenced in the device-type definition (behavior code thread), is not found in the topology. ERROR_49: Found EOF before 'END_DEFINE_THREAD.' or 'END_DEFINE_SUBROUTINE. ERROR_50: Found EOF before 'END_DEFINE_DEVICE.' for device type 'xx' ERROR_51: Device type 'xx' NOT DEFINED. This indicates an attempt to instantiate a type of device which has not been defined. Possible causes are either a typo in the device-type name that does not match, or the definition was not given to CSIM (ie. not referenced or included in the input file(s)). ERROR_52: Device type 'xx' DEFINED xx TIMES!. This indicates that multiple definitions of the given device-type were encountered in the input files given to CSIM. This sometimes occurs when the same file gets included more than once by the source files to CSIM, or if definitions for the same device-type occur in more than one file given to CSIM. ERROR_53: File xx NOT FOUND. Either the CSIM source file to be processed by the CSIM-preprocessor, or an included file could not be found or opened for reading. ERROR_54: No top_level architecture found. Exiting. CSIM was unable to determine the 'root' or outer-most level of the architecture from the file(s) presented to it. Exactly one (1) module must be called "top_level" for it to be identified as such. The name must be exact in case and spelling. ERROR_99: Line too long xx. The CSIM-preprocessor expands variable names in the user's model-code (device-behavior thread blocks). The preprocessor uses a finite-length buffer to hold processed source-code lines. This error is caused when a source code line is -or grows- larger than the line-buffer. (The line-buffer is currently set at 1024, so this error is quite unlikely. Typically, the longest observed lines are much less than a quarter of this length.) If it occurs, it can be remedied by breaking the source line into multiple shorter lines. SEVERE ERROR: This error cannot occur as designed. If it ever does, then something is very wrong and the authors of CSIM should be informed immediately.


(Questions, Comments, & Suggestions: admin@csim.com)