final presentation
DESCRIPTION
Final Presentation. OFDM implementation and performance test. Performed by: Tomer Ben Oz Ariel Shleifer Guided by: Mony Orbach Duration: Semester. motivation. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/1.jpg)
Final Presentation
OFDM implementation and performance test
Performed by: Tomer Ben Oz Ariel Shleifer
Guided by: Mony Orbach
Duration: Semester
![Page 2: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/2.jpg)
motivation• The TERA-SANTA multiyear project offered a number of
projects for students under which the students perform simulations, preliminary tests on a FPGA for future planning.
• For this there is a need to find pre-planning difficulties on various parts of the system. Therefore, it became necessary to implement an experimental digital receiver according to the initial requirements of the project.
• Following the implementation of the digital receiver and performance tests you can see where the bottlenecks in the design and suggest ways to improve the speed of the receiver according to the accumulated knowledge in the project.
![Page 3: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/3.jpg)
Project goals
• Implementation of a digital receiver according to the theory of the OFDM on a FPGA from VIRTEX 5 family.
• Finding bottlenecks in the planning for future projects.
• Make a good base for later implementations
![Page 4: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/4.jpg)
Tera-Santa project background• The TERA-SANTA project is a joint research between academia and industry.
It is funded by magnet program of the State of Israel and managed by Professor Moshe Nazrati.
• The project's goal is to develop a communication channel to transmit information at a rate of 1]Tbit/s] . The channel will be transferred by optical infrastructure and with the end-station channel will be converted to digital data.
• The magnitude of the project is enormous and includes many areas in communications, optics, signal processing and more. The Technion research team is responsible for the processing of the digital information channel.
![Page 5: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/5.jpg)
Hardware• We used Xilinx’s “xc5vlx 110t-1ff1136“ FPGA device
from the Virtex5 family which is place on a ML505 board
![Page 6: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/6.jpg)
The phases of the project
1. Theory 2. Planning3. Simulation in Simulink4. Simulations on Chip Scope5. Bottle necks test
![Page 7: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/7.jpg)
Working environment
• Simulink via Matlab• Xilinx ISE 12.2• Modelsim• Xilinx Impact• Xilinx ChipScope
![Page 8: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/8.jpg)
Top Level Block diagram
![Page 9: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/9.jpg)
Our actual Top level diagram
![Page 10: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/10.jpg)
DE bouncer
DEbouncer – Prevent bouncing of buttons’ signals which are pressed on the boardinputs: Reset – Asynchronous reset.
D – Trigger from a button on the board. outputs: Q – The trigger from the button – without bouncing.
![Page 11: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/11.jpg)
FFT Input Vector Block
FFT Input Vector - samples to insert to the FFT – to model the ADC output
Input: reset – resets the vectorOutput: Qam4_Out - Vectors to the FFT
![Page 12: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/12.jpg)
FFT Block
FFT BLOCK - Calculates FFT of predefined sample widthInputs: xn_re,xn_im– real and imaginary inputs start – start sampling triggeroutputs: xk_re,xk_im– real and imaginary outputs
![Page 13: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/13.jpg)
Qam 16 modulation example
![Page 14: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/14.jpg)
Demodulator Block diagram
IQ_multi– Shifts the phase of the signal back to its original phase.Inputs: Q in, I in – Current sample’s values; A,B – Correction factors
outputs: Q out, I out – The correct signals values.Look Up Table(Qam4) – Translate the signal back to data in bits.
Inputs: Q, I – The correct signals values.outputs: QAM4_OUT – The translated data
![Page 15: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/15.jpg)
IQ multiplier Block diagram
Output I Corrected output Q Corrected outputSignal Correction
(I+Qj) (A+Bj) = [I A-Q B]+[I B+Q A] j
IQ multiplier– Shifts the phase of the signal back to its original phase.
![Page 16: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/16.jpg)
Simulink simulations per componentSimulation on SIMULINK was performed on each component separately to ensure that the required works .For example: The first element we performed tests on was the FFT component – In the initial phase, we put different sequences of vectors using a VHDL written component named “FFT INPUT VECTOR” to the real input of the FFT so that we can process the results and compare to expected values.
![Page 17: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/17.jpg)
Simulink simulations of the system
After individual block simulations we simulated the entire system with various input vectors and various error correction values
![Page 18: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/18.jpg)
Matlab vs ChipScope simulationsWe downloaded the design to the FPGA with a fixed input vector and simulated the design in the Chip Scope and compared those results to Simulink’s results.We encountered minor differences between the two but same general behavior.
General behavior is the same Minor changes in values
The differences occurred due to CPU calculation differences between the PC and the FPGA.
![Page 19: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/19.jpg)
ISE Timing AnalysisXilinx ‘s ISE reports critical paths and Setup & Hold time constraints
These results aren’t suffice for performance analysis but give a good direction for the upcoming performance tests
*For example we discovered an inefficient block in our design (Input vectors block)*
FFT Block
Path Max Frequency
![Page 20: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/20.jpg)
Performance analysisWe used a PLL to increase the clock frequency and detect when the design fails
After detection of failure we began to analyze the bottle necks
![Page 21: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/21.jpg)
Performance analysis – cont.
![Page 22: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/22.jpg)
Performance analysis – cont.Each block’s output was connected to chip scope to better
analyze the fails at high frequency
FFT QI_MULT Demodulator
ChipScope
![Page 23: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/23.jpg)
Performance analysis – cont.For example here are the FFT block and the QI_mult blocks outputs
QI_mult block’s output FFT block’s output
In this example we see each output’s normal function
![Page 24: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/24.jpg)
Performance analysis – fail exampleAt a high rate (300MHZ) the QI_mult failed first
QI_mult block’s output FFT block’s output
Back to the drawing board – enhance the QI_mult block
![Page 25: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/25.jpg)
Performance analysis design iterations example
To improve the QI_mult performance we used a different resource – DSP block
New DSP for adder Previous ADD/SUB block
The DSP block gave much better speed performance that the premade Xilinx’s ADDER
![Page 26: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/26.jpg)
Performance analysis – final resultsAfter improving the design as much as we could we reached the final results
FFT block’s output
The FFT failed at 350MHZ while all other blocks in the design functioned as they should
![Page 27: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/27.jpg)
Final results - ImprovementTo make the design “lighter” a 16 wide FFT was suggested instead of the heavy
512 width FFT used in the current design
16 wide FFT in 350MHZ 16 wide FFT in 380MHZ
Although we can see a 30MHZ improvement the FFT continue to stay the design’s bottle neck for speed performance
![Page 28: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/28.jpg)
Summary• A design of OFDM receiver has been implemented
on FPGA via Simulink-Xilinx interface.
• After downloading the design to FPGA we have a comparison to the computer simulation
• We Analyzed the design with Xilinx’s ISE to detect critical paths before starting final performance tests
![Page 29: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/29.jpg)
Summary• In the performance tests we detected failures
of blocks in the design and improved them to the maximum.
• After all the enhancements have been placed we came to the conclusion that the FFT is the bottleneck of the design in speed performance.
![Page 30: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/30.jpg)
Summary note• The software we used delayed the progress of the project.
Xilinx company did not provide good documentation of the components and methods of using them.
• We asked many members of the Xilinx technical support during the project and found out that they lack courtesy and that their reaction times are long. Therefore, for future projects on the subject we recommend to seek alternative software tools for implementation on a FPGA or alternatively take a wide and comprehensive course on the various Xilinx tools.
![Page 31: Final Presentation](https://reader035.vdocument.in/reader035/viewer/2022070421/56816027550346895dcf2e75/html5/thumbnails/31.jpg)
Questions?