FPGA Model-Based Design and Verification of a Convolution Encoder
MSc Advanced Reconfigurable Systems and Designs
Aims and Objectives:
This exercise consolidates your understanding of model-based design through the practical design and implementation of a convolutional encoder widely used in today’s wireless communication systems. The recommended encoder follows IEEE practice as adopted by multiple wireless standards. It also tests your ability to solve real FPGA design problems and to work effectively in a team. By the end, you should be confident in designing other digital systems.
Background knowledge
Design and implement a convolutional encoder used in IEEE 802.11 or IEEE 802.16 standards. Please refer to the standards [1], [2].
Requirements / Tasks
1. From specification to circuit
Using the encoder specification (polynomial and octal form) from the standard, derive the circuit and select the required components. Justify your decisions. Build a Simulink model to prove the functional design and explain how it meets the requirements.
Present the generator polynomials in both forms and show the conversion steps (octal ⇄ polynomial), including constraint length and code rate. Include a small trellis/block diagram to illustrate taps.
2. Model-based design & hardware verification
Design the selected convolutional encoder using System Generator for DSP (model-based flow) to further verify the encoder. Justify your design. Implement the design on FPGA hardware and verify using Hardware-in-the-Loop (HIL).
3. Synthesis, analysis and improvement
Synthesis the design in Xilinx Vivado and analyse/discuss resource usage and speed. Evaluate performance, including any environmental and societal impacts. Identify the critical path; discuss techniques to improve the design to meet requirements and the drawbacks if timing is not met.
4. RTL cross-check
Write VHDL to implement the convolutional encoder. Use the same binary input as in Simulink and compare results with the model-based design.
Challenge:
Create your own components using BlackBox in System Generator for DSP to replace library components. Re-implement your design and demonstrate equivalent results.
Suggestions
You are recommended to read a tutorial article or watch an introductory video on convolutional encoders [1]. More details on IEEE 802.11 and IEEE 802.16 can be found at [2], [3]. Many textbooks explain convolutional coding clearly; it is relatively straightforward to understand.
Report
Submit a group report describing how you met the design requirements and discussing simulated and measured results by the deadline stated in the Assignment Briefing Sheet. Indicate each member’s contribution clearly. Each group should have a coordinator/group leader, and members should have different tasks. Each group should have 3–4 members.
Your report must be typed using the IEEE two-column journal template (template available on IEEE journals’ websites). Keep the report well-organised and concise, with no more than five pages (excluding appendix).
In the report, show the full design process. All design decisions must be explained and justified. Details of the marking scheme are provided in the Assignment Briefing Sheet.
References:
[1]https://www.youtube.com/watch?v=o_iKfGlxwXw
[2]https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9363693
[3]https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8303870