Block diagram simulator using a library for generation of a computer program
First Claim
1. In a method using a programmed computer for generation of a computer program which represents any of a plurality of different systems where each such system comprises first and second system blocks interconnected between inputs and outputs of the system blocks in a functionally operative system, some of said system blocks being functionally different from others,any said input connected to any said output defined by such output, any said second system block having a delay and an output, which at one time, is dependent on the condition of at least one said input to the same said second system block at a prior time or the condition of both at least one said input to the same second system block at a prior time and at least one said input to the same second system block at a current time,the method using sequencer program, a stored library and a stored network list,the library comprising a plurality of different library blocks, a different said library block corresponding to and representing each functionally different one of the system blocks in all of said systems,any said stored network list for a system representing the identity of each system block and the interconnections of the inputs and outputs of the system blocks in such system,each said library block comprising representations of the functional characteristics of the corresponding first or second system block, the representations of characteristics for each library block, for a corresponding system block, comprisingif such system block is a first system block, representations of at least one update output procedure which defines, at a current time, the output of the corresponding first system block as a function of each input thereof at the current time, andif such system block is a second system block, representations of an update state procedure which, at a current time, defines a state for the corresponding second system block as a function of at least one input for the corresponding second system block at a prior time, and representations of at least one update output procedure which, at a current time, defines the output of the corresponding second system block as a function of either the current state of the corresponding second system block or the current state of the corresponding second system block and at least one input of the corresponding second system block at the current time,the method comprising the steps ofusing the sequencer program for operating the computer for thereby processing the content of the network list and the library for forming a sequence of representations of the procedures in the library blocks, which library blocks correspond to those system blocks which are identified in the network list, and comprising the steps of checking the library blocks which correspond to system blocks identified in the network list to determine if each such library block corresponds to a second system block and if so including in the sequence for each such library block which corresponds to a second system block a representation of the update state procedure separate from the update output procedure for such library block.
4 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and/or method using an automatic program generation computer for generation of a computer program which represents a functional system on a display. A system has a plurality of interactively connected functionality blocks which form a block diagram and typically, the block diagram has one or more feedback loops. Each of the blocks has at least one input, at least some of the blocks have at least one input functionally defined by and connected to at least one of the outputs. At least one of the blocks is a state block whose operation at one time is dependent on the condition of at least one input for the state block at a prior time. A stored update state procedure is provided corresponding to the state block defining the state as a function of at least one of the inputs to the state block. At least one stored update output procedure is provided and corresponds to each of the blocks for defining at least one of the outputs of a block. The output of the update output procedure is a function of at least one of the inputs of a block and/or the state of a block.
34 Citations
41 Claims
-
1. In a method using a programmed computer for generation of a computer program which represents any of a plurality of different systems where each such system comprises first and second system blocks interconnected between inputs and outputs of the system blocks in a functionally operative system, some of said system blocks being functionally different from others,
any said input connected to any said output defined by such output, any said second system block having a delay and an output, which at one time, is dependent on the condition of at least one said input to the same said second system block at a prior time or the condition of both at least one said input to the same second system block at a prior time and at least one said input to the same second system block at a current time, the method using sequencer program, a stored library and a stored network list, the library comprising a plurality of different library blocks, a different said library block corresponding to and representing each functionally different one of the system blocks in all of said systems, any said stored network list for a system representing the identity of each system block and the interconnections of the inputs and outputs of the system blocks in such system, each said library block comprising representations of the functional characteristics of the corresponding first or second system block, the representations of characteristics for each library block, for a corresponding system block, comprising if such system block is a first system block, representations of at least one update output procedure which defines, at a current time, the output of the corresponding first system block as a function of each input thereof at the current time, and if such system block is a second system block, representations of an update state procedure which, at a current time, defines a state for the corresponding second system block as a function of at least one input for the corresponding second system block at a prior time, and representations of at least one update output procedure which, at a current time, defines the output of the corresponding second system block as a function of either the current state of the corresponding second system block or the current state of the corresponding second system block and at least one input of the corresponding second system block at the current time, the method comprising the steps of using the sequencer program for operating the computer for thereby processing the content of the network list and the library for forming a sequence of representations of the procedures in the library blocks, which library blocks correspond to those system blocks which are identified in the network list, and comprising the steps of checking the library blocks which correspond to system blocks identified in the network list to determine if each such library block corresponds to a second system block and if so including in the sequence for each such library block which corresponds to a second system block a representation of the update state procedure separate from the update output procedure for such library block.
-
31. In a method using a programmed computer for assembling of a computer program which represents any of a plurality of different systems where each such system comprises first and second system blocks interconnected between inputs and outputs of the system blocks in a functionally operative system, some of said system blocks being functionally different from the others,
any said input connected to any said output being defined by such output, any said second system block having a delay and an output, which at one time, is dependent on the condition of at least one said input to the same said second system block at a prior time or the condition of both at least one said input to the same second system block at a prior time and at least one said input to the same second system block at a current time, the method of assembling using a control program, a stored library and a stored network list, the library comprising a plurality of different library blocks, a different said library block corresponding to and representing each functionally different one of the system blocks in all of said systems, any said stored network list for a system representing the identity of each system block and the interconnections of the inputs and outputs of the system blocks in such system, each said library block comprising representations of the functional characteristics of the corresponding first and second system blocks, the representations of characteristics for each library block, for a corresponding system block, comprising if such system block is a first system block, representations of at least one update output procedure which defines, at a current time, the output of the corresponding first system block as a function of each input thereof at the current time, if such system block is a second system block, representations of an update state procedure which, at a current time, defines a state for the corresponding second system block as a function of at least one input for the corresponding second system block at a prior time, and representations of at least one update output procedure which, at a current time, defines the output of the corresponding second system block as a function of either the current state of the corresponding second system block or the current state of the corresponding second system block and at least one input of the corresponding second system block at the current time, a list of each input to the corresponding system block and at least one feed-through list comprising a list of any input of the corresponding system block which directly affects the output for the corresponding system block, the method of assembling comprising the steps of using the sequencer program for operating the computer for thereby processing the content of the network list and the library for forming a sequence of representations of the procedures in the library blocks, which library blocks correspond to those system blocks which are identified in the network list, and comprising the steps such that the procedures, when executed by a computer in the order of the list, simulate said system, the step of forming including the steps of: -
(i) storing in said ordered list, for any said first system block which is identified in the network list, a representation of at least one said update output procedure which is represented in each library block, such that each input for such first system block in the feed-through list for the corresponding library block is defined by one of said procedures which is represented previously in the ordered list; and (ii) comparing the list of each input and the feed-through list in the library block corresponding to system blocks identified in the network list and conditioned on the results of such comparison which indicate that a library block corresponds to a second system block, storing in said ordered list a representation of at least one update state procedure in such library block, such representation being stored at a position in the ordered list, such that each input for the corresponding second system block is defined by one of said update output procedures which is represented previously in the ordered list.
-
-
32. In a method for creating a library of library blocks, for use with user specified stored network lists, by a programmed computer running a sequencer program for generating a computer program which represents any functional system selected by any said network list, where each such system comprises first and second system blocks interconnected between inputs and outputs of the system blocks in a functionally operative system, some of said system blocks being functionally different from the others,
any said input connected to any said output being defined by such output, any said second system block having a delay and an output, which at one time, is dependent on the condition of at least one said input to the same said second system block at a prior time or the condition of both at least one said input to the same second system block at a prior time and at least one said input to the same second system block at a current time, the library comprising a plurality of different library blocks, a different said library block corresponding to and representing each functionally different one of the system blocks in all of said systems, the steps of the method of creating the library comprising the steps of storing in each said library block representations of the functional characteristics of the corresponding system block and comprising the step of storing if such system block is a first system block, representations of at least one update output procedure which defines, at a current time, the output of the corresponding first system block as a function of each input thereof t the current time, and if such system block is a second system block, representations of an update state procedure which, at a current time, defines a state for the corresponding second system block as a function of at least one input for the corresponding second system block at a prior time, and representations of at least one update output procedure which, at a current time, defines the output of the corresponding second system block as a function of either the current state of the corresponding second system block or the current state of the corresponding second system block and at least one input of the corresponding second system block at the current time, and a representation of whether such system block is a state block.
-
35. In a method using a programmed computer for generation of a computer program which represents any of a plurality of different systems where each such system comprises system blocks interconnected between inputs and outputs of the first and second system blocks in a functionally operative system, some of said system blocks being functionally different from the others,
any said input connected to any said output being defined by such output, any said second system block having a delay and an output, which at one time, is dependent on the condition of at least one said input to the same said second system block at a prior time or the condition of both at least one said input to the same second system block at a prior time and at least one said input to the same second system block at a current time, the method using a sequencer program, a stored library and a stored network list, the library comprising a plurality of different library blocks, a different said library block corresponding to and representing each functionally different one of the system blocks in all of said systems, the stored network list representing, for any such system, the identity of each system block and the interconnections of the inputs and outputs of the system blocks in such system, each said library block comprising representations of the functional characteristics of the corresponding first and second system blocks, the representations of characteristics for each library block, for a corresponding system block, comprising if such system block is a first system block, representations of an update output procedure in which all inputs for the corresponding first system block need to be defined before such update output procedure can be executed in the computer program and if such system block is a second system block, representations of an update state procedure which defines, at a current time, a state for the corresponding second system block as a function of at least one input for the corresponding second system block at a prior time, and representations of at least one update output procedure which, at a current time, defines i) the output of the corresponding system block as a function of either the current state of the corresponding second system block or ii) the current state of the corresponding second system block and at least one input of the corresponding second system block at the current time, and in which at least one input to such second system block need not be defined before such update output procedure for such second system block can be executed in the computer program, the method comprising the steps of using the sequencer program for operating the computer for thereby processing the content of the network list and the library for forming a sequence of representations of the procedures in the library blocks, which library blocks correspond to those system blocks which are identified in the network list, and comprising the steps of checking the library blocks which correspond to the system blocks identified in the network list to determine if each such library block corresponds to a second system block and including in the sequence for each such library block which corresponds to a second system block a representation of the update state procedure separate from the update output procedure for such library block.
Specification