Implementing the 8b/10b Encoder in Hardware

Task 3 (10 marks): Implementing the 8b/10b Encoder in Hardware
In the final task you will use Python to implement a software model of the 8b/10b encoder. Since strings are made
up of ASCII characters with a length of eight bits, you will then use the encoder to encode inputted lines of text.
This portion of the project is available via Github Classroom at https://classroom.github.com/a/8Ewft6m8.
Use Git to clone the project directory from the Github repository created by Github Classroom. You can then
navigate into the cloned folder using Terminal or Git Bash and run python main.py. At first you should see no
output from the command, it is working as long as there are no warnings or errors. Next, try typing a message
into the terminal (stick to ASCII characters here, i.e., just English letters, numbers and punctuation), the program
will attempt to encode each character of the message into a ten bit output. You should notice that the program
outputs only zeros, that is where you come in. By implementing the functions in the implementation.py file you
will be able to make a functioning 8b/10b encoder.
There are four Python files within the repository, luts.py, main.py, implementation.py and helpers.py.
helpers.py contains helpful functions including the ones that poll the lookup table reference above in the 3b/4b
and 5b/6b encoders. main.py shows how we will exercise the functions you write in this section, do not change
this file.
To complete the assignment, implement the five functions in implementation.py and use Git commands to
push your changes to Github. Make sure you pass all the provided test cases for full marks. We may also run your
code on additional text cases. If you do not pass all the test cases at first, you can make additional changes to your
code and continue to push these changes to Github.

DETAILED ASSIGNMENT

20201002160733project_1_revised

Powered by WordPress