SlideShare a Scribd company logo
1 of 13
Download to read offline
Interview: Technical challenge
Candidate: Maikon Nascimento
28-Sept-2021
2
Agenda
Introduction:
Problem Definition
High-level design aspects
Solution:
Block diagram
Interfaces Design
Feasibility
Conclusion:
Concerns
Future Work
3
Introduction: Problem Definition
●
Technical Task: Provide an FPGA design for a
Xilinx MPSoC to acquire a complex baseband
signal using two external ADCs accessed over
SPI, filter/downsample the data and stream it to
an application SW running on the APU. Assume
12-bit component samples, 1 MSPS ADC sample
rate, 50 kSPS output sample rate, Linux running
on the APU.
4
Introduction: Problem Definition
●
1 MSPS and 12b and 1b per clock, the ADC will have 12 MHz as working clock;
●
5
Solution: Block Diagram
●
Assuming 2 ADCs where: 1 for I and the other for Q;
●
Dual Port FIFO assuming the output of the ADCs could have a skew clock issue and we want the 12b words together;
●
The decimation will convert the 24b 1 MSPS to 24b 50 kSPS;
●
DMA transfer the data to the SW APP running in Linux controlling the DMA and pulling data.
6
Solution: Block Diagram
●
Dual port FIFO to deal with the cross clocking domain and grouping the words
●
Decimation algorithm for 20 down of scale factor, which becomes 20 taps in a FIR moving sum filter.
●
Output buffer to buffer the data before transmitting to help the burst of data transfer
7
Solution: Block Diagram –
Decimation Filter
●
Output depends on the current and previous M=20 input samples;
●
Aiming to use the DSPs available in the FPGA for multipliers; The MPSoC may have a
multiplier and accumulator integrated together which should be the aim.
●
Also aiming to infer the minimal adders in the logic; Which can happen with the use of
the specific DSPs from the family.
●
After any operation register the result to improve performance;
●
Re- quantize after the multiplication to keep smaller buses;
8
Solution:Interfaces
●
2 ADCs with 12 bit of LVDS
interface will cost 24 FPGA
LVDS CMOS port in;
●
Plus clock and control signals
from the ADC like a valid or
ready signal.
●
SPI interface: MISO, MOSI,
CLK, GND, and CS. The SPI
could be also the case to
send data from the ADCs to
the FPGA which would
require an SPI in the FPGA.
●
Custom logic receiving 24 bit
of data at MSP;
●
Master and Slave AXI Stream
to interface the DMA.
●
Slave port in the APU to
transfer data from the DMA to
the Linux APU.
●
Controlling the DMA from an
user application in the Linux
to access the registers via
/dev/mem. This is not a
custom DMA but Xilinx DMA
with SR registers available.
●
Vivado tells you at Address
Editor where it is the offset of
the DMA.
●
Maybe a custom signal
connect from the FPGA to
the APU to inter an INT to tell
where new data is available.
9
Solution: Feasibility
● Roughly FPGA resources utilization: number of Logic Element, Registers, Adders, DSP/Multipliers,
Memory, Desired Performance in terms of frequency, and Power consumption.
● Data rate requiments for data transfer from the FPGA to the APU.
● Real-time requirements in the embedded Linux application.
● ADCs for RF AD9361
10
Solution: Feasibility
● Report of Design
implementation to estimate
device utilization.
● Xc7z020clg400
● “could go further here and
explain why this is not a
constrainted design, what
would have changed”.
11
Conclusion
●
This presentation demonstrates a solution and how to approach a DSP problem using a FPGA/APU SoC;
●
Block diagrams were used to describe the solution for data transfer, filtering, interfaces, algorithm
implementation;
●
It was given 4h to complete the task so a high level solution was presented to discuss high level ideas;
●
For the advent of more time I would like to investigate the decimation solution of open APIs like ffmpeg and
openCV for possible use of other strategies that would consume less memory (taps ?) which is a future work.
12
Appendix I – Fixed Point Mult.
●
Just a sample showing the Fixed point multiplication and re-
quantization after the multiplication, this case is a 100 gl pixel
multiplied by a 0.5 decimal point number converted to fixed
point 128, the output is 16 but after the re-quantization is
comes back to 8bit.
13
Appendix II – Debugging Strategy
●
For SW the use of GBD with breaking points and messages.
●
For FPGA:
– ILA for debugging the code inside the FPGA;
– Simulation tools like Modelsim for code functionality verification;
– For extra verification with high level languages like Python as a wrapper in tools like Vunit;
– Math can be checked with Matlab/octave;

