Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Richard Neil Pittman

dblp:60/6064 · DBLP profile ↗
← Back
11ranked-venue papers
1as first author
0since 2021 · last 2013
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 11 · 1 first-authorSoftware engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
5 papers
Reconfigurable computing and FPGAs · 70% Electronic design automation · 16% Processor architecture and microarchitecture · 12%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Reconfigurable computing and FPGAs › dynamic reconfiguration
partial reconfiguration
0.442010
Minimizing partial reconfiguration overhead with fully streaming DMA engines and intelligent ICAP controller (abstract only) · FPGA 2010
Energy reduction with run-time partial reconfiguration (abstract only) · FPGA 2010
Reconfigurable custom floating-point instructions (abstract only) · FPGA 2010
Reconfigurable computing and FPGAs › FPGA configuration
configuration compression
0.112010
Minimizing partial reconfiguration overhead with fully streaming DMA engines and intelligent ICAP controller (abstract only) · FPGA 2010
Reconfigurable computing and FPGAs
FPGA power reduction
0.112010
Energy reduction with run-time partial reconfiguration (abstract only) · FPGA 2010
Processor architecture and microarchitecture › instruction set architecture
instruction set extension
0.112010
Reconfigurable custom floating-point instructions (abstract only) · FPGA 2010
Reconfigurable computing and FPGAs › dynamic reconfiguration
reconfiguration overhead reduction
0.112010
Minimizing partial reconfiguration overhead with fully streaming DMA engines and intelligent ICAP controller (abstract only) · FPGA 2010
Electronic design automation › physical design › placement › circuit placement
FPGA placement
0.112009
Automatic bus macro placement for partially reconfigurable FPGA designs · FPGA 2009
Electronic design automation
physical design
0.112009
Automatic bus macro placement for partially reconfigurable FPGA designs · FPGA 2009
Processor architecture and microarchitecture
chip multiprocessor
0.012010
Combining multicore and reconfigurable instruction set extensions · FPGA 2010
Hardware accelerators and domain-specific architectures
DMA engine
0.012010
Minimizing partial reconfiguration overhead with fully streaming DMA engines and intelligent ICAP controller (abstract only) · FPGA 2010

Methods — techniques the papers use, named apart from their topics

