Back when I was in college in 2013, the NSA released two new block cipher implementations in a white paper that had many people scratching their heads. They created quite a stir and their appearances seemed to coincide with my growing interest in AES and cryptography. When it came time to propose a project for one of my FPGA graduate-level courses in Vivado HLS, the new block ciphers from the paper, SIMON and SPECK still hadn't been 'cracked' and no-one had found any backdoors. So, they looked to be perfect candidates and I really enjoyed implementing and debugging these quick algorithms.
A few years later, being one of the few in my friend-group familiar with FPGAs, I was asked to help with a lab project using the Avnet Ultra96 board. I was familiar with how to take a design from concept to RTL implementation in SystemVerilog, but finding details on how to integrate a design on a Xilinx MPSoC was a real challenge being a student outside the industry. But with a good challenge comes the drive to overcome it and forge a path that makes it easier for others to follow.
Thus the idea for a useful tutorial series was born: a SIMON coprocessor in AMD Xilinx fabric, controlled by a Petalinux OS running on the attached ARM processor!