More Related Content

What's hot

COMBINATIONAL PLD-BASED STATE MACHINES
COMBINATIONAL PLD-BASED STATE MACHINESCOMBINATIONAL PLD-BASED STATE MACHINES
COMBINATIONAL PLD-BASED STATE MACHINESdaxesh chauhan
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGATO project
 
186 devlin p-poster(2)
186 devlin p-poster(2)186 devlin p-poster(2)
186 devlin p-poster(2)vaidehi87
 
Glow introduction
Glow introductionGlow introduction
Glow introductionYi-Hsiu Hsu
 
Thesis F. Redaelli UIC Slides EN
Thesis F. Redaelli UIC Slides ENThesis F. Redaelli UIC Slides EN
Thesis F. Redaelli UIC Slides ENMarco Santambrogio
 
Novel reconfigurable hardware architecture for polynomial matrix multiplications
Novel reconfigurable hardware architecture for polynomial matrix multiplicationsNovel reconfigurable hardware architecture for polynomial matrix multiplications
Novel reconfigurable hardware architecture for polynomial matrix multiplicationsI3E Technologies
 
Seminar on field programmable gate array
Seminar on field programmable gate arraySeminar on field programmable gate array
Seminar on field programmable gate arraySaransh Choudhary
 
ONNC - 0.9.1 release
ONNC - 0.9.1 releaseONNC - 0.9.1 release
ONNC - 0.9.1 releaseLuba Tang
 
Efficient execution of quantized deep learning models a compiler approach
Efficient execution of quantized deep learning models a compiler approachEfficient execution of quantized deep learning models a compiler approach
Efficient execution of quantized deep learning models a compiler approachjemin lee
 
Simulation of Wireless Communication Systems
Simulation of Wireless Communication SystemsSimulation of Wireless Communication Systems
Simulation of Wireless Communication SystemsBernd-Peter Paris
 
Verilog Ams Used In Top Down Methodology For Wireless Integrated Circuits
Verilog Ams Used In Top Down Methodology For Wireless Integrated CircuitsVerilog Ams Used In Top Down Methodology For Wireless Integrated Circuits
Verilog Ams Used In Top Down Methodology For Wireless Integrated CircuitsRégis SANTONJA
 
Instruction Level Parallelism (ILP) Limitations
Instruction Level Parallelism (ILP) LimitationsInstruction Level Parallelism (ILP) Limitations
Instruction Level Parallelism (ILP) LimitationsJose Pinilla
 
A Flexible Router Architecture for 3D Network-on-Chips
A Flexible Router Architecture for 3D Network-on-ChipsA Flexible Router Architecture for 3D Network-on-Chips
A Flexible Router Architecture for 3D Network-on-ChipsMostafa Khamis
 
1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture 1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture Maurizio Donna
 
Implementation of DSP Algorithms on FPGA
Implementation of DSP Algorithms on FPGAImplementation of DSP Algorithms on FPGA
Implementation of DSP Algorithms on FPGASilicon Mentor
 
Implementation of Soft-core processor on FPGA (Final Presentation)
Implementation of Soft-core processor on FPGA (Final Presentation)Implementation of Soft-core processor on FPGA (Final Presentation)
Implementation of Soft-core processor on FPGA (Final Presentation)Deepak Kumar
 

What's hot (20)

COMBINATIONAL PLD-BASED STATE MACHINES
COMBINATIONAL PLD-BASED STATE MACHINESCOMBINATIONAL PLD-BASED STATE MACHINES
COMBINATIONAL PLD-BASED STATE MACHINES
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming Models
 
PLDs
PLDsPLDs
PLDs
 
186 devlin p-poster(2)
186 devlin p-poster(2)186 devlin p-poster(2)
186 devlin p-poster(2)
 
Fpga design flow
Fpga design flowFpga design flow
Fpga design flow
 
Glow introduction
Glow introductionGlow introduction
Glow introduction
 
Thesis F. Redaelli UIC Slides EN
Thesis F. Redaelli UIC Slides ENThesis F. Redaelli UIC Slides EN
Thesis F. Redaelli UIC Slides EN
 
Novel reconfigurable hardware architecture for polynomial matrix multiplications
Novel reconfigurable hardware architecture for polynomial matrix multiplicationsNovel reconfigurable hardware architecture for polynomial matrix multiplications
Novel reconfigurable hardware architecture for polynomial matrix multiplications
 
