Devices with tightly coupled CPUs and FPGA logic allow for the implementation of heterogeneous applications which combine multiple components written in hardware and software languages, including first-party source code and third-party IP. Flexibility in component relationships is important, so that the system designer can move components between software and hardware as the application design evolves. This paper presents a system-level type system and linker, which allows functions in software and hardware components to be directly linked at link time, without requiring any modification or recompilation of the components. The type system is designed to be language agnostic, and exhibits higher-order features, to enables design patterns suc...
FPGA systems are moving towards a system-on-chip model, both at the architectural level and in the d...
The Liquid Metal project at IBM Research aimed to design and implement a new programming language ca...
Architectures combining a field programmable gate array (FPGA) and a general-purpose processor on a ...
We present an overview of the evolution of programming techniques for Field-Programmable Gate Arrays...
As the complexity of system design increases, use of pre-designed components, such as generalpurpose...
International audienceDesigners increasingly rely on reusing intellectual property (IP) and on raisi...
A hardware implementation can bring orders of magnitude improvements in performance and energy consu...
Modern Systems-on-Chip (SoC) architectures and CPU+FPGA computing platforms are moving towards heter...
As the scaling down of transistor size no longer provides boost to processor clock frequency, there ...
A key aspect of the synthesis of embedded systems is the automatic integration of system components....
High-level synthesis (HLS) can automatically synthesize software to hardware. With the design specif...
International audienceThis paper presents the work done to use industry and academic synthesis tools...
This thesis presents a cosynthesis tool designed to target single IC platforms containing both uncom...
The complexity of today’s embedded real-time systems is continuously growing with high demands on de...
Abstract—This paper introduces hthreads, a unifying program-ming model for specifying application th...
FPGA systems are moving towards a system-on-chip model, both at the architectural level and in the d...
The Liquid Metal project at IBM Research aimed to design and implement a new programming language ca...
Architectures combining a field programmable gate array (FPGA) and a general-purpose processor on a ...
We present an overview of the evolution of programming techniques for Field-Programmable Gate Arrays...
As the complexity of system design increases, use of pre-designed components, such as generalpurpose...
International audienceDesigners increasingly rely on reusing intellectual property (IP) and on raisi...
A hardware implementation can bring orders of magnitude improvements in performance and energy consu...
Modern Systems-on-Chip (SoC) architectures and CPU+FPGA computing platforms are moving towards heter...
As the scaling down of transistor size no longer provides boost to processor clock frequency, there ...
A key aspect of the synthesis of embedded systems is the automatic integration of system components....
High-level synthesis (HLS) can automatically synthesize software to hardware. With the design specif...
International audienceThis paper presents the work done to use industry and academic synthesis tools...
This thesis presents a cosynthesis tool designed to target single IC platforms containing both uncom...
The complexity of today’s embedded real-time systems is continuously growing with high demands on de...
Abstract—This paper introduces hthreads, a unifying program-ming model for specifying application th...
FPGA systems are moving towards a system-on-chip model, both at the architectural level and in the d...
The Liquid Metal project at IBM Research aimed to design and implement a new programming language ca...
Architectures combining a field programmable gate array (FPGA) and a general-purpose processor on a ...