Methods for specifying processor architectures for programmable integrated circuits
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-017/50
H03K-019/177
G06F-015/82
출원번호
US-0190716
(2016-06-23)
등록번호
US-10110233
(2018-10-23)
발명자
/ 주소
Langhammer, Martin
출원인 / 주소
Altera Corporation
대리인 / 주소
Treyz Law Group, P.C.
인용정보
피인용 횟수 :
0인용 특허 :
31
초록▼
A programmable integrated circuit may include soft and hard logic for implementing a reduced instruction set computing (RISC) processor. Processor generator tools implemented on specialized computing equipment may be used to specify desired parameters for the processor architecture, including the da
A programmable integrated circuit may include soft and hard logic for implementing a reduced instruction set computing (RISC) processor. Processor generator tools implemented on specialized computing equipment may be used to specify desired parameters for the processor architecture, including the data word size of one or more data paths, the instruction word size, and a set of instruction formats. The processor generator tools may also be used to determine the appropriate amount of pipelining that is required for each data path to satisfy performance criteria. The processor generator tools can also be used to analyze the processor architecture and to provide options for mitigating potential structural and data hazards.
대표청구항▼
1. A method of using processor generator tools implemented on computing equipment to generate a processor on a programmable integrated circuit having embedded circuitry and programmable circuitry, the method comprising: with the computing equipment, receiving processor parameters;with the computing
1. A method of using processor generator tools implemented on computing equipment to generate a processor on a programmable integrated circuit having embedded circuitry and programmable circuitry, the method comprising: with the computing equipment, receiving processor parameters;with the computing equipment, analyzing the received processor parameters to determine whether a processor specified by the received processor parameters can be generated from the embedded circuitry and the programmable circuitry in the programmable integrated circuit; andin response to determining that the processor specified by the received processor parameters can be generated, generating the processor on the programmable integrated circuit at least in part by configuring the programmable circuitry in the programmable integrated circuit to selectively update a connection between first and second portions of the embedded circuitry in the programmable integrated circuit. 2. The method of claim 1, further comprising: in response to determining that the processor specified by the received processor parameters cannot be generated, providing alternative processor parameters. 3. The method of claim 1, wherein generating the processor on the programmable integrated circuit comprises generating a reduced instruction set computing (RISC) processor on the programmable integrated circuit. 4. The method of claim 1, wherein receiving the processor parameters comprises receiving a data word size for a given data path in the processor. 5. The method of claim 1, wherein receiving the processor parameters comprises receiving different data word sizes for multiple data paths in the processor. 6. The method of claim 1, wherein receiving the processor parameters comprises receiving an instruction word size for the processor. 7. The method of claim 1, wherein receiving the processor parameters comprises receiving a number of registers for the processor. 8. The method of claim 1, wherein receiving the processor parameters comprises receiving a number of interrupts that is supported by the processor. 9. The method of claim 1, wherein receiving the processor parameters comprises receiving a set of instructions for the processor. 10. The method of claim 9, further comprising: in response to receiving the set of instructions, with the processor generator tools, determining one or more functional units that are required to generate the processor. 11. The method of claim 10, further comprising: in response to receiving the set of instructions, with the processor generator tools, determining a first portion of the one or more functional units that are implemented using programmable circuitry on the programmable integrated circuit; andin response to receiving the set of instructions, with the processor generator tools, determining a second portion of the one or more functional units that are implemented using embedded circuitry on the programmable integrated circuit. 12. A method for using processor generator tools implemented on computing equipment to generate a processor on a programmable integrated circuit that includes programmable resources, the method comprising: with the computing equipment, generating the processor on the programmable integrated circuit from a plurality of processor components that are coupled to the programmable resources, wherein generating the processor comprises configuring the programmable resources to which the plurality of processor components are coupled;with the computing equipment, providing suggested pipeline settings for each of the processor components in the processor; andwith the computing equipment, inserting additional pipeline stages into the processor based on the suggested pipeline settings, wherein inserting the additional pipeline stages comprises configuring the programmable resources on the programmable integrated circuit. 13. The method of claim 12, further comprising: with the computing equipment, presenting a user of the processor generator tools with an opportunity to choose one or more pipeline settings from among the suggested pipeline settings. 14. The method of claim 13, further comprising: with the computing equipment, verifying that the one or more pipeline settings chosen by the user pass legality check. 15. The method of claim 12, further comprising: with the computing equipment, implementing the plurality of processor components using soft logic and hard logic on the programmable integrated circuit;with the computing equipment, inserting a first number of pipeline stages in a first component in the plurality of processor components that has been implemented in the soft logic; andwith the computing equipment, inserting a second number of pipeline stages in a second component in the plurality of processor components that has been implemented in the hard logic, wherein the first number is greater than the second number. 16. A method for using processor generator tools implemented on computing equipment to generate a processor on a programmable integrated circuit, the method comprising: generating the processor with a plurality of data paths based at least in part on circuitry embedded on the programmable integrated circuit, wherein each data path in the plurality of data paths has a corresponding functional unit;analyzing the plurality of data paths to determine whether a hazard associated with a difference in the corresponding functional units for the plurality of data paths is present;in response to determining that the processor exhibits the hazard associated with the difference in the corresponding functional units, providing an option to resolve the hazard; andmodifying the processor, wherein the modified processor is free from the hazard. 17. The method of claim 16, wherein analyzing the plurality of data paths comprises analyzing each of the plurality of data paths to determine whether a structural hazard is present in the processor. 18. The method of claim 17, wherein providing the option comprises providing an option selected from the group consisting of: an option to add ports to a register file in the processor;an option to specify a priority resolution scheme for conflicting operations;an option to partition a destination register in the processor;an option to temporarily stall the processor;an option to temporarily store values in a shadow register; andan option to increase the number of identical multicycle operations in the processor. 19. The method of claim 16, wherein analyzing the plurality of data paths comprises analyzing each of the plurality of data paths to determine whether a data hazard is present in the processor. 20. The method of claim 19, wherein providing the option comprises providing an option selected from the group consisting of: an option to manage the data hazard in software;an option to implement hardware interlocking to stall the top of a processor pipeline; andan option to specify a level of forwarding for each data path in the plurality of data paths.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (31)
Heddes, Marco C.; Leavens, Ross Boyd; Rinaldi, Mark Anthony, Assembler tool for processor-coprocessor computer systems.
Earl A. Killian ; Ricardo E. Gonzalez ; Ashish B. Dixit ; Monica Lam ; Walter D. Lichtenstein ; Christopher Rowen ; John C. Ruttenberg ; Robert P. Wilson ; Albert Ren-Rui Wang ; Dror Eliezer, Automated processor generation system for designing a configurable processor and method for the same.
Killian, Earl A.; Gonzalez, Ricardo E.; Dixit, Ashish B.; Lam, Monica; Lichtenstein, Walter D.; Rowen, Christopher; Ruttenberg, John C.; Wilson, Robert P.; Wang, Albert Ren-Rui; Maydan, Dror Eliezer, Automated processor generation system for designing a configurable processor and method for the same.
Killian, Earl A.; Gonzalez, Ricardo E.; Dixit, Ashish B.; Lam, Monica; Lichtenstein, Walter D.; Rowen, Christopher; Ruttenberg, John C.; Wilson, Robert P.; Wang, Albert Ren-Rui; Maydan, D{grave over , Automated processor generation system for designing a configurable processor and method for the same.
Steven Paul Winegarden ; Bart Reynolds ; Brian Fox ; Jean-Didier Allegrucci ; Sridhar Krishnamurthy ; Danesh Tavana ; Arye Ziklik ; Andreas Papaliolios ; Stanley S. Yang ; Fung Fung Lee, Configurable processor system unit.
Moyer, William C.; Traylor, Kevin B., Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence.
Lien Jung-Cheun ; Feng Sheng ; Sun Chung-yuan ; Huang Eddy Chieh, Integrated circuit that includes a field-programmable gate array and a hard gate array having the same underlying structure.
Tony Ngai ; Bruce Pedersen ; Sergey Shumarayev ; James Schleicher ; Wei-Jen Huang ; Michael Hutton ; Victor Maruri ; Rakesh Patel ; Peter J. Kazarian ; Andrew Leaver ; David W. Mendel ; Ji, Interconnection and input/output resources for programmable logic integrated circuit devices.
Kolawa Adam K. (Sierra Madre CA) Salvador Roman (Barcelona ESX) Hicken Wendell T. (Whittier CA) Strickland Bryan R. (Los Angeles CA), Method using a computer for automatically instrumenting a computer program for dynamic debugging.
Chan Andrew K. (Palo Alto CA) Birkner John M. (Portola Valley CA) Chua Hua-Thye (Los Altos Hills CA), Programmable application specific integrated circuit and logic cell therefor.
Ang, Roger; Ahuja, Atul; Lulla, Mukesh T.; Borkovic, Drazen; Small, Brian D.; Tralka, Charles C.; Chan, Andrew K.; Yee, Kevin K., Programmable device with an embedded portion for receiving a standard circuit design.
Cliff Richard G. (Milpitas CA) Reddy Srinivas T. (Santa Clara CA) Raman Rina (Fremont CA) Cope L. Todd (San Jose CA) Huang Joseph (San Jose CA) Pedersen Bruce B. (San Jose CA), Programmable logic array integrated circuit devices.
Jefferson David E. ; McClintock Cameron ; Schleicher James ; Lee Andy L. ; Mejia Manuel ; Pedersen Bruce B. ; Lane Christopher F. ; Cliff Richard G. ; Reddy Srinivas T., Programmable logic device architecture with super-regions having logic regions and a memory region.
Lane Christopher F. ; Reddy Srinivas T. ; Cliff Richard G. ; Zaveri Ketan H. ; Pedersen Bruce B. ; Veenstra Kerry, Programmable logic device circuitry for improving multiplier speed and/or efficiency.
Patel Rakesh H. (Santa Clara CA) Turner John E. (Santa Cruz CA) Wong Myron W. (San Jose CA), Programmable logic device having multiplexers and demultiplexers randomly connected to global conductors for interconnec.
Wong Sau-Ching (Hillsborough CA) So Hock-Chuen (Milpitas CA) Kopec ; Jr. Stanley J. (San Jose CA) Hartmann Robert F. (San Jose CA), Programmable logic device with array blocks connected via programmable interconnect.
Costello John C. (San Jose CA) Patel Rakesh H. (Santa Clara CA), Programmable logic device with logic block outputs coupled to adjacent logic block output multiplexers.
Carmon Donald Edward ; Crouse William George ; Ware Malcolm Scott, System for handling requests for DMA data transfers between a host processor and a digital signal processor.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.