19 Replies Latest reply on Aug 3, 2019 9:05 AM by John Beetem

    Get Your Xilinx FPGA/Programmable SoC Questions Answered here

    rscasny

      In the past year or so, element14 has been offering quite a few programs, contests, and initatives around Xilinx's FPGA and heterogeneous SoC, ZYNQ. We have hosted webinars, run roadtests, and offered a training program last year called Path to Programmable.

       

      I see element14 member interest in Xilinx product knowledge on the rise. I plan on offering more Xilinx-related projects and roadtests in the coming months. (Stay tuned to Path to Programmable 2 with the Ultra96v2) Given all this activity, I thought it would be a great idea to bring in a Xilinx product expert for some well needed Q&A time. So let me introduce you to Adam Taylor ( adamtaylorcengfiet ).

       

      I believe Adam has been an element14 member for several years. He is the Director of ADIUVO Engineering. He is a Chartered Engineer and Fellow of the Institute of Engineering and Technology. He is well known for his Microzed Chronicles. He writes the Exploring the Programmable World for element14. Adam has been instrumental in developing element14's FPGA/Programmable SoC Essentials.

       

      Adam also is an expert in the PYNQ framework: Python for ZYNQ productivity. So, if you are asoftware developer who wants to explore the Programmable world, I'd encourage you to ask Adam your top questions.

       

      So, if you have any questions revolving around FPGAs, programmable SoCs, a project in progress, perhaps even a question about Vivado, please click REPLY and asked them here.

       

      Sincerely,

       

      Randall Scasny

      -element14 Team

        • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
          wolfgangfriedrich

          I would appreciate any comments on a process on how to make the DDR3 SDRAM MIG work without using the AXI interface in VHDL. As a target platform I have the Digilent Arty S7 board.

          I tried this during my Roadtest of the Arty S7 but was not successfull and really like to revisite this.

          Thanks,

          - W.

          • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
            jomoenginer

            Awesome!  It's great that adamtaylorcengfiet is a resource on element14 for Programmable SoC questions.  I'm sure I will have many as I finish my Digilent Zybo Z7 RoadTest.  I do find Adam's Microzed Chronicles quite useful though.  

            • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
              Fred27

              I didn't want to clog up this thread with general comments other than questions, but I have to agree with jomoenginer - it's great that adamtaylorcengfiet is here on E14 to help. The MicroZed Chronicles are an amazing source of information and inspiration on all things Zynq.

               

              When I have a question that isn't totally dumb, I'll be sure to ask!

              • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
                platin21

                I wonder if somebody did already make a PCIe driver for the AxiEthernet via the XDMA?

                I feel so lost.

                It's incredbliy hard to get it right as of the interrupts and that it loses the completed count e.g sometimes i get a race between driver and fpga.

                We got the TX Path working but the RX seems to just not care about any packet arriving…

                We are using the arty 7.

                But maybe this is the wrong place to ask…
                (Can't get a FAE sadly as the contact was lost.)

                • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
                  jomoenginer

                  For what it's worth, there is an Integrating Arm Cortex-M soft CPU IP into FPGAs virtual workshop that features Adam Taylor as an instructor and uses the Digilent Arty S7-50T to be held August 14th, 2019.

                   

                  https://events.hackster.io/designstart

                  1 of 1 people found this helpful
                  • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
                    beacon_dave

                    A couple of areas I'm interested in exploring with FPGA ( initially using the TUL PYNQ-Z2 board ) are:

                     

                    1) HDMI video capture and processing where the PYNQ-Z2 is used for low cost HDMI capture / pass through for basic object/pedestrian detection/tracking which is then further used for indexing video recordings or automated tracking such as remote camera control. 
                    (It would also be interesting to look at accessing the HDMI I2C bus to extract/inject EDID information via the PYNQ framework to enable video signal diagnostic type applications.)

                     

                    Some interesting online resources I've found in this area so far are:

                     

                     

                     

                     

                    Some inital questions perhaps arise around what are the quick wins in terms of hardware acceleration vs productivity in this area. A lot of the processing appears to still be done in software on the ARM processor as oppossed to being accelerated on the FPGA. Are there perhaps more appropriate computer vision libraries that would make better use of the FPGA hardware ?

                     

                    2) Serial data capture and processing where the FPGA hardware or MicroBlaze subsystem are used to create a customizable UART to decode the incoming serial data and make it available via the PYNQ framework. Perhaps using the hardware to detect
                    certain conditions to filter the data stream off-loading some of the processing.


                    One application I had in mind was to be able to ingest a DMX512 lighting protocol on a RS-485 interface and have Python scripts react when certain data frames are sent out from a lighting console. Perhaps using the HDMI inputs and outputs to pass through live video and switch it with still images (or computer generated art / real time data from the web) controlled by the lighting console to create intelligent lighting displays using video projection or video walls.

                     

                    For experimentation purposes one perhaps could even use the MicroBlaze subsystem to set up a virtual DMX512 transmitter and and virtual DMX512 receiver and access  both via the PYNQ framework all on the one board without any worries of timing issues.

                     

                    However at a more general level, similar approaches perhaps could be used for more general serial data acquisition and status display on an attached HDMI screen as a protocol diagnostic tool.

                     

                    Unfortunately there doesn't yet appear to be PYNQ driver available for the existing PMOD 485 interface
                    https://store.digilentinc.com/pmod-rs485-high-speed-isolated-communication/
                    and I've not found much in the way of associated on-line FPGA tutorials in this particular area, especially not with using the PYNQ framework.

                    1 of 1 people found this helpful
                    • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
                      neuromodulator

                      - What trends do you see happening in the FPGA world in the upcoming years?

                       

                      - Do you see FPGAs moving into the realm of PC's? GPUs, even though they are completely different, have gained a lot of attention in the general computation arena, while at the same time FPGAs haven't apparently gained much more popularity. What do think is the cause of this?

                       

                      - Do you see any upcoming official opening of the bitstream formats? The formats appear to be slowly being reverse-engineered, whats is the rationale in keeping them closed? I would think that opening them would allow the creation of an ecosystem of 3rd party tools which probably would attract more users to the platform. Making software opensource could also lower development costs, etc. What are your thoughts on all this?

                        • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
                          adamtaylorcengfiet

                          These are great questions.

                           

                          I think the trend is pretty clear they are evolving (and have been for many years) in to platforms, which combine different compute engines e.g Programmable Logic and Processors cores. The Xilinx Versal devices take this to the next step. These heterogeneous devices enable the deployment of elements of the application being developed to the most optimal compute engine, what we will see along with rapid device development in this area is a significant increases in development SW which offers a combined platform which can be used to develop the application and then deploy elements as required in the different engines example include SDSoC, SDAccel for example.

                           

                          I am not sure PC's will ever contain a programmable logic device on board the motherboard but I think programmable logic will be easily available via the cloud e.g. AWS and using modules like the Alveo card either locally or in the cloud. GPU's became popular for computation as PC do need them as well for graphics in a number of applications therefore it was a natural extension to be able to use them for computation as needed.

                           

                          I do not and I am not sure why people get hung up on it in my opinion. I am not 100% sure why they are kept closed behind the need for IP protection and most importantly getting the bitstream wrong could potentially damage the device which will cause several issues. If it was me I would focus open tool development on areas such as simulation, verification, synthesis, formal verification etc I know there is work going on in this area. Regarding development costs, most vendors offer free versions which cover a significant range of components, which should address the most maker, hobbyist and many commercial applications. While the larger projects using tools which require licensing are often developed by organisations which can afford the costs. I have also found the vendors very willing to talk and support if your doing interesting projects.

                          2 of 2 people found this helpful
                            • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
                              jomoenginer

                              adamtaylorcengfiet  wrote:

                               

                               

                              I am not sure PC's will ever contain a programmable logic device on board the motherboard but I think programmable logic will be easily available via the cloud e.g. AWS and using modules like the Alveo card either locally or in the cloud. GPU's became popular for computation as PC do need them as well for graphics in a number of applications therefore it was a natural extension to be able to use them for computation as needed.

                               

                               

                              Actually, FPGAs have been placed on Motherboards for some time now,.

                              https://www.anandtech.com/show/11960/asus-announces-ws-c621e-sage-workstation-motherboard-dual-xeon-overclocking

                               

                              Intel is now producing Xeon processors that include a FPGA in the same package as well as offering the Intel Acceleration Stack for Intel Xeon® CPU with FPGAs.  However, as you mentioned, these would be more inline with the Web Giants and such due to the cost of the devices at this time. 

                               

                              I like the comment regarding open source tools.  This is starting to be a thing now where folks are getting frustrated with the FPGA vendor tools and are reverse engineering the FPGA code to create their own open source tools to program the device. I suspect this will continue to expand.

                              1 of 1 people found this helpful
                                • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
                                  adamtaylorcengfiet

                                  I knew FPGA where on motherboards but as I understand it, it is not accessible by the user for programming instead it is smallish device which provides functions on the motherboard design. I read the question as being will FPGA be deployed on motherboards in a manner that they are accessible by the user to program and accelerate algorithms like you can with GPU's

                                   

                                  It will be interesting to see what the open source community does, I suspect your right re reverse engineering.

                                  2 of 2 people found this helpful
                              • Re: Get Your Xilinx FPGA/Programmable SoC Questions Answered here
                                John Beetem

                                neuromodulator  wrote:

                                 

                                - Do you see any upcoming official opening of the bitstream formats? The formats appear to be slowly being reverse-engineered, whats is the rationale in keeping them closed? I would think that opening them would allow the creation of an ecosystem of 3rd party tools which probably would attract more users to the platform. Making software opensource could also lower development costs, etc. What are your thoughts on all this?

                                I've been advocating for open bitstream formats for decades.  It's great that some are being reverse-engineered and I heartily congratulate the developers of IceStorm and related tools.

                                 

                                I don't see FPGA vendors opening and documenting their bitstream formats.  They have various "official" reasons, none of which I find credible.  I've written about this a lot over the years at element14, for example in my article Taming the Wild Bitstream.  Here's an excerpt:

                                 

                                The excuse most commonly heard from FPGA vendors is that they insist their customers want the bitstream format to be secret to prevent reverse-engineering customer designs. OK, that makes sense except for one thing: millions of μP/μC-based products are designed and sold each year using open CPU architectures, yet there is very little worry that someone is going to reverse-engineer those designs. IMO most FPGA designers would gladly have better tools in exchange for open bitstream formats.

                                 

                                Most FPGAs are part of hardware/software systems, and unless the FPGA performs a trivial function, trying to understand what it does and how it interacts with the software is pretty nasty. Indeed, it’s hard enough to understand someone else’s FPGA even if you have commented VHDL/Verilog source code :-) The best you can do is to make an exact copy, which you can do now with the bitstream itself. Yet people rarely do, because you’re much better off designing better products with better features than copying your competitor’s last-generation products and trying to modify them enough so that you’re not blatently violating copyright.

                                I also make the claim in my article that closed bitstreams have held back FPGAs since their inception and have prevented FPGAs from having the huge success of microprocessors and microcontrollers.  Where would microprocessors be today if Intel had kept its instruction set secret and insisted that everyone program in PL/M?

                                1 of 1 people found this helpful