P. Kusmierski posted an article on flipthatbit describing ADS-B sync and Manchester decoding in CPLD. The CPLD used is a Xilinx XC9536XL (which is the smaller version of the XC9572XL found in our CPLD Development Board.)
Having put together my miniADSB I needed to extract the actual data from the Manchester encoded bit streams it produced.
My idea was to join the simplicity of using a micro with the power of programmable gate arrays. In my application I want the micro to do some other work, and the CPLD should handle the simple repetitive task of looking for the ADS-B sync pattern (16 bits) and upon finding it, decode Manchester data that will follow, conveniently shifting it into the micro on the SPI bus. This way AVR is interrupted only when a new byte arrives on the SPI bus, and can handle all the other tasks meanwhile.
Kusmierski says, “Mind you, the code is still in beta and needs some work to be declared stable and fully operational. If you want to give it a try, I’ll be more than happy to hear about your thoughts/results.” The code can be found on the Hackerspace Global Grid’s Github page.
You can get your own XC9572X Development Board for $15.