12.12.2012 Views

Xcell Journal: The authoritative journal for programmable ... - Xilinx

Xcell Journal: The authoritative journal for programmable ... - Xilinx

Xcell Journal: The authoritative journal for programmable ... - Xilinx

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

DIGITAL SIGNAL PROCESSING<br />

only requirement is <strong>for</strong> you to specify the<br />

parameters; the multiple instantiations of<br />

the basic footprints and the required connections<br />

between them are automatically<br />

generated, leaving you with a core design<br />

tailored to those exact specifications.<br />

Usage<br />

<strong>The</strong> <strong>Xilinx</strong> J.83 modulator implementation<br />

is available as a module that plugs into<br />

<strong>Xilinx</strong> System Generator <strong>for</strong> DSP, or as a<br />

netlist that may be directly referenced by<br />

another design. <strong>The</strong> design of the J.83 core<br />

in System Generator allows <strong>for</strong> generation<br />

with a simple push button solution.<br />

Through a GUI constructed in the familiar<br />

Simulink environment, the core provides<br />

you with a convenient means of supplying<br />

design specifics such as the granularity<br />

desired, the number of channels required,<br />

and clock rates, as shown in Figure 7.<br />

Figure 7 – J.83 Annex B<br />

generator GUI screenshot<br />

During parameterization and generation,<br />

the core is automatically configured to the<br />

specifications and deposited into the target<br />

directory. Along with the netlist, the core<br />

also includes behavioral and timing simulation<br />

script files (.do) <strong>for</strong> Mentor Graphics ®<br />

ModelSim and an ISE Project Navigator<br />

project file (.npl). From this point on, you<br />

can bring the core into the ISE Project<br />

Navigator environment <strong>for</strong> synthesis, place<br />

and route, and bitstream generation.<br />

Resource Sharing<br />

<strong>The</strong> <strong>Xilinx</strong> FPGA implementation of the<br />

J.83 modulator specification capitalizes<br />

on a particular architectural feature to<br />

construct efficient multi-channel implementations:<br />

the shift register logic 16<br />

(SRL16) primitive, found in Virtex-II,<br />

Virtex-II Pro, and Spartan-3 devices.<br />

You can think of SRL16 as a series concatenation<br />

of 16 flip-flops with a <strong>programmable</strong><br />

tap point. This unique aspect<br />

of <strong>Xilinx</strong> FPGAs is extremely powerful <strong>for</strong><br />

building very efficient time-division multiplexed<br />

(TDM) hardware that you can<br />

use, <strong>for</strong> example, to process multiple<br />

channels of data.<br />

Because they run the design at a faster<br />

rate, TDM processing structures save<br />

resources. This has been notably exploited<br />

during the design of an optimized multichannel<br />

group of modulators. For example,<br />

in the design of the optimized<br />

four-channel granularity of a group, all<br />

channels share a common control structure<br />

in the MPEG framer, RS encoder,<br />

interleaver, randomizer, and TCM. As the<br />

interleaver controls are shared, the data<br />

path into and out of the interleaver effectively<br />

becomes wider.<br />

Number<br />

of Channels<br />

Resource Utilization<br />

Using the resource sharing techniques<br />

we’ve described thus far, you can realize significant<br />

savings in the implementation of<br />

modulators constructed out of optimized<br />

four-channel granularity designs compared<br />

to the equivalent constructed out of singlechannel<br />

granularity designs.<br />

Table 1 and Table 2 show a comparison<br />

of the resources used in the design of various<br />

sizes of J.83 modulators using single- and<br />

four-channel granularity footprints. <strong>The</strong>y<br />

also show the resources used to implement 4,<br />

8, and 12 channels of J.83 Annex B and J.83<br />

Annex A/C solutions on a Spartan-3 device.<br />

Although Table 1 details the resources<br />

on an implementation that does not contain<br />

the optional root-raised cosine filter,<br />

the details in Table 2 are specific to an<br />

implementation that contains the option.<br />

Using the 12-channel case as an example,<br />

the scales are favorably tipped towards a<br />

four-channel granularity implementation<br />

of the J.83 Annex B and J.83 Annex A/C,<br />

as the savings achieved are significant.<br />

J.83 Annex B J.83 Annex A/C<br />

Slices/BRAM/External Memory Slices/BRAM<br />

One Channel Four Channel One Channel Four Channel<br />

Granularity Granularity Granularity Granularity<br />

4 3372/8/1 1866/2/1 1574/4 1049/3<br />

8 6764/16/2 3644/4/1 3130/8 2088/6<br />

12 10049/24/2 5405/6/1 4683/12 3304/9<br />

Number<br />

of Channels<br />

Table 1 – Resource utilization comparison between one- and four-channel granularity<br />

J.83 Annex A/B/C designs without RRC (Spartan-3 FPGAs)<br />

J.83 Annex B J.83 Annex A/C<br />

Slices/BRAM/External Memory Slices/BRAM<br />

One Channel Four Channel One Channel Four Channel<br />

Granularity Granularity Granularity Granularity<br />

4 8014/20/1 3748/7/1 4829/8 2444/4<br />

8 16024/40/2 7402/14/1 9661/16 4877/8<br />

12 23924/60/2 11057/21/1 14449/24 7483/12<br />

Table 2 – Resource utilization comparison between one- and four-channel granularity<br />

J.83 annex A/B/C designs with RRC (Spartan-3 FPGAs)<br />

54 <strong>Xcell</strong> <strong>Journal</strong> Winter 2004

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!