partial reconfiguration · 0.2floyd-warshall case study · 0.1bitstream compression · 0.1IEEE-754 floating-point · 0.1ICAP controller · 0.1fitness scoring · 0.1design space exploration · 0.1
YearPublicationVenuePosition
2013 Image Segmentation Using Hardware Forest Classifiers
abstract
Image segmentation is the process of partitioning an image into segments or subsets of pixels for purposes of further analysis, such as separating the interesting objects in the foreground from the un-interesting objects in the background. In many image processing applications, the process requires a sequence of computational steps on a per pixel basis, thereby binding the performance to the size and resolution of the image. As applications require greater resolution and larger images the computational resources of this step can quickly exceed those of available CPUs, especially in the power and thermal constrained areas of consumer electronics and mobile. In this work, we use a hardware tree-based classifier to solve the image segmentation problem. The application is background removal (BGR) from depth-maps obtained from the Microsoft Kinect sensor. After the image is segmented, subsequent steps then classify the objects in the scene. The approach is flexible: to address different application domains we only need to change the trees used by the classifiers. We describe two distinct approaches and evaluate their performance using the commercial-grade testing environment used for the Microsoft Xbox gaming console.
Richard Neil Pittman, Alessandro Forin, Antonio Criminisi, Jamie Shotton, Atabak Mahram
FCCM1
2013 Achieving energy efficiency through runtime partial reconfiguration on reconfigurable systems
abstract
One major advantage of reconfigurable computing systems is their ability to reconfigure hardware at runtime. In this paper, we study the feasibility of achieving energy efficiency in reconfigurable computing systems (e.g., FPGAs) through runtime partial reconfiguration (PR) techniques. In the ideal scenario, we use a hardware accelerator to accelerate certain parts of the program execution; when the accelerator is not active, we use partial reconfiguration to unload it to reduce power consumption. Since the reconfiguration process may introduce a high energy overhead, it is unclear whether this approach is efficient. To approach this problem, we first analytically identify the conditions under which partial reconfiguration can reduce energy consumption. Our results indicate that the key to reduce partial reconfiguration energy overhead is to minimize the time overhead of the reconfiguration process. Based on this analysis, we design and implement a fast reconfiguration engine that achieves close-to-ideal throughput on Xilinx Virtex-4 FPGAs. Our fast reconfiguration engine utilizes a master-slave DMA pair to stream data between the SRAM and the Internal Configuration Access Port (ICAP). We experimentally verify our proposed solutions and compare our design to existing energy reduction techniques, such as clock gating. The results of our study show that by using partial reconfiguration to eliminate the power consumption of the accelerator when it is inactive, we can accelerate program execution and at the same time reduce the overall energy consumption by half.
Shaoshan Liu, Richard Neil Pittman, Alessandro Forin, Jean-Luc Gaudiot
ACM Trans. Embed. Comput. Syst.2
2012 Minimizing the runtime partial reconfiguration overheads in reconfigurable systems
Shaoshan Liu, Richard Neil Pittman, Alessandro Forin, Jean-Luc Gaudiot
J. Supercomput.2
2010 On energy efficiency of reconfigurable systems with run-time partial reconfiguration
abstract
In this paper we study whether partial reconfiguration can be used to reduce FPGA energy consumption. In an ideal scenario, we will have a hardware accelerator to assist with certain parts of program execution. When the accelerator is not active, we use partial reconfiguration to unload it to reduce both static and dynamic power. However, the reconfiguration process may introduce a high energy overhead, thus it is unclear whether this approach is feasible. To approach this problem, we identify the conditions under which partial reconfiguration can be used to reduce energy consumption, and we propose solutions to minimize the configuration energy overhead. The results of our study show that by using partial reconfiguration to reduce the power consumption of the accelerator when it is inactive, we can accelerate program execution and at the same time halve the overall energy consumption.
Shaoshan Liu, Richard Neil Pittman, Alessandro Form, Jean-Luc Gaudiot
ASAP2
2010 Path-based scheduling in a hardware compiler
abstract
Hardware acceleration uses hardware to perform some software functions faster than it is possible on a processor. This paper proposes to optimize hardware acceleration using path-based scheduling algorithms derived from dataflow static scheduling, and from control-flow state machines. These techniques are applied to the MIPS-to-Verilog (M2V) compiler, which translates blocks of MIPS machine code into a hardware design represented in Verilog for reconfigurable platforms. The simulation results demonstrate a factor of 22 in performance improvement for simple self-looped basic blocks over the base compiler.
Ruirui Gu, Alessandro Forin, Richard Neil Pittman
DATE3
2010 Combining multicore and reconfigurable instruction set extensions
abstract
The shift to multi-core processors presents a number of opportunities and challenges to different research fields, including the field of FPGA applications. This paper investigates the advantages of combining multi-core processors and reconfigurable instruction set extensions. Both our analysis and the experimental results show that these two approaches exploit different levels of parallelism. Using a case study on the Floyd-Warshall algorithm, we demonstrate that the multi-core architecture and the reconfigurable instruction set extensions complement each other. By combining these two methods together we find a win-win solution, which gives us a more efficient implementation with higher performance.
Zhimin Chen 0002, Richard Neil Pittman, Alessandro Forin
FPGA2
2010 Reconfigurable custom floating-point instructions (abstract only)
abstract
Multimedia and communication algorithms from the embedded system domain often make extensive use of floating-point arithmetic. Due to the complexity and expense of the floating-point hardware, these algorithms are usually converted to fixed point operations, or implemented using floating-point emulation in software. This study presents the design and implementation of custom floating-point units, leveraging the partial reconfiguration feature of state-of-the-art FPGAs. The custom floating-point units can be dynamically configured, loaded, and executed when needed by software applications. The system is binary compliant with the conventional MIPS architecture and the IEEE-754 standard, and supports most of the floating-point operations and relevant functionalities. Furthermore, we investigate various customization strategies and construct a set of optimized functional modules to meet different application demands or requirements. Using LINPACK as a floating-point intensive example, we replace a sequence of 25 instructions with a custom unit, and demonstrate an overall 80x application speedup.
Zhanpeng Jin, Richard Neil Pittman, Alessandro Forin
FPGA2
2010 Energy reduction with run-time partial reconfiguration (abstract only)
abstract
We study whether partial reconfiguration can be used to reduce FPGA energy consumption. In the ideal scenario, we have a hardware accelerator to accelerate certain parts of the program execution. And when the accelerator is not active, we use partial reconfiguration to unload it to reduce both static and dynamic power. However, the reconfiguration process may introduce a high energy overhead, thus it is unclear whether this approach is feasible. To approach this problem, we identify the conditions under which partial reconfiguration can be used to reduce energy consumption, and we propose solutions to minimize the configuration energy overhead. The results of our study show that by using partial reconfiguration to eliminate the power consumption of the accelerator when it is inactive, we can accelerate program execution and at the same time reduce the overall energy consumption by half.
Shaoshan Liu, Richard Neil Pittman, Alessandro Forin
FPGA2
2010 Minimizing partial reconfiguration overhead with fully streaming DMA engines and intelligent ICAP controller (abstract only)
abstract
Configuration overhead seriously limits the usefulness of FPGA partial reconfiguration. In this paper, we propose a combination of two techniques to minimize the partial reconfiguration performance overhead. First, we design and implement fully streaming DMA engines to nearly saturate configuration throughput. Second, we exploit a simple form of configuration data redundancy to compress the configuration bitstreams, and we implement an intelligent ICAP controller to perform decompression at runtime. The results show that our design achieves an effective configuration data transfer throughput of up to 1.2 Gbytes/s, which actually well surpasses the theoretical upper bound of the data transfer throughput, 400 Mbytes/s. Specifically, our fully streaming DMA engines reduce the configuration time from the range of seconds to the range of milliseconds, a more than 1000-fold improvement. In addition, our simple compression scheme achieves up to 75% reduction of bitstream size and results in a decompression circuit with negligible hardware overhead.
Shaoshan Liu, Richard Neil Pittman, Alessandro Forin
FPGA2
2009 Automatic bus macro placement for partially reconfigurable FPGA designs
abstract
Dynamic Partial Reconfiguration of FPGAs partitions the configurable logic fabric into static and reconfigurable regions. The reconfigurable regions' functionality changes at run time while the static regions continue unperturbed. The reconfigurable and static regions interface via fixed connection points ("bus macros"). We introduce the notion of a fitness score as the measure of how well the combined designs meet their timing constraints, subject to a given bus macro placement. We present a tool that uses design-space exploration to obtain automatic, near-optimal placements. The tool achieves 76% better fitness scores over manual placements. The location of the bus macros around a region has a noticeable impact on the timings, and we found that this is accurately reflected on our fitness score. We also found that following the accepted best design practices leads to quantifiably sub-optimal placements, underscoring the need for such a tool.
Jeffrey M. Carver, Richard Neil Pittman, Alessandro Forin
FPGA2
2008 An Extensible I/O Subsystem
abstract
This paper provides an overview of the I/O subsystem of the eMIPS dynamically self-extensible processor. During execution, eMIPS can load additional logic blocks that perform a variety of functions, from adding new instructions to the base instruction set to controlling I/O pins. A dynamically loaded logic block that acts as an I/O peripheral to software is what we term an extensible I/O peripheral, and the resulting I/O subsystem an extensible I/O subsystem. Extensible I/O subsystems already exist for off-chip peripherals and busses. On eMIPS, this is now also realized to create loadable on-chip peripherals and bus interfaces. To realize the extensible I/O subsystem, we have made two changes to the existing design. First, we have added additional mechanisms for a newly loaded extensible on-chip peripheral to connect to the memory controller, to interact with system software in the discovery process, to obtain the I/O space and interrupt resources that it needs to operate correctly and finally to disconnect from it. Second, we have extended the security model to extensible on-chip peripherals and their software drivers. Privileged peripherals can request access to additional interface signals that are normally not available to non-privileged extensions. These signals allow access to physical memory, interrupt lines and I/O pins. Extensible on-chip peripherals can interact with system software via memory-mapped I/O and interrupts. Further, they can also add new I/O instructions to the processor's ISA.
Bharat Sukhwani, Alessandro Forin, Richard Neil Pittman
FCCM3