After a lot of debugging on both the pmod_tft core and the on_screen_display core I finally got a video out demonstrating everything.
I had success with this board before using some software/HDL tools I wrote in the past but I realized that it would not have a big enough impact because it couldn't be used with the Vivado tools. So I adapted the cores to be used to with AXI.
For the PMOD TFT core users can configure it with the AXI Lite Slave interface and can stream video using the AXI Slave stream interface.
I recently needed to work in the Vivado block diagram environment. At first the machismo factor came in and I didn't want to be any part of a development environment too simplified but after completing a project for a client of mine I found I was spending less time working on the interface between my cores and more time on the cores themselves.
I ended up creating an IP repo that lets anyone use the core by just dropping it in to the block diagram.
If anyone is interested there are great videos on how to get started with the Vivado block diagram environment on Digilent.
About the time I was finishing up with an Arty demo someone told me about Pynq. It's a Zynq based devboard in a similar form factor to the Arty board but a team at Xilinx has been putting in a lot of effort to ease the software/hardware bridge by developing a Jupyter style interface. If you haven't had a chance to play with Jupyter hub you're in for a treat.
Jupyter is a programming environment that can be run from your web browser that is hosted by a remote machine. In the case of the Pynq board go to Pynq's webpage on your local network and start editing Python code that will interface with the FPGA.
The first part of the demo in the video was done entirely within a web page I did the following steps:
- Configure the PMOD TFT
- Configured a video DMA controller
- Opened the video file with OpenCV
- Wrote the frames down the memory
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.