IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0896699
(2007-09-05)
|
등록번호 |
US-7612582
(2009-11-16)
|
우선권정보 |
NZ-535130(2004-09-03); NZ-535757(2004-10-04); NZ-537536(2004-12-24) |
발명자
/ 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
4 인용 특허 :
150 |
초록
▼
A programmable device is useful for high speed operation or as a process controller or as a component for implementing PLD or FPGA applications. The programmable device includes programmable logic hardware having a plurality of basic logic elements and electrically configurable interconnections. The
A programmable device is useful for high speed operation or as a process controller or as a component for implementing PLD or FPGA applications. The programmable device includes programmable logic hardware having a plurality of basic logic elements and electrically configurable interconnections. The interconnections are configurable to interconnect the logic elements as a user control program circuit and to connect the user control program circuit to input and output interfaces. When configured, the device contains a user program circuit interfaced to a control circuit. The control circuit operates synchronously with the user program circuit. The control circuit is able to communicate with a monitoring computer to respond to commands, operate when commanded to cause the user program circuit to run, or pause, or single step, read data values from said state data storage units, and write data values to said state data storage units.
대표청구항
▼
I claim: 1. A programmable device useful for high speed operation or as a process controller, for which the item under control may consist of plant, machinery, peripheral electrical or electronic circuits or other automated systems, or useful as a component for implementing PLD or FPGA applications
I claim: 1. A programmable device useful for high speed operation or as a process controller, for which the item under control may consist of plant, machinery, peripheral electrical or electronic circuits or other automated systems, or useful as a component for implementing PLD or FPGA applications, said programmable device including: at least one input interface and an input register for connection to the item under control to provide sampled and stored input data in digital form, at least one output interface and an output register for connection to the item under control to receive and store output data in digital form, programmable logic hardware including a plurality of basic logic elements and electrically configurable interconnections, said interconnections configurable to interconnect the logic elements as a user control program circuit and to connect the user control program circuit to said input and output interfaces, program loading circuits enabling the user to configure the programmable logic hardware with a user program circuit prior to commencing control, said user program circuit having a plurality of state data storage units storing the user program circuit state data, wherein said programmable device when configured contains a user program circuit interfaced to a control circuit, said control circuit operating synchronously with the user program circuit, said control circuit is able to: communicate with a monitoring computer to respond to commands, operate when commanded to cause the user program circuit to run, or pause, or single step, read data values from said state data storage units, and write data values to said state data storage units. 2. The programmable device as claimed in claim 1 wherein said control circuit is able to pause the user program circuit in response to a signal originating in the user program circuit effective before the next active clock transition. 3. The programmable device as claimed in claim 2 wherein said control circuit is configured into the programmable logic hardware together with the user program circuit , and wherein said programmable device has an operating cycle of at least two non-overlapping sequential intervals including a logic processing interval and a data access interval, each interval consisting of one or more clock periods, and within said logic processing interval an input data register operates to sample and store input data, and the user program circuit operates to update its state data and allow resultant combinational logic values to settle, and an output data register operates to latch and store the output data, and within said data access interval said control circuit is able to read and write the user program circuit state data and cause control functions to be performed. 4. The programmable device as claimed in claim 3 wherein said programmable device includes circuitry for selecting a clock frequency of the programmable logic hardware from a range of values. 5. The monitoring computer for use with a programmable device as claimed in claim 4, said monitoring computer programmed to store a known good reference set of user program circuit state data response patterns representing correct circuit operation generate a test set of user program circuit state data response patterns representing actual circuit operation under the same circuit initial and stimulus conditions as the said reference set, but generated at a selected clock frequency, compare said reference set of user program circuit state date response patterns with said test set of user program circuit state data response patterns, such that differences in the patterns indicate incorrect circuit operation, and repeat the tests and comparisons using different clock frequencies until the maximum allowable clock frequency at which the user program circuit will operate correctly has been found, said monitoring computer enabling the measurement of the maximum clock frequency at which the user program circuit will run without error. 6. The monitoring computer as claimed in claim 5, programmed to: generate a set of user program circuit state data response patterns at a selected clock frequency, said circuits and/or software using single stepping techniques enabling reading of the response pattern resulting from each step prior to the next step, control the state data delivered to the combinational logic networks in the user program circuit to ensure that the user program circuit logic settles with a first pattern during the test cycle settling time, preceded by a second pattern in the clock cycle preceding the test cycle, the first and second patterns being the same patterns as would have occurred if the test were performed, with the same user program circuit state data changes, in a single logic processing interval in continuous run mode, and ensure the logic settling times, which influence the user program circuit state data response patterns generated, have substantially the same values under the single stepping test conditions as would have occurred if the test were performed, with the same user program circuit state data changes, in a single logic processing interval in continuous run mode at the clock frequency being tested. 7. The monitoring computer as claimed in claim 5, programmed to: apply input data, which defines stimulus patterns to the user program circuit, for the purpose of causing the user program circuit to respond as required to enable testing to detect incorrect logic settling, record user program circuit stimulus state data before, and record user program circuit response state data after a logic processing interval active clock transition, as reference data indicative of correct user program circuit operation, by using sufficiently long logic settling times so that the circuit settles so as to meet necessary setup times and operate correctly, and combine said stimulus and response data with other stimulus and response data build a set of data representing a desired test sequence and a known good reference set of stimulus and response patterns. 8. The monitoring computer as claimed in claim 6 wherein said monitoring computer is programmed to identify the location of failure in the user program circuit from the position of a bit that differs when the reference and response state data sets are compared, and indicate to a user the identified location in the user program circuit of each state data bit that fails to operate correctly. 9. The monitoring computer as claimed in claim 6 wherein controlling the delivered state data, and ensuring the logic settling times, includes re-establishing the user program circuit state one step prior to the current state and then stepping the circuit two steps forward in two consecutive clock cycles to achieve a total advance of a single step while restricting the logic settling time to the settling time available between the two active clock transitions associated with the two steps forward. 10. The monitoring computer as claimed in claim 6 wherein controlling the state data delivered, and ensuring the logic settling times, include, at least in part, storing the previous state of at least some state data bits in flip-flops of said program circuit, and multiplexing the previous state data to the associated combinational logic inputs in the clock cycle prior to the single step cycle. 11. The programmable device as claimed in claim 3 including circuitry for detecting transitions on selected signals within the user program circuit including: circuitry for selectively performing, for each selected signal, at least one of: enabling or disabling the detection of transitions on the signal, reading the existing level of the signal, selecting the polarity of the transition to be detected, positive going, negative going or both, that will generate a trigger, and detecting whether a trigger condition has occurred during the last operational clock cycle; and circuitry for allowing settings of said circuitry for detecting transitions, for each selected signal, to be changed by the monitoring computer during a data access interval while the user program circuit continues to operate multitasked. 12. The programmable device as claimed in claim 11 including circuits enabling the user program circuit, when running, to be commanded to pause, after the occurrence of a selected transition on a selected user program circuit signal, prior to the next active clock transition. 13. The programmable device as claimed in claim 11 including circuits enabling the user program circuit to be commanded to run totally within a single logic processing interval until the occurrence of a specified transition on a specified user program circuit signal. 14. The monitoring computer for use with a programmable device as claimed in claim 11, said monitoring computer programmed to: display one or more user program circuit selected signal waveforms without polling a shift chain, according to transitions occurring on the signal, defining each waveform by the initial waveform level and the cycle counts at which the transitions occur. 15. The monitoring computer as claimed in claim 14 programmed to selectably display the clock cycle counts at which the transitions occur, or their time equivalents. 16. The programmable device as claimed in claim 3 including, for at least part of the user program circuit, circuits for, selectably, either single stepping with adequate time at each step to allow the user program circuit to fully settle, or single stepping with the settling time limited, independent of the duration between steps, to that available within a single active transition interval. 17. The programmable device as claimed in claim 3 wherein said programmable device includes at least one of the following: circuits enabling the indicating to the user or to external circuits when said programmable device is in the logic processing interval, circuits enabling the saving of the user program circuit state data into a backup memory when main power is lost, and restoring said state data when main power returns, circuits enabling the configuring of the programmable logic hardware at power-on including with a user program circuit and other necessary circuits so as to automatically start operation and run the user program circuit, circuits enabling the setting of the clock frequency automatically at power-on, circuits enabling the making of the user program circuit state data available to Human--Machine Interface systems and Supervisory Control and Data Acquisition Systems, and circuits enabling communicating with the monitoring computer via a wired or wireless network capable of supporting communications to more than one device. 18. The monitoring computer for use with a programmable device as claimed in claim 3, programmed to display user program circuit signal waveforms by: reading user program circuit state data representing the signals and data to be displayed, single stepping the user program circuit , and repeating said reading and single stepping for the required number of clock cycles. 19. A system including a programmable device including: at least one input interface and an input register for connection to the item under control to provide sampled and stored input data in digital form, at least one output interface and an output register for connection to the item under control to receive and store output data in digital form, programmable logic hardware including a plurality of basic logic elements and electrically configurable interconnections, said interconnections configurable to interconnect the logic elements as a user control program circuit and to connect the user control program circuit to said input and output interfaces, program loading circuits and/or software enabling the user to configure the programmable logic hardware with a user program circuit prior to commencing control, said user program circuit having a plurality of state data storage units storing the user program circuit state data, wherein said programmable device when configured contains a user program circuit interfaced to circuits and/or software, said circuits and/or software enabling the operating synchronously with the user program circuit , said circuits and/or software are able to communicate with a monitoring computer to respond to commands, said circuits and/or software are able to operate when commanded to cause the user program circuit to run, or pause, or single step, said circuits and/or software are able to read data values from said state data storage units and to write data values to said state data storage units, said circuits and/or software are able to pause the user program circuit in response to a signal originating in the user program circuit effective before the next active clock transition after that giving rise to the signal, said circuits and/or software being configured into the programmable logic hardware together with the user program circuit, and wherein said programmable device has an operating cycle of at least two non-overlapping sequential intervals, each interval consisting of one or more clock periods and during which, within a first said interval (the logic processing interval) an input data register operates to sample and store input data, and also the user program circuit operates to update its state data and allow the resultant combinational logic values to settle, and also an output data register operates to latch and store the output data, and within a second said interval (the data access interval) said circuits and/or software are enabled to read and write the user program circuit state data and cause control functions to be performed, and said programmable device includes circuits for selecting the programmable logic hardware clock frequency from a range of values, for the purpose of accommodating various user program circuit logic settling times; and a monitoring computer including: circuitss enabling the comparison of a known good reference set of user program circuit state data response patterns representing correct circuit operation with a test set of user program circuit state data response patterns, the test set representing actual circuit operation under the same circuit initial and stimulus conditions as the said reference set, but generated at a different selected clock frequency, such that differences in the patterns indicate incorrect circuit operation, circuits for repeating the tests and comparisons using different clock frequencies until the maximum allowable clock frequency at which the user program circuit will operate correctly has been found, said monitoring computer enabling the measurement of the maximum clock frequency at which the user program circuit will run without error. 20. The system as claimed in claim 19, which includes: circuits and/or software for generating a set of user program circuit state data response patterns at a selected clock frequency, said circuits and/or software using single stepping techniques enabling reading of the response pattern resulting from each step prior to the next step, circuits and/or software enabling the control of the state data delivered to the combinational logic networks in the user program circuit to ensure that the user program circuit logic settles with a first pattern during the test cycle settling time, preceded by a second pattern in the clock cycle preceding the test cycle, the first and second patterns being the same patterns as would have occurred if the test were performed, with the same user program circuit state data changes, in a single logic processing interval in continuous run mode, and circuits and/or software enabling the ensuring the logic settling times, which influence the user program circuit state data response patterns generated, have substantially the same values under the single stepping test conditions as would have occurred if the test were performed, with the same user program circuit state data changes, in a single logic processing interval in continuous run mode at the clock frequency being tested. 21. The system as claimed in claim 20 wherein said monitoring computer includes circuits and/or software enabling the identifying of the location of failure in the user program circuit from the position of a bit that differs when the reference and response state data sets are compared, and indicating to the user the identified location in the user program circuit of each state data bit that fails to operate correctly. 22. The system as claimed in claim 20 wherein said circuits and/or software enabling the control of the delivered state data, and said circuits and/or software enabling the ensuring that the logic settling times, are provided at least in part by re-establishing the user program circuit state one step prior to the current state and then stepping the circuit two steps forward in two consecutive clock cycles to achieve a total advance of a single step while restricting the logic settling time to the settling time available between the two active clock transitions associated with the two steps forward. 23. The system as claimed in claim 20 wherein said circuits and/or software enabling the control of the state data delivered, and said circuits and/or software enabling the ensuring that the logic settling times, are provided at least in part by storing the previous state of at least some state data bits in flip-flops provided for that purpose, and by multiplexing the previous state data to the associated combinational logic inputs in the clock cycle prior to the single step cycle. 24. The system as claimed in claim 19, including: software enabling the applying of input data, which defines stimulus patterns to the user program circuit, for the purpose of causing the user program circuit to respond as required to enable testing to detect incorrect logic settling, software enabling the recording of the user program circuit stimulus state data before, and user program circuit response state data after a logic processing interval active clock transition, as reference data indicative of correct user program circuit operation, by using sufficiently long logic settling times so that the circuit settles so as to meet necessary setup times and operate correctly, and software enabling the combination of said stimulus and response data with other stimulus and response data so as to build a set of data representing a desired test sequence and a known good reference set of stimulus and response patterns. 25. A system including a programmable device including: at least one input interface and an input register for connection to the item under control to provide sampled and stored input data in digital form, at least one output interface and an output register for connection to the item under control to receive and store output data in digital form, programmable logic hardware including a plurality of basic logic elements and electrically configurable interconnections, said interconnections configurable to interconnect the logic elements as a user control program circuit and to connect the user control program circuit to said input and output interfaces, program loading circuits and/or software enabling the user to configure the programmable logic hardware with a user program circuit prior to commencing control, said user program circuit having a plurality of state data storage units storing the user program circuit state data, wherein said programmable device when configured contains a user program circuit interfaced to circuits and/or software, said circuits and/or software operating synchronously with the user program circuit , said circuits and/or software enabling the communication with a monitoring computer to respond to commands, said circuits and/or software enabling the operatation when commanded to cause the user program circuit to run, or pause, or single step, said circuits and/or software enabling the reading of data values from said state data storage units and to write data values to said state data storage units, said circuits and/or software enabling the pausing of the user program circuit in response to a signal originating in the user program circuit effective before the next active clock transition after that giving rise to the signal, said circuits and/or software enabling the configuration into the programmable logic hardware together with the user program circuit, and wherein said programmable device has an operating cycle of at least two non-overlapping sequential intervals, each interval consisting of one or more clock periods and during which, within a first said interval (the logic processing interval) an input data register operates to sample and store input data, and also the user program circuit operates to update its state data and allow the resultant combinational logic values to settle, and also an output data register operates to latch and store the output data, and within a second said interval (the data access interval) said circuits and/or software are enabled to read and write the user program circuit state data and cause control functions to be performed, and circuits and/or software enabling the detecting of transitions on selected signals within the user program circuit including: circuits and/or software enabling selectively performing, for each selected signal, at least one of: enabling or disabling the detection of transitions on the signal, reading the existing level of the signal, selecting the polarity of the transition to be detected, positive going, negative going or both, that will generate a trigger, and detecting whether a trigger condition has occurred during the last operational clock cycle; and circuits and/or software enabling the settings of the for detecting transitions, for each selected signal, to be changed by the monitoring computer during a data access interval while the user program circuit continues to operate multi-tasked; and a monitoring computer including: circuits and/or software enabling the displaying of one or more user program circuit selected signal waveforms without polling a shift chain, for each waveform said circuits and/or software enabling the displaying being driven by transitions occurring on the signal, said waveform being defined by the initial waveform level and the cycle counts at which the transitions occur. 26. The system as claimed in claim 25 wherein the clock cycle counts at which the transitions occur, or their time equivalents, are also available for display. 27. The system as claimed in claim 26 wherein the programmable device provides clock count data of a kind and in a way that imposes no upper limit on the number of user program circuit enabled clock pulses for which the display may be produced. 28. A system including a programmable device including: at least one input interface and an input register for connection to the item under control to provide sampled and stored input data in digital form, at least one output interface and an output register for connection to the item under control to receive and store output data in digital form, programmable logic hardware including a plurality of basic logic elements and electrically configurable interconnections, said interconnections configurable to interconnect the logic elements as a user control program circuit and to connect the user control program circuit to said input and output interfaces, program loading means enabling the user to configure the programmable logic hardware with a user program circuit prior to commencing control, said user program circuit having a plurality of state data storage units storing the user program circuit state data, wherein said programmable device when configured contains a user program circuit interfaced to circuits and/or software , said circuits and/or software enabling operating synchronously with the user program circuit, said circuits and/or software enabling the o communication with a monitoring computer to respond to commands, said circuits and/or software enabling operation when commanded to cause the user program circuit to run, or pause, or single step, said circuits and/or software enabling the reading of data values from said state data storage units and to write data values to said state data storage units, said circuits and/or software enabling the pausing of the user program circuit in response to a signal originating in the user program circuit effective before the next active clock transition after that giving rise to the signal, said circuits and/or software enabling the configuration into the programmable logic hardware together with the user program circuit, and wherein said programmable device has an operating cycle of at least two non-overlapping sequential intervals, each interval consisting of one or more clock periods and during which, within a first said interval (the logic processing interval) an input data register operates to sample and store input data, and also the user program circuit operates to update its state data and allow the resultant combinational logic values to settle, and also an output data register operates to latch and store the output data, and within a second said interval (the data access interval) said means of control is enabled to read and write the user program circuit state data and cause control functions to be performed; and a monitoring computer enabling the display of user program circuit signal waveforms and optionally other data, the monitoring computer including: circuits and/or software enabling the reading of the user program circuit state data representing the signals and data to be displayed, circuits and/or software enabling the single stepping of the user program circuit, and circuits and/or software enabling therepeating of said reading and single stepping for the required number of clock cycles. 29. A computer programmed to generate a logic circuit for configuring into programmable logic hardware having a plurality of basic logic elements and electrically configurable interconnections, said circuit including a user program circuit having a plurality of state data storage units for storing user program state data, and a control circuit operating synchronously with the user program circuit, said control circuit being able to communicate with a monitoring computer to respond to commands, to operate when commanded to cause the user program circuit to run, or pause, or single step, and to read data values from said state data storage units and write data values to said state data storage units. 30. The computer as claimed in claim 29 wherein said control circuit is able to pause the user program circuit in response to a signal originating in the user program circuit effective before the next active clock transition. 31. The computer as claimed in claim 30 wherein said logic circuit has an operating cycle of at least two non-overlapping sequential intervals including a logic processing interval and a data access interval, each interval consisting of one or more clock periods, and within said logic processing interval an input data register operates to sample and store input data, and the user program circuit operates to update its state data and allow resultant combinational logic values to settle, and an output data register operates to latch and store the output data, and within said data access interval said control circuit is able to read and write the user program circuit state data and cause control functions to be performed. 32. The computer as claimed in claim 31 wherein said logic circuit includes circuits for detecting transitions on selected signals within the user program circuit including: circuits for selectively performing, for each selected signal, at least one of: enabling or disabling the detection of transitions on the signal, reading the existing level of the signal, selecting the polarity of the transition to be detected, positive going, negative going or both, that will generate a trigger, and detecting whether a trigger condition has occurred during the last operational clock cycle; and circuits for allowing settings of the circuits for detecting transitions, for each selected signal, to be changed by the monitoring computer during a data access interval while the user program circuit continues to operate multi-tasked. 33. The computer as claimed in claim 32 wherein said logic circuit includes circuits enabling the user program circuit, when running, to be commanded to pause, after the occurrence of a selected transition on a selected user program circuit signal, prior to the next active clock transition. 34. The computer as claimed in claim 32 wherein said logic circuit includes circuits for enabling the user program circuit to be commanded to run totally within a single logic processing interval until the occurrence of a specified transition on a specified user program circuit signal. 35. The computer as claimed in claim 31 wherein said logic circuit includes circuits for, selectably, either single stepping with adequate time at each step to allow the user program circuit to fully settle, or single stepping with the settling time limited, independent of the duration between steps, to that available within a single active transition interval (ATI). 36. The computer as claimed in claim 31 wherein said logic circuit includes at least one of the following: circuits for indicating to the user or to external circuits when said programmable device is in the logic processing interval, circuits for saving the user program circuit state data into a backup memory when main power is lost, and restoring said state data when main power returns, circuits for configuring the programmable logic hardware at power-on including with a user program circuit and other necessary circuits so as to automatically start operation and run the user program circuit, circuits for setting the clock frequency automatically at power-on, and circuits for communicating with the monitoring computer via a wired or wireless network capable of supporting communications to more than one device. 37. The computer as claimed in claim 29 programmed to also generate a version of the logic circuit that excludes said control circuit.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.