Professional Documents
Culture Documents
DSP Implementation I l t ti
Digital Signal Processing can be implemented in both hardware and p software Software based approach implements in general purpose Processor Programs the processor for the tasks of particular application
FPGA based Digital Design using Verilog HDL ( f p g a c o u r s e @ y a h o o . c o m )
Timing Ti i
The operations can be distributed spatially in different blocks or one block . Depends upon how many clock cycles we have before next y y sample In case whole of the binary word is being y g processed at the same time, then hardware resources ensure in- time delivery of the results The operations can be distributed over latency factor i.e. time between first input and first valid output t t
FPGA based Digital Design using Verilog HDL ( f p g a c o u r s e @ y a h o o . c o m )
Features F t
Xilinx XtremeDSP
Starting with Virtex 4 family, Xilinx introduced DSP48 block for high-speed DSP on FPGAs Essentially a multiply-accumulate core with many other features Now also Spartan 3A and Virtex 5 have DSP blocks Spartan-3A
DSP48 and Block RAM have dedicated interconnect to prevent interconnect bandwidth issues
FPGA based Digital Design using Verilog HDL ( f p g a c o u r s e @ y a h o o . c o m )
Features F t
1. The 18-bit A bus and B bus are concatenated, with the A bus being the most significant. 2. The X,Y, and Z multiplexers are 48-bit designs. Selecting any of the 48 bit 36-bit inputs provides a 48-bit sign-extended output. 3. The multiplier outputs two 36-bit partial products, sign extended to 48 bits. The partial products feed the X and Y multiplexers. When OPMODE selects the multiplier, both X and Y multiplexers are utilized and the adder/subtracter combines the partial products into a valid multiplier result.
Features F t
4. The multiply-accumulate path for P is through the Z multiplexer. The P feedback through the X multiplexer enables accumulation of P cascade when the multiplier is not used 5. The Right Wire Shift by 17 bits path truncates the lower 17 bits, and sign extends the upper 17 bits 6. The gray colored multiplexers are programmed at configuration time gray-colored 7. The shared C register supports multiply-add, wide addition, or rounding 8. 8 Enabling SUBTRACT implements Z (X+Y+CIN) at the output of the adder/subtracter
A input Logic i tL i
B input logic i tl i
C input L i i t Logic
P output Logic t tL i
Mathematical Functions M th ti l F ti
DSP 48 can perform mathematical functions such as:
Add/Subtract Accumulate Multiply py Multiply-Accumulate Multiplexer Barrel Shifter Counter Divide ( lti Di id (multi-cycle) l ) Square Root (multi-cycle)
Serial FIR Filter (Xilinx calls this MACC filters) Parallel P ll l FIR Filt Filter Semi-Parallel FIR Filter Multi-rate FIR Filters
MACC Filter
Xilinx implementation of a serial FIR filter called a MACC ( lti l accumulate filt ) (multiply l t filter) This example has 96 coefficients Max input sample rate = clock speed / number of p p p taps t
FPGA based Digital Design using Verilog HDL ( f p g a c o u r s e @ y a h o o . c o m )
Features of DSP48E1 F t f
The DSP48E1 slice supports many independent functions. These functions include :
Multiply py Multiply accumulate (MACC) Multiply add Three-input add ee pu Barrel shift Wide-bus multiplexing Magnitude comparator Bit-wise logic functions, pattern detect, and wide counter
Enhanced F t E h d Features
The Virtex-6 FPGA Virtex 6 DSP48E1 slice includes all Virtex-5 FPGA DSP48E features plus a variety of enhancements
SMU
CSE 5349/7349
CSE 5349/7349
Arithmetics A ith ti .
Floating point/Fixed Point Double/single precision Square Root, Multiply, Divide(float/fixed) Match ith M t h with MATLAB results i th next lt in the t session ..
Optimize Your Design for Xilinx A hi Xili Architecture y CORE Generator System
A Port input of operand to Xtreme DSP Cascaded A port . Driven by ACOUT B Port input of operand to Xtreme DSP Concatenation of A and B ports C port input to XtremeDSP slice add/sub. Carry in value from fabric SEL port Selects the instruction width as p per no. of instructions P port output from XtremeDSP slice add/sub, provides the selected instructions FPGA based Digital Design using Verilog HDL result. Max : 48 bits ( f p g a c o u r s e @ y a h o o . c o m ) 78
CARRYO UT
Ouput O t
No N
Configuration of Core C fi ti fC
A Graphical user interface appears when DSP48 macro is selected to be generated g via CoreGen First Component name is provided by user A number of instructions copied from available instructions can be pasted on to user-defined instructions There are 64 i t ti Th instructions
FPGA based Digital Design using Verilog HDL 81 ( f p g a c o u r s e @ y a h o o . c o m )
Pipeline Options Pi li O ti
There are 3 options ,
Automatic Tier1 axis Expert : Fully automated (as per ISE) : Configurable upto one tier ( one : Fully configurable
Checkboxes appear as to select whether pipeline is to be inferred or not at a certain point of hardware
FPGA based Digital Design using Verilog HDL 82 ( f p g a c o u r s e @ y a h o o . c o m )
Implementation
DSP48 Consumption C ti
Instantiation T I t ti ti Template l t
dsp481 YourInstanceName ( ( ) .clk(clk), .sel(sel), // Bus [2 : 0] y ( y ), .carryin(carryin), .a(a), // Bus [17 : 0] .b(b), // Bus [17 : 0] b(b) .c(c), // Bus [47 : 0] .p(p)); // Bus [47 : 0] p(p));
FPGA based Digital Design using Verilog HDL 88 ( f p g a c o u r s e @ y a h o o . c o m )
Thanks