Xcell Journal: The authoritative journal for programmable ... - Xilinx
Xcell Journal: The authoritative journal for programmable ... - Xilinx
Xcell Journal: The authoritative journal for programmable ... - Xilinx
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
System Generator <strong>for</strong> DSP<br />
<strong>The</strong> <strong>Xilinx</strong> System Generator tool suite<br />
was employed to implement a majority of<br />
the J.83 modulator design. System<br />
Generator is a visual dataflow design<br />
environment based on <strong>The</strong> MathWorks<br />
Simulink ® visual modeling tool set. This<br />
programming interface allows you to<br />
work at a suitable level of abstraction<br />
from the target hardware plat<strong>for</strong>m and<br />
use the same model – not only <strong>for</strong> simulation<br />
and verification but also <strong>for</strong> FPGA<br />
implementation.<br />
System Generator blocks are bit- and<br />
cycle-true behavioral models of FPGA<br />
Internet<br />
TV Broadcast<br />
DIGITAL SIGNAL PROCESSING<br />
This programming interface allows you to work at a suitable level of<br />
abstraction from the target hardware plat<strong>for</strong>m and use the same model.<br />
MPEG<br />
Framer<br />
F<br />
I<br />
F<br />
O<br />
MPEG F<br />
I<br />
Framer & F<br />
Randomizer O<br />
Web &<br />
Application<br />
Servers<br />
Receivers<br />
MPEG<br />
Encoders<br />
Remultiplexers<br />
(StatMuxes)<br />
RS<br />
Encoder<br />
RS<br />
Encoder<br />
Backplane (e.g. Fibre Channel)<br />
intellectual property components, or<br />
library elements. A library-based approach<br />
results in design cycle compression in<br />
addition to generating area-efficient highper<strong>for</strong>mance<br />
circuits. Together with<br />
model features such as data-type propagation<br />
and the extensive virtual instruments<br />
that are part of the Simulink libraries, the<br />
environment facilitates rapid design space<br />
exploration, together with powerful<br />
mechanisms <strong>for</strong> model debugging.<br />
MATLAB ® scripts from <strong>The</strong><br />
MathWorks programmatically generate<br />
custom VHDL and project files based on<br />
user-defined parameters.<br />
Cable Head-End Customer Premise<br />
Convolutional<br />
Interleaver<br />
Convolutional<br />
Interleaver<br />
Concatenated FEC<br />
CMTS<br />
Router<br />
Video<br />
Servers<br />
Modulators/<br />
Transmitters<br />
Randomizer<br />
Byte to<br />
Symbol &<br />
Diff. Encoder<br />
F<br />
I<br />
F<br />
O<br />
Frame Sync<br />
Insertion &<br />
TCM<br />
Symbol<br />
Mapper<br />
F<br />
I<br />
F<br />
O<br />
F I<br />
F<br />
O<br />
Cable<br />
Modem<br />
Set Top<br />
Box<br />
Figure 1 – Cable network (J.83 modulator fits in the cable head-end modulator/transmitter block)<br />
Figure 2 – J.83 Annex B functional block diagram<br />
Concatenated FEC<br />
Figure 3 – J.83 Annex A/C functional block diagram<br />
RRC<br />
RRC<br />
J.83 in System Generator <strong>for</strong> DSP<br />
<strong>The</strong> J.83 specification defines the <strong>for</strong>ward<br />
error correction (FEC) and baseband modulation<br />
with pulse-shaping characteristics. <strong>The</strong><br />
J.83 Annex B FEC section (Figure 2) uses a<br />
concatenated coding technique with four<br />
processing layers, comprising an RS encoder,<br />
convolutional interleaver, randomizer followed<br />
by a frame sync insertion block, and<br />
trellis-coded modulation (TCM). <strong>The</strong> J.83<br />
Annex A and Annex C (Figure 3) have identical<br />
FEC processing stages, comprising an<br />
RS encoder, convolutional interleaver, and a<br />
byte-to-symbol differential encoder, followed<br />
by a symbol mapper.<br />
<strong>The</strong> System Generator <strong>Xilinx</strong> library, or<br />
block set, is abundantly populated with IP<br />
that enables rapid design and simulation of<br />
such a system. <strong>The</strong> tokens required to construct<br />
the J.83 FEC section – as well as the<br />
filter blocks required to construct pulseshaping<br />
filters – are available within the<br />
library browser. <strong>The</strong> underlying circuit of<br />
each of these tokens is optimized in area and<br />
speed to suit the <strong>Xilinx</strong> family of devices.<br />
Each of these elements is conveniently<br />
customizable to be compatible with the<br />
precise specification of the J.83 standard. It<br />
is then a simple matter of using these customized<br />
library elements to build out the<br />
circuit required.<br />
For example, you can obtain the<br />
(204,188) RS encoder required <strong>for</strong> J.83<br />
Annex A/C by using the <strong>Xilinx</strong> Reed<br />
Solomon encoder block, with the Code<br />
Specification parameter set to DVB.<br />
Similarly, the <strong>Xilinx</strong> interleaver deinterleaver<br />
block is directly used in the design,<br />
with the mode set to Interleaver and the<br />
Number of Branches and Length of<br />
Branches set to 12 and 17, respectively.<br />
This results in an exact match to the<br />
requirements of the interleaver in the J.83<br />
A/C specification. Using the visual graphic<br />
means of design entry in System Generator,<br />
these blocks are easily connected to each<br />
other and to the control circuitry that is<br />
part of the design.<br />
52 <strong>Xcell</strong> <strong>Journal</strong> Winter 2004