A new approach to the maximum-flow problem
Journal of the ACM (JACM)
Network flows: theory, algorithms, and applications
Network flows: theory, algorithms, and applications
Clustering for improved system-level functional partitioning
ISSS '95 Proceedings of the 8th international symposium on System synthesis
A hardware/software partitioning algorithm for designing pipelined ASIPs with least gate counts
DAC '96 Proceedings of the 33rd annual Design Automation Conference
Hardware/software partitioning of VHDL system specifications
EURO-DAC '96/EURO-VHDL '96 Proceedings of the conference on European design automation
An architectural co-synthesis algorithm for distributed, embedded computing systems
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Period-Based Load Partitioning and Assignment for Large Real-Time Applications
IEEE Transactions on Computers
Constraint-driven system partitioning
DATE '00 Proceedings of the conference on Design, automation and test in Europe
Hardware resource allocation for hardware/software partitioning in the LYCOS system
Proceedings of the conference on Design, automation and test in Europe
Hardware/software partitioning with integrated hardware design space exploration
Proceedings of the conference on Design, automation and test in Europe
A knowledge-based system for hardware-software partitioning
Proceedings of the conference on Design, automation and test in Europe
Proceedings of the ninth international symposium on Hardware/software codesign
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Hardware/Software CO-Design for Data Flow Dominated Embedded Systems
Hardware/Software CO-Design for Data Flow Dominated Embedded Systems
Partitioning sequential programs for CAD using a three-step approach
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Hardware-Software Cosynthesis for Digital Systems
IEEE Design & Test
Hardware-Software Cosynthesis for Microcontrollers
IEEE Design & Test
A Fast and Robust Network Bisection Algorithm
IEEE Transactions on Computers
Dynamic hardware/software partitioning: a first approach
Proceedings of the 40th annual Design Automation Conference
On the hardware-software partitioning problem: System modeling and partitioning techniques
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Modifying Min-Cut for Hardware and Software Functional Partitioning
CODES '97 Proceedings of the 5th International Workshop on Hardware/Software Co-Design
A linear-time heuristic for improving network partitions
DAC '82 Proceedings of the 19th Design Automation Conference
Preference-Driven Hierarchical Hardware/Software Partitioning
ICCD '99 Proceedings of the 1999 IEEE International Conference on Computer Design
System-level codesign of mixed hardware-software systems
System-level codesign of mixed hardware-software systems
MiBench: A free, commercially representative embedded benchmark suite
WWC '01 Proceedings of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop
Two novel multiway circuit partitioning algorithms using relaxed locking
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Hardware/software partitioning for multifunction systems
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Time-constrained scheduling of large pipelined datapaths
Journal of Systems Architecture: the EUROMICRO Journal
Algorithmic aspects of area-efficient hardware/software partitioning
The Journal of Supercomputing
Finding optimal hardware/software partitions
Formal Methods in System Design
RRES: a novel approach to the partitioning problem for a typical subset of system graphs
EURASIP Journal on Embedded Systems - Reconfigurable Computing and Hardware/Software Codesign
New model and algorithm for hardware/software partitioning
Journal of Computer Science and Technology
A polynomial algorithm for partitioning problems
ACM Transactions on Embedded Computing Systems (TECS)
Evaluating the Kernighan-Lin Heuristic for Hardware/Software Partitioning
International Journal of Applied Mathematics and Computer Science
Low power hardware-software partitioning algorithm for heterogeneous distributed embedded systems
EUC'06 Proceedings of the 2006 international conference on Embedded and Ubiquitous Computing
Automatic generation of hardware/software interfaces
ASPLOS XVII Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
Efficient heuristic algorithms for path-based hardware/software partitioning
Mathematical and Computer Modelling: An International Journal
Efficient heuristic and tabu search for hardware/software partitioning
The Journal of Supercomputing
Hi-index | 0.00 |
One of the most crucial steps in the design of embedded systems is hardware/software partitioning, that is, deciding which components of the system should be implemented in hardware and which ones in software. Most formulations of the hardware/software partitioning problem are NP-hard, so the majority of research efforts on hardware/software partitioning has focused on developing efficient heuristics.This article considers the combinatorial structure behind hardware/software partitioning. Two similar versions of the partitioning problem are defined, one of which turns out to be NP-hard, whereas the other one can be solved in polynomial time. This helps in understanding the real cause of complexity in hardware/software partitioning. Moreover, the polynomial-time algorithm serves as the basis for a highly efficient novel heuristic for the NP-hard version of the problem. Unlike general-purpose heuristics such as genetic algorithms or simulated annealing, this heuristic makes use of problem-specific knowledge, and can thus find high-quality solutions rapidly. Moreover, it has the unique characteristic that it also calculates lower bounds on the optimum solution. It is demonstrated on several benchmarks and also large random examples that the new algorithm clearly outperforms other heuristics that are generally applied to hardware/software partitioning.