Seminar on field programmable gate array
Seminar on field programmable gate arraySeminar on field programmable gate array
Seminar on field programmable gate array
 
ONNC - 0.9.1 release
ONNC - 0.9.1 releaseONNC - 0.9.1 release
ONNC - 0.9.1 release
 
Efficient execution of quantized deep learning models a compiler approach
Efficient execution of quantized deep learning models a compiler approachEfficient execution of quantized deep learning models a compiler approach
Efficient execution of quantized deep learning models a compiler approach
 
0507036
05070360507036
0507036
 
Simulation of Wireless Communication Systems
Simulation of Wireless Communication SystemsSimulation of Wireless Communication Systems
Simulation of Wireless Communication Systems
 
Verilog Ams Used In Top Down Methodology For Wireless Integrated Circuits
Verilog Ams Used In Top Down Methodology For Wireless Integrated CircuitsVerilog Ams Used In Top Down Methodology For Wireless Integrated Circuits
Verilog Ams Used In Top Down Methodology For Wireless Integrated Circuits
 
3DD 1e Linux
3DD 1e Linux3DD 1e Linux
3DD 1e Linux
 
Instruction Level Parallelism (ILP) Limitations
Instruction Level Parallelism (ILP) LimitationsInstruction Level Parallelism (ILP) Limitations
Instruction Level Parallelism (ILP) Limitations
 
A Flexible Router Architecture for 3D Network-on-Chips
A Flexible Router Architecture for 3D Network-on-ChipsA Flexible Router Architecture for 3D Network-on-Chips
A Flexible Router Architecture for 3D Network-on-Chips
 
1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture 1.FPGA for dummies: Basic FPGA architecture
1.FPGA for dummies: Basic FPGA architecture
 
Implementation of DSP Algorithms on FPGA
Implementation of DSP Algorithms on FPGAImplementation of DSP Algorithms on FPGA
Implementation of DSP Algorithms on FPGA
 
Implementation of Soft-core processor on FPGA (Final Presentation)
Implementation of Soft-core processor on FPGA (Final Presentation)Implementation of Soft-core processor on FPGA (Final Presentation)
Implementation of Soft-core processor on FPGA (Final Presentation)
 

Similar to Technical challenge interview: FPGA design for complex baseband signal acquisition

Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...Sourour Kanzari
 
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...Sourour Kanzari
 
Utilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmapUtilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmapGeorge Markomanolis
 
DESIGN OF A 16-BIT HARVARD STRUCTURED RISC PROCESSOR IN CADENCE 45nmTECHNOLOGY
DESIGN OF A 16-BIT HARVARD STRUCTURED RISC PROCESSOR  IN CADENCE 45nmTECHNOLOGYDESIGN OF A 16-BIT HARVARD STRUCTURED RISC PROCESSOR  IN CADENCE 45nmTECHNOLOGY
DESIGN OF A 16-BIT HARVARD STRUCTURED RISC PROCESSOR IN CADENCE 45nmTECHNOLOGYshaikalthaf40
 
GCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignEGCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignEIbrahim Hejab
 
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...Maikon
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDKKernel TLV
 
Evaluating GPU programming Models for the LUMI Supercomputer
Evaluating GPU programming Models for the LUMI SupercomputerEvaluating GPU programming Models for the LUMI Supercomputer
Evaluating GPU programming Models for the LUMI SupercomputerGeorge Markomanolis
 
DSPIC33F: High Performance 16-bit Digital Signal Controllers
DSPIC33F: High Performance 16-bit Digital Signal ControllersDSPIC33F: High Performance 16-bit Digital Signal Controllers
DSPIC33F: High Performance 16-bit Digital Signal ControllersPremier Farnell
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementGanesan Narayanasamy
 
Introduction to FPGA and projects overview
Introduction to FPGA and projects overviewIntroduction to FPGA and projects overview
Introduction to FPGA and projects overviewVikrant Thakur
 
CV-RENJINIK-27062016
CV-RENJINIK-27062016CV-RENJINIK-27062016
CV-RENJINIK-27062016Renjini K
 
Performance Analysis of Lattice QCD on GPUs in APGAS Programming Model
Performance Analysis of Lattice QCD on GPUs in APGAS Programming ModelPerformance Analysis of Lattice QCD on GPUs in APGAS Programming Model
Performance Analysis of Lattice QCD on GPUs in APGAS Programming ModelKoichi Shirahata
 
