I’m using a Terasic DE0-nano Cyclone V board to control a quadcopter.
I have a problem that seems to be tied to using more than one I/O pin on my system. I have created a custom PWM component in qsys with one avalon slave interface and one conduit output. The pulse width of the PWM signal can be changed from the HPS and the PWM signal is outputted to a GPIO pin. When I connect a single PWM component to the system it works fine; however, if I add more than one component then the Linux kernel fails to boot.
Since I need four PWM outputs to control the four motors of the quadcopter I changed the PWM component’s VHDL so that a single component would be able to address four different PWM outputs. I did this in an attempt to narrow down the problem in case there was an issue with using multiple of the single-output components that I had created. It still hung at the Linux kernal when I assigned GPIO pins to the four conduit outputs of the component but I did find that if I only assigned one pin in Quartus’s pin planner to a conduit output it did work.
At this point I’m a little stuck on what to do. I tried two different pins by themselves and they worked but then I tried them together and it froze. Anyone have some thoughts?
I have some experience with FPGA’s previous to this but this is my first time using Qsys and a SoC model so it could just be me doing something stupid.