Update encoder_schematic.png
1 file changed
tree: 7e1bfd073f5eca6ed04293140b2bef0d086bb180
  1. .github/
  2. def/
  3. docs/
  4. gds/
  5. lef/
  6. mag/
  7. maglef/
  8. openlane/
  9. signoff/
  10. spi/
  11. verilog/
  12. .gitattributes
  13. .gitignore
  14. .gitmodules
  15. info.yaml
  16. LICENSE
  17. Makefile
  18. README.md
README.md

YONGA-Turbo Encoder

License UPRJ_CI Caravel Build

Table of contents

Overview

The Turbo Encoder is used for FEC encoding for linear modulation.

Encoder takes 2 bits of input (namely A and B) and generates 6 bits of output in the form (AB Y1W1 Y2W2)

First couple of parity bits (Y1W1) are generated from normal ordered input data while second couple of parity bits (Y2W2) are generated from interleaved input data.

The design involves two paths one of which is used for interleaved input data.

Top-Level Diagram

alt text

-Input Data is stored at dual channel rams.

-AGU (Address Generator Unit) generates data indices for interleaving.

-Pre Encoder unit identifies initial state of the encoder.

-Encoder Core produces outputs according to the state and the inputs.

Synthesis Report

alt text

Implementation Report

alt text

-Reports are based on Xilinx Spartan-7 xc7s6ftgb196-1

Throughput

equation

‘N’ = input data block size in couple number ranging from 56 to 2396.

‘f’ = frequency in Mhz.

For 50 Mhz clock speed and N = 56, throughput equals 31.5 Mbps.

For 50 Mhz clock speed and N = 2396, throughput equals 33.3 Mbps.

Setup

TBA

Running Simulation

TBA

Hardening the User Project Macro using OpenLANE

TBA

List of Contributors

In alphabetical order:

  • Baris Bilgili
  • Burak Yakup Cakar
  • Muhammed Celik