A Dataflow Processing Chip for Training Deep Neural Networks
A Dataflow Processing Chip for Training Deep Neural NetworksA Dataflow Processing Chip for Training Deep Neural Networks
A Dataflow Processing Chip for Training Deep Neural Networksinside-BigData.com
 
Graphics processing uni computer archiecture
Graphics processing uni computer archiectureGraphics processing uni computer archiecture
Graphics processing uni computer archiectureHaris456
 
Digital Signal processor ADSP 21XX family
Digital Signal processor ADSP 21XX familyDigital Signal processor ADSP 21XX family
Digital Signal processor ADSP 21XX familySaloni Rane
 
Pc to pc optical fibre communication mini project
Pc to pc optical fibre communication mini projectPc to pc optical fibre communication mini project
Pc to pc optical fibre communication mini projectPadmakar Mangrule
 

Similar to Technical challenge interview: FPGA design for complex baseband signal acquisition (20)

Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
 
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
Andrade sep15 fromlowarchitecturalexpertiseuptohighthroughputnonbinaryldpcdec...
 
Utilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmapUtilizing AMD GPUs: Tuning, programming models, and roadmap
Utilizing AMD GPUs: Tuning, programming models, and roadmap
 
DESIGN OF A 16-BIT HARVARD STRUCTURED RISC PROCESSOR IN CADENCE 45nmTECHNOLOGY
DESIGN OF A 16-BIT HARVARD STRUCTURED RISC PROCESSOR  IN CADENCE 45nmTECHNOLOGYDESIGN OF A 16-BIT HARVARD STRUCTURED RISC PROCESSOR  IN CADENCE 45nmTECHNOLOGY
DESIGN OF A 16-BIT HARVARD STRUCTURED RISC PROCESSOR IN CADENCE 45nmTECHNOLOGY
 
Introduction to EDA Tools
Introduction to EDA ToolsIntroduction to EDA Tools
Introduction to EDA Tools
 
FPGA
FPGAFPGA
FPGA
 
GCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignEGCD-FPGA-Based-DesignE
GCD-FPGA-Based-DesignE
 
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
System-on-Chip Design Flow for the Image Signal Processor of a Nonlinear CMOS...
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
Evaluating GPU programming Models for the LUMI Supercomputer
Evaluating GPU programming Models for the LUMI SupercomputerEvaluating GPU programming Models for the LUMI Supercomputer
Evaluating GPU programming Models for the LUMI Supercomputer
 
DSPIC33F: High Performance 16-bit Digital Signal Controllers
DSPIC33F: High Performance 16-bit Digital Signal ControllersDSPIC33F: High Performance 16-bit Digital Signal Controllers
DSPIC33F: High Performance 16-bit Digital Signal Controllers
 
CAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablementCAPI and OpenCAPI Hardware acceleration enablement
CAPI and OpenCAPI Hardware acceleration enablement
 
E3MV - Embedded Vision - Sundance
E3MV - Embedded Vision - SundanceE3MV - Embedded Vision - Sundance
E3MV - Embedded Vision - Sundance
 
Introduction to FPGA and projects overview
Introduction to FPGA and projects overviewIntroduction to FPGA and projects overview
Introduction to FPGA and projects overview
 
CV-RENJINIK-27062016
CV-RENJINIK-27062016CV-RENJINIK-27062016
CV-RENJINIK-27062016
 
Performance Analysis of Lattice QCD on GPUs in APGAS Programming Model
Performance Analysis of Lattice QCD on GPUs in APGAS Programming ModelPerformance Analysis of Lattice QCD on GPUs in APGAS Programming Model
Performance Analysis of Lattice QCD on GPUs in APGAS Programming Model
 
A Dataflow Processing Chip for Training Deep Neural Networks
A Dataflow Processing Chip for Training Deep Neural NetworksA Dataflow Processing Chip for Training Deep Neural Networks
A Dataflow Processing Chip for Training Deep Neural Networks
 
Graphics processing uni computer archiecture
Graphics processing uni computer archiectureGraphics processing uni computer archiecture
Graphics processing uni computer archiecture
 
Digital Signal processor ADSP 21XX family
Digital Signal processor ADSP 21XX familyDigital Signal processor ADSP 21XX family
Digital Signal processor ADSP 21XX family
 
Pc to pc optical fibre communication mini project
Pc to pc optical fibre communication mini projectPc to pc optical fibre communication mini project
Pc to pc optical fibre communication mini project
 

Recently uploaded

Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 

Recently uploaded (20)

Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 

