Complete either of the two following Tasks as part of your GSoC 2021 application if you are applying for any nMigen related task.
First, read & understand the stream abstractions of the axiom nmigen gateware. For both tasks you are allowed (& required) to use existing code from the axiom nmigen-gateware.
Build a core in nMigen in the context of https://github.com/apertus-open-source-cinema/nmigen-gateware that generates SMPTE color bars in a (build time) configurable resolution. The output should be an ImageStream. Simulate that core & write a Testbench that stores the image. Submit a Pull request against the nmigen-gateware repo.
Build a core in nMigen in the context of https://github.com/apertus-open-source-cinema/nmigen-gateware that changes a gamma of a monochrome Image by a compile time selectable amount. Use a Memory to implement that.
The input & output should be an ImageStream. Simulate that core & write a Testbench that can read & write an image. Submit a Pull request against the nmigen-gateware repo.
* https://github.com/apertus-open-source-cinema/nmigen-gateware/blob/main/src/lib/compression/huffman_encoder.py (an example of a stream core that uses a memory)
To get in touch with any mentor check the [[ https://www.apertus.org/GSoC-Mentor-Contact-List | Mentor Contact List]].