Xilinx Zynq FPGAs (2023)

In my quest for the ultimate real-time safety-critical motion control solutions, I have finally gotten around to FPGAs. Field programmable gate arrays are unique devices that can operate as fast as transistor proposition delays. Highly specialized and requiring significantly more supporting hardware to operate than a microcontroller, they are the endgame of all of my projects.  After waiting a long time, I finally found some development boards that I could afford. As luck would have it they had my most desired chip, the Xilinx Zynq 7020 and 7010. These are unique FPGAs with both Xilinx 7000 Series fabric as well as an ARM Cortex A9 Applications processor. This means that critical, real-time control can be handled by hardware pipelined logic in the programmable logic and less critical "housekeeping" can be done with the Cortex A9.

Xilinx Znyq 7000 Series FPGA

Not only does Xilinx have some great resources for free IP (intellectual property cores) built into standard IDE Vivado, the Zync chips have support for external DDR and flash meaning they have enough hardware to run a lightweight Linux distribution known as PetaLinux. This allows for further program abstraction for the application layer.  

FPGA boards bought off Craigslist

First debouncing button project

I have much to learn with everything from Verilog to FPGA based PCB design of high-speed signals. Everything I find interesting is control and FPGAs are the best tool for the job for fast loop time, 0 jitter control. Since I was able to buy a Platform Cable 2, I can develop custom PCBs with Xilinx-based FPGAs and have a debug probe (JTAG/Bitstream loader tool) for custom hardware description development. Nothing about becoming familiar with FPGAs is very intuitive to me but as always I can't wait for this to feel like just another tool I can use.

I am currently working on integrating a CAN FD-compliant controller on the ZYNC 7020 and controlling it with the ZYNQ hardened processing system via the AXI lite bus. I hope to investigate motor in the future but C2000's still seems to be a winner in my future embedded system ventures as their CLA and ePWM modules remind me how spoiled I am by such powerful hardened peripherals only a single C function call away compared to me banging my head against the wall trying to get Verilog to synthesize without blowing up my computer.