Using an embedded processor to implement a finite state machine
원문보기
IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0402659
(2003-03-28)
|
발명자
/ 주소 |
- James Roxby,Philip B.
- Keller,Eric R.
|
출원인 / 주소 |
|
인용정보 |
피인용 횟수 :
9 인용 특허 :
6 |
초록
▼
Method and System for implementing a Finite State Machine (FSM) using software executed on a processor and having accurate timing information is described, where the accurate timing information is determined without the need to execute the software. An exemplary embodiment includes an IC having an e
Method and System for implementing a Finite State Machine (FSM) using software executed on a processor and having accurate timing information is described, where the accurate timing information is determined without the need to execute the software. An exemplary embodiment includes an IC having an embedded processor and a programmable logic fabric, where part or all of an FSM is implemented using assembly language code stored in a memory, for example, a cache memory, of the embedded processor.
대표청구항
▼
The invention claimed is: 1. A method for implementing a finite state machine (FSM) using a processor, comprising: obtaining a graphical or textual description of a plurality of states of the FSM wherein the textual description is written in an eXtensible Mark-up Language (XML); generating a plural
The invention claimed is: 1. A method for implementing a finite state machine (FSM) using a processor, comprising: obtaining a graphical or textual description of a plurality of states of the FSM wherein the textual description is written in an eXtensible Mark-up Language (XML); generating a plurality of instructions in assembly language for a state of the plurality of states from the graphical or textual description, the plurality of instructions stored in a computer readable medium accessible by the processor, wherein each instruction of the plurality of instructions has a pre-determined number of processor clock cycles associated with that instruction; and before execution of the plurality of instructions on the processor, generating timing information for the state based on an accumulation of the pre-determined number of processor clock cycles associated with each instruction of the plurality of instructions. 2. The method of claim 1, wherein the computer readable medium comprises a cache memory coupled to the processor. 3. The method of claim 1 further comprising, creating a HDL interface to the processor for encapsulating the processor. 4. The method of claim 1 further comprising, selecting a bus from a group consisting of a PLB a OCM bus, and a DCR bus, wherein the selected bus is used in generating the plurality of instructions. 5. A system for generating a finite state machine (FSM) or part thereof for use by a processor embedded in an integrated circuit having a programmable logic fabric, the system comprising: a textual description of the FSM or part thereof, wherein the textual description is written in an eXtensible Mark-up Language (XML); translation program stored in a computer readable medium, configured to convert the textual description to a plurality of assembly language instructions; a cache memory coupled to the processor, the cache memory for storing the plurality of assembly language instructions; a predetermined number of processor clock cycles associated with an assembly language instruction of the plurality of assembly language instructions; and a timing output comprising an indication of a duration of time in a state of the FSM, the state comprising the assembly language instruction, and wherein the indication is derived at least in part from the predetermined number of processor clock cycle. 6. The system of claim 5 further comprising, an interface for hiding the implementation of the FSM or part thereof on the processor from the programmable logic fabric, the interface configured to convert inputs to the FSM or part thereof into data bus inputs into the processor and data bus outputs of the processor to outputs of the FSM or part thereof. 7. The system of claim 6 wherein the interface comprises: a multiplexer for receiving the inputs to the FSM or part thereof, the multiplexer having an address line of the processor as a control input; a bus coupled to the multiplexer and the processor; and a demultiplexer coupled to the bus for transmitting outputs of the FSM or part thereof, the demultiplexer comprising at least one register for receiving data bus outputs of the processor. 8. The system of claim 7 wherein the at least one register has a read/write control input for enabling the at least one register, the read/write control input produced by the processor. 9. The system of claim 6 wherein the interface comprises: an enable module comprising a register and an AND gate, for producing an enable signal; a multiplexer for receiving the inputs to the FSM or part thereof, the multiplexer comprising an address line of the processor as a control input and at least one register for receiving inputs to the FSM, the at least one register enabled by the enable signal; a bus coupled to the multiplexer and the processor; and a demultiplexer coupled to the bus for transmitting outputs of the FSM or part thereof, the demultiplexer comprising an address line of the processor as a control input. 10. The system of claim 6 wherein the inputs to the FSM comprise data inputs and a hardware clock. 11. The system of claim 6 wherein the interface comprises Hardware Description Language code. 12. The system of claim 7 wherein the bus is selected from a group consisting of a PLB, an OCM bus, and a DCR bus. 13. The system of claim 7 wherein the inputs to the FSM comprise data inputs and an FSM clock. 14. A system for generating timing information for a finite state machine (FSM) or part thereof executed by a processor, the system comprising: a plurality of instructions stored in a computer readable medium, wherein the plurality of instructions define at least part of a state of the FSM or part thereof; wherein the plurality of instructions comprise: assembly language instructions or machine language instructions; wherein the plurality of instructions are converted from a textual description; wherein the textual description is written in an eXtensible Mark-up Language (XML); a count of processor clock cycles associated with an instruction of the plurality of instructions, the count determined before the instruction is executed; and timing information for the state comprising a total count of processor clock cycles associated with the plurality of instructions. 15. The system of claim 14 further comprising a cache memory coupled to the processor, wherein the computer readable medium comprises the cache memory. 16. The system of claim 14 wherein the plurality of instructions comprise equations and transitions. 17. The system of claim 16 wherein the transitions comprise equations and transition conditions. 18. A system for generating a finite state machine (FSM) or part thereof for use by a processor embedded in an integrated circuit having a programmable logic fabric, the system comprising: means for generating a textual description of the FSM; means for generating the assembly language code from the textual description wherein the textual description is written in an eXtensible Mark-up Language (XML); means for interfacing the processor with the programmable logic fabric; means for storing the assembly language code; means for producing a count of processor clock cycles associated with an instruction of the assembly language code; and means for generating a timing report having timing information for a state of the FSM, the timing information based at least in part on the count.
이 특허에 인용된 특허 (6)
-
Schubert, Nils Endric; Beardslee, John Mark; Perry, Douglas L., Design instrumentation circuitry.
-
Schubert, Nils Endric; Beardslee, John Mark; Perry, Douglas L., Hardware debugging in a hardware description language.
-
Beardslee, John Mark; Schubert, Nils Endric; Perry, Douglas L., Method and system for providing an electronic system design with enhanced debugging capabilities.
-
Lemay Richard A. (Carlisle MA) Tague Steven A. (Tyngsboro MA) Woods William E. (Natick MA), State machine for executing commands within a minimum number of cycles by accomodating unforseen time dependency accordi.
-
Baxter,Michael A., System and method for dynamic reconfigurable computing using automated translation.
-
Ginter Karl L. ; Shear Victor H. ; Sibert W. Olin ; Spahn Francis J. ; Van Wie David M., Systems and methods for secure transaction management and electronic rights protection.
이 특허를 인용한 특허 (9)
-
Begun, Andrew P; Lawrence, Thomas R, Compression of structured documents.
-
Brebner, Gordon J.; James-Roxby, Philip B.; Keller, Eric R.; Kulkarni, Chidamber R., Method for message processing on a programmable logic device.
-
James Roxby, Philip B., Methods of implementing embedded processor systems including state machines.
-
Willis, John C., Multiprocessor computer system and method having at least one processor with a dynamically reconfigurable instruction set.
-
Santhanam, Viswanathan, Reversible object code compiler for mathematical models.
-
Hajimiri, Seyed-Ali; Analui, Behnam, System and method for clockless data recovery.
-
Zhang, Qian; Liu, Yunxin, Systems and methods for efficiently compressing and decompressing markup language.
-
Mishra, Lalan; Prasad, Mohit, Virtual GPIO.
-
Mishra, Lalan; Prasad, Mohit, Virtual GPIO.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.