nimish sane 1 , john ford 2 , andrew harris 3 , and shuvra s. bhattacharyya 1
DESCRIPTION
Nimish Sane. Integrating Dataflow Modeling with the CASPER Toolflow for Design and Implementation of Tunable Digital Downconverter. Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/1.jpg)
Integrating Dataflow Modeling with the CASPER Toolflow for Design and Implementation of Tunable
Digital Downconverter
Nimish Sane1,John Ford2, Andrew Harris3, and Shuvra S. Bhattacharyya1
1 Dept. of Electrical and Computer Engineering, University of Maryland, College Park2 National Radio Astronomy Observatory, Green Bank
3 Dept. of Astronomy, University of Maryland, College Park
09/30/2009
Nimish Sane
![Page 2: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/2.jpg)
CASPER Workshop 2009 2
Outline:
• Motivation• Dataflow modeling• Tunable Digital Downconverter application• Design approach• Integration with CASPER toolflow
![Page 3: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/3.jpg)
CASPER Workshop 2009 3
Motivation: DSP systems
• Efficient design and implementation of DSP systems:– Model based design approach– Exposure to underlying model of computation– High-level platform-independent abstraction and
prototype
![Page 4: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/4.jpg)
CASPER Workshop 2009 4
Motivation: Dataflow modeling
• Dataflow modeling used extensively for –– embedded systems for signal processing and
communication applications– electronic design automation
• Dataflow-oriented DSP design tools typically allow –– high-level application specification– software simulation– resource estimation– synthesis for hardware or software implementation
• Leverage growing body of research in dataflow models of computation to the field of astronomical signal processing
![Page 5: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/5.jpg)
CASPER Workshop 2009 5
Dataflow-oriented tools:
• Ptolemy (UC Berkeley)• Advanced Design System (Agilent Technologies)• LabVIEW (National Instruments)• CAL• SysteMoc• PEACE• Compaan/Laura• OpenDF• DIF (Dataflow Interchange Format)
![Page 6: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/6.jpg)
CASPER Workshop 2009 66
Dataflow modeling:
• Data-driven execution• Data = Sequence of tokens; token is a data sample
Dataflow graph: synchronous dataflow (SDF)
• Actor• FIFO Buffer• Consumption Rate• Production Rate• Schedule [(3 ((2 A) BD)) C]
A B C
D
1 2 1 3
2
2
![Page 7: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/7.jpg)
CASPER Workshop 2009 77
Parameterized Cyclo-static dataflow (CSDF)
D[1 0 0 0]
Decimator (CSDF)D = 4; phase = 0
IN OUTA
11 1B
control
data output
D
1
1 [1, 0, 0, …, 0]1 x D
Use Parameterized DataflowModel (PDF)
![Page 8: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/8.jpg)
CASPER Workshop 2009 88
Modeling Design Space
XPSDF
XPCSDF
Ex
pre
ss
i ve
po
we
r
Verification / synthesis power
XC, BDF, DDF
XSDF
XCSDF
XCSDF, SSDFMDSDF,
WBDF
X
CFDF
![Page 9: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/9.jpg)
CASPER Workshop 2009 99
Core Functional Dataflow (CFDF):
• Restricted form of enable-invoke dataflow (EIDF)• Generalized DF model• Flexible and efficient prototyping• Natural description of actors for static and dynamic
DF models• Transformations from other DF models into CFDF• Actor specification
– enable function– invoke function– Set of modes
![Page 10: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/10.jpg)
CASPER Workshop 2009 1010
Actors in Functional DIF (Example: Switch)
Switch
control
out1
out2
in
Application Graph
1
1
1 1
1
1
[1,0]
[0,1]
Switch
1
1
[1,0]
[0,1]False
Output
TrueOutput
Control
Data
Switch Actor
Production & consumptionbehavior of switch modes
Mode
No. of tokens consumed
No. of tokens produced
Control Data True False
control 1 0 0 0
control_true 0 1 1 0
control_false 0 1 0 1
control
control_true control_false
Mode transition diagrambetween switch modes
![Page 11: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/11.jpg)
CASPER Workshop 2009 1111
CFDF representation of tunable decimator
Mode Transitions for Decimator (CFDF)
control
data output
D
1
1 [1, 0, 0, …, 0]1 x D
Each mode is annotated with number of tokens consumed from control and data inputs, and that produced on to the output
D = 4
D = 3
![Page 12: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/12.jpg)
CASPER Workshop 2009 1212
DIF based design flow
The DIF Package
Dataflow M odels
DIF Front-end
Dataflow -basedDSP DesignTools
AutocodingToolsetPtolem y II
OtherTools
Em beddedProcessingPlatform s
Java OtherEm beddedPlatform sJava VM
DIF SpecificationsDIF Language
Static
SDF
CSDFHSDF
DSP DesignsM DSDF
Im age/Video
Signal Proc
Ada
VDM
Algorithm s
DIF-to-C
C
DSPs
AIF / Porting
DIF Spec
DIF Representations
Other Ex/Im
DIF Spec
SPG NM O M L
DIF-Ptolem y Ex/Im
M eta-M odeling
BLDFPDF
Dynam ic
DIF BDF
Com m Sys
DIF-AT Ex/ImDSP
Libraries
TI
VSIPL
Other
![Page 13: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/13.jpg)
CASPER Workshop 2009 1313
Approach:
![Page 14: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/14.jpg)
CASPER Workshop 2009 1414
Target application: Tunable digital downconverter (TDD)
• Part of Green Bank Ultimate Pulsar Processing Instrument (GUPPI), NRAO, Green Bank
• Observing at narrow bandwidths– With same number of channels, this allows finer
spectroscopy– Downsampling the input signal to Nyquist rate for the
chosen (narrow) BW
• Tunable digital downconverter (TDD)– Support various TDD configurations– Support tuning without re-synthesizing the hardware
![Page 15: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/15.jpg)
CASPER Workshop 2009 1515
Block Diagram of Backend with TDD
To downstreamsignal processingunits
8-bit ADC(Sampling + Quantization)
Downconverter+
Mixer
Band-width
CenterFrequency
Clock800 MHz
BasebandInputBW = 800 MHz
8 output lines**200 MS/s each
XAUI_0*
XAUI_1*
*XAUI : 10x Auxiliary User Interface port for streaming data over CX4 connectors of BEE2 and iBOB boards, with maximum data transfer capability of 10 Gbps.
To downstreamsignal processingunits
8-bit ADC(Sampling + Quantization)
Downconverter+
Mixer
Band-width
CenterFrequency
Clock800 MHz
BasebandInputBW = 800 MHz XAUI_0*
XAUI_1*
*XAUI : 10x Auxiliary User Interface port for streaming data over CX4 connectors of BEE2 and iBOB boards, with maximum data transfer capability of 10 Gbps.
** Each output line of ADC block has underlying 8 lines that output 8 bits in parallel
÷ 4
![Page 16: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/16.jpg)
CASPER Workshop 2009 16
Design specifications for TDD:
• Input:
– 800MHz baseband signal sampled at 1.6 GS/s, available over 8 ADC output lines
– Each ADC output carries 200 MS/s, where each sample is 8-bit fixed point number.
• Output:
– Downsampled signal of pre-selected bandwidth and pass-band, to be fed to XAUI ports
![Page 17: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/17.jpg)
CASPER Workshop 2009 17
Design specifications for TDD:
• Parameters:– Bandwidth (BW) and center frequency (CF) of the band– User specified– Parameters, once set by the user (observer), remain
constant for a given observation session– BW may take values in the set {20, 40, 50, 80, 100, 200,
400, 64, 128, 240} MHz– Choice of CF will depend upon the BW, and possible values
of CF for a given BW would ensure that entire spectrum is covered along with some overlap between the bands
• Hardware Platform:– iBOB
![Page 18: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/18.jpg)
CASPER Workshop 2009 1818
Tunable Digital Downconverter:
*parameters which affect the functional behavior of the block8 lines each of 8-bit each
ADC output8 lines200 MS/seach
fLO
(CF)*
Mixer
To XAUI Ports
SampleRate
Conv-erter(BW)*
Mixer
fLO
(CF)*
BPF(BW, CF)*
Switch(CF)*
BPF(BW, CF)*
Switch(CF)*
Select(CF)* Select
(CF)*
if output is baseband Baseband output
![Page 19: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/19.jpg)
CASPER Workshop 2009 19
Functional DIF Prototype:
• CFDF with PCSDF and PSDF as underlying dataflow models
• Canonical scheduling– Simulation– Functional verification– Buffer sizes in terms of number of tokens
Sample Rate Converter
1/5phase = 0{ }4
inputs
4outputs
[1 0 0 0 0]1
1
1
1
[0 1 0 0 0]
[0 0 1 0 0]
[0 0 0 1 0]
![Page 20: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/20.jpg)
CASPER Workshop 2009 2020
TDD in Functional DIF
![Page 21: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/21.jpg)
CASPER Workshop 2009 2121
Integration with CASPER toolflow/ Implementation in Simulink:
• Emulating dataflow semantics in Simulink/Xilinx System Generator (XSG)
• Developing actors/blocks currently not supported in XSG/CASPER/BEE_XPS libraries
• Supporting parameterization without the need for synthesizing hardware each time the configuration of TDD changes
![Page 22: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/22.jpg)
CASPER Workshop 2009 2222
Emulating Dataflow Semantics in Simulink/XSG:• Actors (Nodes) in DF graph
Functional Simulink blocks– enable function: to determine whether
the actor can be fired– invoke function: the actual
functionality of the block• Edges in DF graph FIFO blocks in
Simulink model– Size– Peek number of tokens in the buffer– Blocking read semantics– Implementation: dual port RAM
block + wrapper to provide above features
![Page 23: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/23.jpg)
CASPER Workshop 2009 2323
Parameterization for Simulink blocks:
• Pre-synthesis– Parameterized subsystems with possible
redrawing of underlying blocks– Masked subsystems with mask scripting
• Post-synthesis– Support for tuning TDD parameters during run-
time– Choice of frequency band determines parameters
for underlying blocks– Use of software registers and PowerPC
![Page 24: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/24.jpg)
CASPER Workshop 2009 2424
Conclusion:
• Dataflow model based high-level application specification for– platform-independent prototype– functional simulation and verification– analysis (e.g. buffer sizes in terms of number of tokens)– benchmark for targeted platform-specific implementations
• Integrating DIF based design approach with the CASPER toolflow– Porting DIF based prototype to Simulink/XSG– Emulating DF semantics in Simulink– Supporting parameterized actor blocks
• Design is being currently integrated with the existing version of GUPPI
![Page 25: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/25.jpg)
CASPER Workshop 2009 25
Unit-testing:
• DSPCAD Integrative Command-line Environment (DICE)– Cross-platform framework for unit-testing– DICELANG plug-ins for application language-
specific project development (C, Java, Verilog, etc.)
– Test – Fail – Edit – Compile – Test methodology
![Page 26: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/26.jpg)
CASPER Workshop 2009 26
Future work:
• Using more efficient scheduling techniques and porting them to FPGA based platforms
• Automated mapping of application-specification to platform-specific implementation
![Page 27: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/27.jpg)
CASPER Workshop 2009 27
Acknowledgement:
• Randy McCullough, NRAO, Green Bank• Jason Ray, NRAO, Green Bank• Shilpa Bollineni, NRAO, Green Bank• Scott Ransom, NRAO, Charlottesville• Electronics and software divisions, NRAO,
Green Bank
![Page 28: Nimish Sane 1 , John Ford 2 , Andrew Harris 3 , and Shuvra S. Bhattacharyya 1](https://reader035.vdocuments.net/reader035/viewer/2022062423/56814449550346895db0e5f4/html5/thumbnails/28.jpg)
CASPER Workshop 2009 28
References:
[1] E. A. Lee and D. G. Messerschmitt, “Static scheduling of synchronous dataflow programs for digital signal processing”, in IEEE Transactions on Computers, 1996.
[2] G. Bilsen, M. Engels, R. Lauwereins, and J. A. Peperstraete, “Cyclo-static dataflow”, in IEEE Transactions on Signal Processing, 1996, 44 (2), 397–408.
[3] B. Bhattacharya and S. S. Bhattacharyya, “Parameterized dataflow modeling of DSP systems”, in Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, 2000, pp. 1948–1951, Istanbul, Turkey.
[4] W. Plishker, N. Sane, M. Kiemb, K. Anand, and S. S. Bhattacharyya, “Functional DIF for rapid prototyping”, in Proceedings of the International Symposium on Rapid System Prototyping, Jan 2008, pp. 17–23, Monterey, California.