GB2362005A - Hardware/software codesign system - Google Patents
Hardware/software codesign systemInfo
- Publication number
- GB2362005A GB2362005A GB0115062A GB0115062A GB2362005A GB 2362005 A GB2362005 A GB 2362005A GB 0115062 A GB0115062 A GB 0115062A GB 0115062 A GB0115062 A GB 0115062A GB 2362005 A GB2362005 A GB 2362005A
- Authority
- GB
- United Kingdom
- Prior art keywords
- hardware
- software
- processor
- description
- codesign
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/347—Physical level, e.g. placement or routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/08—HW-SW co-design, e.g. HW-SW partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
A hardware/software codesign system for making an electronic circuit which includes both dedicated hardware and software controlled resources. The codesign system receives a behavioural description of the target electronic system and automatically partitions the required functionality between hardware and software, while being able to vary the parameters (e.g. size or power) of the hardware and/or software. Thus, for instance, the hardware and the processor for the software can be formed on an FPGA, each being no bigger than is necessary to perform the desired functions. The codesign system outputs a description of the required processor (which can be in the form of a net list for placement on the FPGA), machine code to run on the processor, and a net list or register transfer level description of the necessary hardware. It is possible for the user to write some parts of the description of the target system at register transfer level to give closer control over the operation of the target system, and the user can specify the processor or processors to be used, and can change, for instance, the partitioner, compilers or speed estimators used in the codesign system. The automatic partitioning may be performed by using a genetic algorithm which estimates the performance of randomly generated different partitions and selects an optimal one of them.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9828381.5A GB9828381D0 (en) | 1998-12-22 | 1998-12-22 | Hardware/software codesign system |
PCT/GB1999/004338 WO2000038087A1 (en) | 1998-12-22 | 1999-12-21 | Hardware/software codesign system |
Publications (3)
Publication Number | Publication Date |
---|---|
GB0115062D0 GB0115062D0 (en) | 2001-08-15 |
GB2362005A true GB2362005A (en) | 2001-11-07 |
GB2362005B GB2362005B (en) | 2003-07-16 |
Family
ID=10844844
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GBGB9828381.5A Ceased GB9828381D0 (en) | 1998-12-22 | 1998-12-22 | Hardware/software codesign system |
GB0115062A Expired - Fee Related GB2362005B (en) | 1998-12-22 | 1999-12-21 | Hardware/software codesign system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GBGB9828381.5A Ceased GB9828381D0 (en) | 1998-12-22 | 1998-12-22 | Hardware/software codesign system |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU1875200A (en) |
GB (2) | GB9828381D0 (en) |
WO (1) | WO2000038087A1 (en) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6542998B1 (en) | 1997-02-08 | 2003-04-01 | Pact Gmbh | Method of self-synchronization of configurable elements of a programmable module |
JP2002530780A (en) | 1998-11-20 | 2002-09-17 | アルテラ・コーポレーション | Reconfigurable programmable logic device computer system |
US6378122B1 (en) | 1999-02-26 | 2002-04-23 | Xilinx, Inc. | Method and apparatus for evolving a plurality of versions of a configuration bitstream in parallel |
US6363519B1 (en) | 1999-02-26 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for testing evolvable configuration bitstreams |
US6363517B1 (en) | 1999-02-26 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for remotely evolving configuration bitstreams |
US6430736B1 (en) | 1999-02-26 | 2002-08-06 | Xilinx, Inc. | Method and apparatus for evolving configuration bitstreams |
US6539532B1 (en) | 1999-02-26 | 2003-03-25 | Xilinx, Inc. | Method and apparatus for relocating elements in an evolvable configuration bitstream |
US7343594B1 (en) | 2000-08-07 | 2008-03-11 | Altera Corporation | Software-to-hardware compiler with symbol set inference analysis |
WO2002013072A2 (en) * | 2000-08-07 | 2002-02-14 | Altera Corporation | Inter-device communication interface |
US7069204B1 (en) * | 2000-09-28 | 2006-06-27 | Cadence Design System, Inc. | Method and system for performance level modeling and simulation of electronic systems having both hardware and software elements |
US8058899B2 (en) | 2000-10-06 | 2011-11-15 | Martin Vorbach | Logic cell array and bus system |
GB0028079D0 (en) * | 2000-11-17 | 2001-01-03 | Imperial College | System and method |
US20020112219A1 (en) * | 2001-01-19 | 2002-08-15 | El-Ghoroury Hussein S. | Matched instruction set processor systems and efficient design and implementation methods thereof |
US20020116166A1 (en) * | 2001-02-13 | 2002-08-22 | El-Ghoroury Hussein S. | Matched instruction set processor systems and method, system, and apparatus to efficiently design and implement matched instruction set process systems using interconnected design components |
US7055019B2 (en) | 2001-02-13 | 2006-05-30 | Ellipsis Digital Systems, Inc. | Matched instruction set processor systems and method, system, and apparatus to efficiently design and implement matched instruction set processor systems by mapping system designs to re-configurable hardware platforms |
US7444531B2 (en) | 2001-03-05 | 2008-10-28 | Pact Xpp Technologies Ag | Methods and devices for treating and processing data |
US9037807B2 (en) | 2001-03-05 | 2015-05-19 | Pact Xpp Technologies Ag | Processor arrangement on a chip including data processing, memory, and interface elements |
US7996827B2 (en) | 2001-08-16 | 2011-08-09 | Martin Vorbach | Method for the translation of programs for reconfigurable architectures |
EP1286279A1 (en) * | 2001-08-21 | 2003-02-26 | Alcatel | Configuration tool |
US6668312B2 (en) * | 2001-12-21 | 2003-12-23 | Celoxica Ltd. | System, method, and article of manufacture for dynamically profiling memory transfers in a program |
US20030140337A1 (en) * | 2001-12-21 | 2003-07-24 | Celoxica Ltd. | System, method, and article of manufacture for data transfer reporting for an application |
US20030121010A1 (en) * | 2001-12-21 | 2003-06-26 | Celoxica Ltd. | System, method, and article of manufacture for estimating a potential performance of a codesign from an executable specification |
US8914590B2 (en) | 2002-08-07 | 2014-12-16 | Pact Xpp Technologies Ag | Data processing method and device |
GB0215034D0 (en) * | 2002-06-28 | 2002-08-07 | Critical Blue Ltd | Architecture generation method |
JP2005534114A (en) * | 2002-07-25 | 2005-11-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Inter-source split compilation |
AU2003286131A1 (en) * | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US6964029B2 (en) * | 2002-10-31 | 2005-11-08 | Src Computers, Inc. | System and method for partitioning control-dataflow graph representations |
DE10316292A1 (en) * | 2003-04-09 | 2004-11-11 | Siemens Ag | Method and arrangement for the performance prediction of an information technology system |
US7424698B2 (en) | 2004-02-27 | 2008-09-09 | Intel Corporation | Allocation of combined or separate data and control planes |
US7073159B2 (en) | 2004-03-31 | 2006-07-04 | Intel Corporation | Constraints-directed compilation for heterogeneous reconfigurable architectures |
US7945894B2 (en) | 2005-12-05 | 2011-05-17 | National Instruments Corporation | Implementing a design flow for a programmable hardware element coupled to a processor |
US8121813B2 (en) | 2009-01-28 | 2012-02-21 | General Electric Company | System and method for clearance estimation between two objects |
US20120096445A1 (en) * | 2010-10-18 | 2012-04-19 | Nokia Corporation | Method and apparatus for providing portability of partially accelerated signal processing applications |
US8959469B2 (en) | 2012-02-09 | 2015-02-17 | Altera Corporation | Configuring a programmable device using high-level language |
WO2016077393A1 (en) * | 2014-11-12 | 2016-05-19 | Xilinx, Inc. | Heterogeneous multiprocessor program compilation targeting programmable integrated circuits |
CN104572234A (en) * | 2014-12-29 | 2015-04-29 | 杭州华为数字技术有限公司 | Method for generating source codes used for parallel computing architecture and source-to-source compiler |
US10956241B1 (en) | 2017-12-20 | 2021-03-23 | Xilinx, Inc. | Unified container for hardware and software binaries |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994010627A1 (en) * | 1992-11-05 | 1994-05-11 | Giga Operations Corporation | System for compiling algorithmic language source code into hardware |
WO1997013209A1 (en) * | 1995-10-03 | 1997-04-10 | Telefonaktiebolaget L M Ericsson (Publ) | Method of producing a digital signal processor |
EP0772140A1 (en) * | 1995-10-23 | 1997-05-07 | Interuniversitair Micro-Elektronica Centrum Vzw | A design environment and a design method for hardware/software co-design |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1065611A3 (en) * | 1995-10-23 | 2006-05-10 | Interuniversitair Microelektronica Centrum Vzw | A design environment for hardware/software co-design |
-
1998
- 1998-12-22 GB GBGB9828381.5A patent/GB9828381D0/en not_active Ceased
-
1999
- 1999-12-21 AU AU18752/00A patent/AU1875200A/en not_active Abandoned
- 1999-12-21 WO PCT/GB1999/004338 patent/WO2000038087A1/en active Application Filing
- 1999-12-21 GB GB0115062A patent/GB2362005B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994010627A1 (en) * | 1992-11-05 | 1994-05-11 | Giga Operations Corporation | System for compiling algorithmic language source code into hardware |
WO1997013209A1 (en) * | 1995-10-03 | 1997-04-10 | Telefonaktiebolaget L M Ericsson (Publ) | Method of producing a digital signal processor |
EP0772140A1 (en) * | 1995-10-23 | 1997-05-07 | Interuniversitair Micro-Elektronica Centrum Vzw | A design environment and a design method for hardware/software co-design |
Non-Patent Citations (3)
Title |
---|
32nd Annual Hawaii Int Conf on Systems Sciences, 1999, 5-8 Jan, p10, ISBN:0-7695-0001-3, Saul J M . * |
IEE Proc:Computers and Digital Techniques, v143, n1, pp 55-63, 1 Jan 1996, ISSN:1350-2387, Edwards * |
Int Workshop on Field Programmable Logic and Applications, Abingdon, pp 284-293, 1 Sep 1997, Lechner * |
Also Published As
Publication number | Publication date |
---|---|
AU1875200A (en) | 2000-07-12 |
GB0115062D0 (en) | 2001-08-15 |
GB2362005B (en) | 2003-07-16 |
GB9828381D0 (en) | 1999-02-17 |
WO2000038087A1 (en) | 2000-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2362005A (en) | Hardware/software codesign system | |
WO2002061631A3 (en) | System, method and article of manufacture for using a library map to create and maintain ip cores effectively | |
EP1215569A4 (en) | Data processor | |
Vahid et al. | Warp processing: Dynamic translation of binaries to FPGA circuits | |
EP1293891A3 (en) | Arithmetic processor | |
EP1026585A3 (en) | Method, apparatus, and article of manufacture for developing and executing data flow programs, and optimizing user input specifications | |
EP0997816A3 (en) | Method and apparatus for selecting ways to compile at runtime | |
EP1361501A3 (en) | Power conservation and thermal management arrangements for computers | |
EP0962867A3 (en) | Variable computer slot configuration for multi-speed bus | |
HK1049532B (en) | Real-time scheduling of virtual machines | |
EP1315055A3 (en) | System and method for function block execution order generation | |
EP1026583A3 (en) | User interface for developing and executing data flow programs and methods, apparatus, and articles of manufacture for optimizing the execution of data flow programs | |
WO2004086220A3 (en) | Controlled execution of a program used for a virtual machine on a portable data carrier | |
WO2006013279A3 (en) | Processor time-sharing method | |
WO2004040442A3 (en) | Creating software applications | |
EP0991191A2 (en) | System and method for reducing power dissipation in a circuit | |
de Dinechin et al. | Constant Multipliers for FPGAs. | |
WO2004095283A3 (en) | A method for cpu simulation using virtual machine extensions | |
WO2001069372A3 (en) | Method for compiling a program | |
AU5013800A (en) | Method and apparatus for jump delay slot control in a pipelined processor | |
KR20040079097A (en) | Apparatus for accelerating multimedia processing by using the coprocessor | |
KR100387059B1 (en) | Method for using a program in common by use of board id in mobile communication system | |
WO2002063473A1 (en) | Method for developing data processing system and evaluation board | |
CN117189649B (en) | Fan matrix control method and related equipment | |
EP0919911A3 (en) | Instruction execution cycle control circuit and control method for controlling execution cycle of instruction in pipeline processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) | ||
732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) | ||
732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) |
Free format text: REGISTERED BETWEEN 20100128 AND 20100203 |
|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20181221 |