최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0087916 (2007-01-17) |
등록번호 | US-8250503 (2012-08-21) |
우선권정보 | EP-06001043 (2006-01-18); EP-06400003 (2006-01-18); DE-10 2006 003 275 (2006-01-23); DE-10 2006 004 151 (2006-01-27) |
국제출원번호 | PCT/EP2007/000380 (2007-01-17) |
§371/§102 date | 20081202 (20081202) |
국제공개번호 | WO2007/082730 (2007-07-26) |
발명자 / 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 | 피인용 횟수 : 6 인용 특허 : 544 |
A hardware definition system and method includes a computer processor analyzing software function modules of a software program, and generating, for each of at least a subset of the software function modules, and on the basis of the analyzing step, a respective setting indicating whether the respect
A hardware definition system and method includes a computer processor analyzing software function modules of a software program, and generating, for each of at least a subset of the software function modules, and on the basis of the analyzing step, a respective setting indicating whether the respective function module is to be implemented as a respective hardware module or as a software module executed on a hardware module defined in a hardware module library.
1. A computer-implemented hardware definition method, the method comprising: analyzing, by a computer processor, software function modules of a software program; andgenerating, by the processor, for each of at least a subset of the software function modules, and on the basis of the analyzing step, a
1. A computer-implemented hardware definition method, the method comprising: analyzing, by a computer processor, software function modules of a software program; andgenerating, by the processor, for each of at least a subset of the software function modules, and on the basis of the analyzing step, a respective setting indicating whether the respective function module is to be implemented as a respective hardware module or as a software module executed on a hardware module defined in a hardware module library that includes at least one parameterizable, executable modules;wherein the generating, for each of at least one of the software function modules, includes: selecting a plurality of hardware modules from the hardware module library based on respective parameters of the respective hardware modules that correspond to the analyzed software function module;combining the selected plurality of hardware modules; andoptimizing the combined hardware modules. 2. A computer-implemented hardware definition method, the method comprising: analyzing, by a computer processor, software function modules of a software program; andgenerating, by the processor, for each of at least a subset of the software function modules, and on the basis of the analyzing step, a respective setting indicating whether the respective function module is to be implemented as a respective hardware module or as a software module executed on a hardware module defined in a hardware module library. 3. The method according to claim 2, wherein at least one of the respective hardware modules is a non-programmable module whose function is fixed. 4. The method according to either of claims 2 and 3, wherein at least one of the respective hardware modules is programmable in its function. 5. The method according to claim 4, further comprising: converting those of the software function modules set in the generating step to be implemented as a respective hardware module into the respective hardware modules. 6. The method according to claim 5, further comprising: adding definitions of the converted software function modules to at least one of the hardware module library and a chip definition file. 7. The method according to claim 6, further comprising: forming a chip based on a combination of the modules in the chip definition file. 8. The method according to claim 7, wherein the forming of the chip includes inserting communication channels, as defined in the chip definition file, between the hardware modules that are combined. 9. The method according to claim 8, further comprising inserting memory units into at least some of the communication channels. 10. The method according to claim 9, wherein at least one of the memory units is a register. 11. The method according to claim 9, wherein at least one of the memory units is a first-in-first-out (FIFO) memory unit. 12. The method according to claim 9, wherein at least one of the memory units is a Random-Access-Memory. 13. The method according to claim 5, wherein the converting includes generating a hardware description language. 14. The method according to claim 5, wherein the converting includes generating a hardware netlist. 15. The method according to claim 5, wherein the converting includes synthesizing the respective hardware modules. 16. The method according to claim 15, wherein the synthesizing includes setting at least one of a processing time, a path delay, and a signal delay constraint. 17. The method according to claim 5, wherein the respective hardware modules are added to the hardware module library. 18. The method according to claim 4, further comprising: optimizing each of one or more of the software function modules for execution as a non-programmable hardware module whose function is fixed. 19. The method according to claim 18, further comprising: for each of the optimized one or more of the software function modules, selecting a suitable one of the hardware modules defined in the module library. 20. The method according to claim 19, further comprising: adding the selected hardware modules to a chip definition file. 21. The method according to claim 20, further comprising: forming a chip based on a combination of the modules in the chip definition file. 22. The method according to claim 21, wherein the forming of the chip includes inserting communication channels, as defined in the chip definition file, between the hardware modules that are combined. 23. The method according to claim 22, further comprising inserting memory units into at least some of the communication channels. 24. The method according to claim 23, wherein at least one of the memory units is a register. 25. The method according to claim 23, wherein at least one of the memory units is a first-in-first-out (FIFO) memory unit. 26. The method according to claim 23, wherein at least one of the memory units is a Random-Access-Memory. 27. The method according to claim 4, further comprising: compiling each of one or more of the software function modules into executable code for at least one of a microprocessor and a microcontroller. 28. The method according to claim 27, further comprising: selecting, for the executable code and from the hardware module library, hardware modules capable of performing the functions required by the executable code. 29. The method according to claim 27, wherein the selecting includes modifying a function required by the executable code to correspond to a function of a module of the hardware module library that is more efficient than the function required by the executable code prior to the modification. 30. The method according to claim 4, further comprising: for each of one or more of the software function modules whose setting indicates that the respective software function module is to be implemented as a software module, selecting a suitable one of the hardware modules defined in the module library for its execution. 31. The method according to claim 30, further comprising: adding the selected hardware modules to a chip definition file. 32. The method according to claim 31, further comprising: forming a chip based on a combination of the modules in the chip definition file. 33. The method according to claim 32, wherein the forming of the chip includes inserting communication channels, as defined in the chip definition file, between the hardware modules that are combined. 34. The method according to claim 33, further comprising inserting memory units into at least some of the communication channels. 35. The method according to claim 34, wherein at least one of the memory units is a register. 36. The method according to claim 34, wherein at least one of the memory units is a first-in-first-out (FIFO) memory unit. 37. The method according to claim 34, wherein at least one of the memory units is a Random-Access-Memory. 38. The method according to claim 3, further comprising: for each of one or more of the software function modules whose setting indicates that the respective software function module is to be implemented as a hardware module, selecting a suitable one of the non-programmable hardware modules defined in the module library for its execution. 39. The method according to claim 38, further comprising: adding the selected hardware modules to a chip definition file. 40. The method according to claim 39, further comprising: forming a chip based on a combination of the modules in the chip definition file. 41. The method according to claim 40, wherein the forming of the chip includes inserting communication channels, as defined in the chip definition file, between the hardware modules that are combined. 42. The method according to claim 41, further comprising inserting memory units into at least some of the communication channels. 43. The method according to claim 42, wherein at least one of the memory units is a register. 44. The method according to claim 42, wherein at least one of the memory units is a first-in-first-out (FIFO) memory unit. 45. The method according to claim 42, wherein at least one of the memory units is a Random-Access-Memory. 46. The method according to claim 2, wherein source code written in a high level programming language is compiled into at least a subset of the software function modules. 47. The method according to claim 2, wherein source code written in one of a low level programming language and an assembly language is compiled into at least a subset of the software function modules. 48. The method according to claim 2, wherein the analyzing includes determining whether any of the software function modules does not meet at least one of a maximum power requirement, a performance requirement, and a maximum chip area requirement. 49. The method according to claim 2, wherein the analyzing includes determining which of the software function modules is estimated to execute with a low performance when implemented as a software module executed on a hardware module whose function is programmable. 50. The method according to claim 2, wherein the analyzing includes analyzing respective required clock frequencies of the software function modules. 51. The method according to claim 2, wherein the analyzing includes analyzing respective frequencies of execution of the software function modules. 52. The method according to claim 51, where the analyzing includes analyzing ratios of frequencies of execution of different ones of the software function module to each other. 53. The method according to claim 2, wherein the analyzing includes analyzing respective power dissipations of the software function modules. 54. The method according to claim 2, wherein the hardware module library includes at least one parameterizable, executable module. 55. The method according to claim 54, wherein the generating, for each of at least one of the software function modules, includes selecting a hardware module from the hardware module library based on a parameter of the respective hardware module that corresponds to the respective analyzed software function module.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.