Professional Documents
Culture Documents
SUPELEC/IETR
Avenue de la Boulais, CS 47601, 35576, Cesson-Sévigné Cedex, France
pierre.leray@supelec.fr
Abstract — We present in this paper a lab on partial the one hand, and increase transfer speed to
reconfiguration (PR) of FPGA for a video application. This lab is reconfiguration plan on the other hand. This implies for
dedicated to last year engineering students. The implementation
target is a Xilinx Virtex5 of a ML506 design kit board. The
instance:
structure of the proposed design, as well as the designing steps - to priviledge parameterization techniques at
and the obtained results are detailled. This lab is based on the design time[13],
research done by the authors in the domain of software radio and - to speed-up ICAP interface at the maximum
cognitive radio during last decade. technological capabilities [14].
Index terms— partial reconfiguration of FPGA, Virtex, ICAP,
education Software radio is an application context that does not
differ so much from any other real-time embedded
I. INTRODUCTION electronics domain. This makes partial reconfiguration
of FPGA (combined with a management architecture)
The lab presented in this paper is an heritage of the usefull for many other applications contexts and in
research done by the authors in the domain of software particular image and video processing domain. This has
radio [1] [2] and cognitive radio [3] in their research always been a common interest we also addressed with
work. Future flexible radio operation indeed implies the video processing researchers both for joint radio and
use of heterogeneous processing units such as DSP, video contexts [15][16], and only video processing
FPGA, GPP, and ASIC. But we claimed that efficiency alone. For instance, the TransMedi@ project [17] of the
(in terms of processing power, power consumption, etc.) Brittany Region pole of excellence Images and Networks
can only be guaranteed if a management dedicated to (Images et Réseaux) adressed the FPGA PR solution for
reconfiguration is especially added to radio processing video transcoding in the infrastructure servers.
[4][5][6][7]. Moreover, the requirement for local and fast
reconfiguration was also identified at that time [8]. As We now believe it is time to spread PR technology in the
processor reconfiguration is not a breakthrough, a industrial domain for applications and consequently it is
special focus has been made on hardware side, namely time for education of future engineers.
FPGA, in order to complete the heterogenous
management capabilities: from first experiminents [9], to The paper is organized as follows. Next part describes
realistic radio algorithms implementation [10] and the project we propose as a lab to last year students, just
system integration [11]. In the reconfigurable hardware before they graduate for engineering diploma. Part III
domain, we speak about partial reconfiguration (PR) of exposes how reconfiguration management is deployed in
FPGA [12]. the context of partial reconfiguration of FPGA. A focus
on the design flow for partial reconfiguration is
Efficiency in terms of reconfiguration speed is a crucial summed-up in part IV. Finally, implementation results
feature of partial reconfiguration, and even a condition are given in part V, as well as concluding remarks in a
of pertinence for software radio and cognitive radio last section.
community. That is the reason why we particularly
studied all the possible means to reduce reconfiguration
time through two axes: decrease partial bistream size on
II. PROJECT DESCRIPTION
The FPGA processing is made of two distinct pieces. On The goal is to dynamically change the PU operation
the one hand, the video processing chain we’ll detail in without interrupting the video stream.
this paragraph. On the other hand is the management
architecture to be added to the processing in order to C. Video application
enable dynamic and correct reconfiguration, as defined
in our research work on management architectures [7]. The goal is to perfom a video transcoding on a 60 frames
This will be described in the special context of FPGA in per second video stream. This kind of application can be
part III of this paper. met in the data infrastructure context where the video
stream could be compressed in order to fit with
Module “video_128_in” of Figure 1 receives data from bandwidth requirements in a given area. Another need is
the video coder of the design kit and stores it in the also to transcode a given high quality video stream into
embedded memory inside the FPGA (input picture several lower quality streams, as from a HD TV
memory) of 128 by 128 pixels. broadcast stream to a mobile phone format.
Then a processing unit (PU) performs the video We propose here to switch between two different kinds
processing (see next section) and stores the result in the of transcoding. Either enhance the quality of the input
embedded memory inside the FPGA (output picture video stream, or broadcast the input video stream
memory) of 256 by 256 pixels. towards 4 lower quality receivers.
Module “video_256_out” of Figure 1 sends data from In the first case, the algorithm used to change a 128x128
the FPGA to the DVI (Digital Visual Interface) pixels data stream to a 256x256 pixels data stream is the
controller of the design kit. H-264 semi-pixel upscaling of Figure 2.
B. MicroBlaze and its software drivers
a1 = E – 5*F + 20*G +20*H –5*I + J
a = Clip (a1 + 16 >>5) A FPGA configuration is done by loading in the
a
configuration plan binary data, which are called a
E F G H I J
bitstream. Changing the FPGA operation (partially or
totally) means reloading a new bistream. Either it
K b reconfigures the whole FPGA (total bitstream), or only a
j1= a – 5*b + 20*c1 + 20*d1 – 5*e + f sub-part of the FPGA and we speak about partial
j = Clip (j1 + 512 >>10)
c
reconfiguration.
L P R
x j
In this design we chose to use a MicroBlaze softcore to
M d perform the bitstream loading from the memory to the
x1 = E – 5*K + 20*L +20*M –5*N + O ICAP interface, as shown in Figure 3. Bitstreams are
x = Clip (x1 + 16 >> 5)
stored in an off-chip (external to the FPGA) memory of
N e
the design kit board. In this perspective, students had to
develop the soft driver of top right Figure 3 to be
O f executed by the MicroBlaze. This driver’s task consists
in controlling the ICAP interface in order to perform
partial reconfiguration.
Figure 2 – H-264 semi-pixel upscaling schematic view
The MicroBlaze is the bitstream table manager in order
The second context only consists in duplicating 4 times
to select the correct bistream depending on the
the input data stream.
reconfiguration order it receives. This reconfiguration
order is typically coming from higher layers of the
III. PR MANAGEMENT ARCHITECTURE management architecture, as exposed in [7] in a
cognitive radio context.
A. PR design approach
Soft driver
MicroBlaze platform
Two modes are possible for dynamic reconfiguration, Wait for
MicroBlaze Reconfiguration order &
depending on the reconfiguration initiator. Either CPU
Config busy FALSE
reconfiguration is done by an external processor (to the PLB Read Bitstream attributes
FPGA) through JTAG, serial port or SelectMap in Configuration Table