Technical challenge interview: FPGA design for complex baseband signal acquisition

  • 1. Interview: Technical challenge Candidate: Maikon Nascimento 28-Sept-2021
  • 2. 2 Agenda Introduction: Problem Definition High-level design aspects Solution: Block diagram Interfaces Design Feasibility Conclusion: Concerns Future Work
  • 3. 3 Introduction: Problem Definition ● Technical Task: Provide an FPGA design for a Xilinx MPSoC to acquire a complex baseband signal using two external ADCs accessed over SPI, filter/downsample the data and stream it to an application SW running on the APU. Assume 12-bit component samples, 1 MSPS ADC sample rate, 50 kSPS output sample rate, Linux running on the APU.
  • 4. 4 Introduction: Problem Definition ● 1 MSPS and 12b and 1b per clock, the ADC will have 12 MHz as working clock; ●
  • 5. 5 Solution: Block Diagram ● Assuming 2 ADCs where: 1 for I and the other for Q; ● Dual Port FIFO assuming the output of the ADCs could have a skew clock issue and we want the 12b words together; ● The decimation will convert the 24b 1 MSPS to 24b 50 kSPS; ● DMA transfer the data to the SW APP running in Linux controlling the DMA and pulling data.
  • 6. 6 Solution: Block Diagram ● Dual port FIFO to deal with the cross clocking domain and grouping the words ● Decimation algorithm for 20 down of scale factor, which becomes 20 taps in a FIR moving sum filter. ● Output buffer to buffer the data before transmitting to help the burst of data transfer
  • 7. 7 Solution: Block Diagram – Decimation Filter ● Output depends on the current and previous M=20 input samples; ● Aiming to use the DSPs available in the FPGA for multipliers; The MPSoC may have a multiplier and accumulator integrated together which should be the aim. ● Also aiming to infer the minimal adders in the logic; Which can happen with the use of the specific DSPs from the family. ● After any operation register the result to improve performance; ● Re- quantize after the multiplication to keep smaller buses;
  • 8. 8 Solution:Interfaces ● 2 ADCs with 12 bit of LVDS interface will cost 24 FPGA LVDS CMOS port in; ● Plus clock and control signals from the ADC like a valid or ready signal. ● SPI interface: MISO, MOSI, CLK, GND, and CS. The SPI could be also the case to send data from the ADCs to the FPGA which would require an SPI in the FPGA. ● Custom logic receiving 24 bit of data at MSP; ● Master and Slave AXI Stream to interface the DMA. ● Slave port in the APU to transfer data from the DMA to the Linux APU. ● Controlling the DMA from an user application in the Linux to access the registers via /dev/mem. This is not a custom DMA but Xilinx DMA with SR registers available. ● Vivado tells you at Address Editor where it is the offset of the DMA. ● Maybe a custom signal connect from the FPGA to the APU to inter an INT to tell where new data is available.
  • 9. 9 Solution: Feasibility ● Roughly FPGA resources utilization: number of Logic Element, Registers, Adders, DSP/Multipliers, Memory, Desired Performance in terms of frequency, and Power consumption. ● Data rate requiments for data transfer from the FPGA to the APU. ● Real-time requirements in the embedded Linux application. ● ADCs for RF AD9361
  • 10. 10 Solution: Feasibility ● Report of Design implementation to estimate device utilization. ● Xc7z020clg400 ● “could go further here and explain why this is not a constrainted design, what would have changed”.
  • 11. 11 Conclusion ● This presentation demonstrates a solution and how to approach a DSP problem using a FPGA/APU SoC; ● Block diagrams were used to describe the solution for data transfer, filtering, interfaces, algorithm implementation; ● It was given 4h to complete the task so a high level solution was presented to discuss high level ideas; ● For the advent of more time I would like to investigate the decimation solution of open APIs like ffmpeg and openCV for possible use of other strategies that would consume less memory (taps ?) which is a future work.
  • 12. 12 Appendix I – Fixed Point Mult. ● Just a sample showing the Fixed point multiplication and re- quantization after the multiplication, this case is a 100 gl pixel multiplied by a 0.5 decimal point number converted to fixed point 128, the output is 16 but after the re-quantization is comes back to 8bit.
  • 13. 13 Appendix II – Debugging Strategy ● For SW the use of GBD with breaking points and messages. ● For FPGA: – ILA for debugging the code inside the FPGA; – Simulation tools like Modelsim for code functionality verification; – For extra verification with high level languages like Python as a wrapper in tools like Vunit; – Math can be checked with Matlab/octave;