<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Summer of FPGAs - Building an Embedded System on FPGA</title><link>/technologies/fpga-group/b/blog/posts/summer-of-fpgas---building-an-embedded-system-on-fpga</link><description>Introduction: Back then in February when I roadtested the USB104-A7, I had learned to create block designs using MicroBlaze. I found it very interesting but the available online resources were limited, the tutorials were based on the older versions o</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Summer of FPGAs - Building an Embedded System on FPGA</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/summer-of-fpgas---building-an-embedded-system-on-fpga</link><pubDate>Sun, 29 Aug 2021 12:29:10 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:c117c06e-3a99-4702-9787-93585a4ff7c3</guid><dc:creator>navadeepganeshu</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Again on Arty-S7, the rotary thing works fine the same way. &lt;/p&gt;&lt;p&gt;I tried to add another parameter &amp;quot;Status&amp;quot; which would detect if the user presses the rotary encoder&amp;#39;s central switch so as to set the value back to 0 at any point. So, added a new AXI_GPIO 1 bit wide to read SW pin of rotary encoder and took that parameter into the same while loop with if(status == 0). It was just a lame idea of trying to make it, I realized after running the program. &lt;/p&gt;&lt;p&gt;The status does flip to 0 and so does the count. But when the switch is released, Status turns back to 1 as expected and counter resumes from the same point where it was before pressing that switch. Rather it was expected to start back from 0. So for this, would tweaking the quad_decode.v and adding in a new parameter to reset the full counter help? Any clues?&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/1600x900/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/contentimage_5F00_208568.png:1600:900]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/1600x900/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/contentimage_5F00_208569.png:1600:900]&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11664&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Summer of FPGAs - Building an Embedded System on FPGA</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/summer-of-fpgas---building-an-embedded-system-on-fpga</link><pubDate>Mon, 23 Aug 2021 17:08:18 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:c117c06e-3a99-4702-9787-93585a4ff7c3</guid><dc:creator>navadeepganeshu</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Gave a try with ARTY S7 - 50. For this board, I skipped adding NOT logic for reset(lab video1) as it was active low with the onboard switch by default. Used GPIO0 and 1 for 4 x LEDs and 4 x pushbuttons. The hello word is here: (I didn&amp;#39;t believe it worked and suspected &amp;quot;hello world&amp;quot; was out-of-the-box demo serial prints. But ya, with &amp;quot;It works!&amp;quot; It works. &lt;br /&gt;All other steps are almost the same and were compatible with Vitis IDE(on 2020.1). Nice series,...following through.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/1600x900/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/contentimage_5F00_208567.png:1600:900]&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11664&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Summer of FPGAs - Building an Embedded System on FPGA</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/summer-of-fpgas---building-an-embedded-system-on-fpga</link><pubDate>Wed, 18 Aug 2021 21:06:47 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:c117c06e-3a99-4702-9787-93585a4ff7c3</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Video 3 also worked perfectly on a Pynq-Z2 board with Zynq IC.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span id="f014237b_7561_4f37_80cc_71028cec1b2e"&gt;&lt;span&gt;[View:https://www.youtube.com/watch?v=nMtRAoAfuwM:740:466]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11664&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Summer of FPGAs - Building an Embedded System on FPGA</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/summer-of-fpgas---building-an-embedded-system-on-fpga</link><pubDate>Tue, 17 Aug 2021 19:14:37 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:c117c06e-3a99-4702-9787-93585a4ff7c3</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;I&amp;#39;m at video 2, just finished the Vivado Block Diagram&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/620x217/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/8507.contentimage_5F00_208555.png:620:217]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;I did 2 things different:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;my board doesn&amp;#39;t have a UART that can be connected to the PL, so I made the transmit pin external and will use a 3V3 serial to USB converter to get the data.&lt;/li&gt;&lt;li&gt;I used a util_vector_logic block to create a NOT gate instead of coding. The effect is the same.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Validation works.&lt;/p&gt;&lt;p&gt;I&amp;#39;m having errors synthesizing: [Common 17-217] Failed to load feature &amp;#39;core&amp;#39;.&lt;/p&gt;&lt;p&gt;That&amp;#39;s because it&amp;#39;s mandatory on the Zynq to place the PS ARM block.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/620x292/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/6443.contentimage_5F00_208556.png:620:292]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;So I changed the design a little specific for the Zynq on my board:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;added the Zync, and used it for the clock and the reset (so that it does not have to do nothing &lt;span&gt;[View:/resized-image/__size/16x16/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/8562.contentimage_5F00_1.png:16:16]&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;removed the clock wizard, because it&amp;#39;s not needed, see step above.&lt;/li&gt;&lt;li&gt;still kept your reset, but used it as an additional one, for the PL blocks only.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;There is nothing wrong with your design, it&amp;#39;s all because of the two ARM cores in my FPGA.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In Vivado 2020.2, the menu to start Vitis (instead of SDK) has moved:&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/620x442/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/8176.contentimage_5F00_208557.png:620:442]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The startup is somewhat different. The hardware platform is not automatically loaded, but you can select the XSA exported from Vivado when creating an application project.&lt;/p&gt;&lt;p&gt;Because of the Zynq FPGA I&amp;#39;m using, the ARM processors are also available for doing development on, next to the MicroBlaze&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/620x440/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/2318.contentimage_5F00_208558.png:620:440]&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Then the result is more similar to the SDK look and feel:&lt;/p&gt;&lt;p&gt;&lt;span&gt;[View:/resized-image/__size/620x335/__key/commentfiles/f7d226abd59f475c9d224a79e3f0ec07-c117c06e-3a99-4702-9787-93585a4ff7c3/5751.contentimage_5F00_208559.png:620:335]&lt;/span&gt;&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11664&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Summer of FPGAs - Building an Embedded System on FPGA</title><link>https://community.element14.com/technologies/fpga-group/b/blog/posts/summer-of-fpgas---building-an-embedded-system-on-fpga</link><pubDate>Mon, 16 Aug 2021 19:38:50 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:c117c06e-3a99-4702-9787-93585a4ff7c3</guid><dc:creator>Jan Cumps</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;&lt;span&gt;[mention:851ab0f9941c487cabc3fe5a4f56d75e:e9ed411860ed4f2ba0265705b8793d05]&lt;/span&gt; , I&amp;#39;m working on a similar exercise. It&amp;#39;s a race to keep up with tool version differences.&lt;/p&gt;&lt;p&gt;Since the 2019 chain that you&amp;#39;re using, the SDK seems to be replaced by Vitis (not Vitis HLS).&lt;/p&gt;&lt;p&gt;The Xilinx solutions and workflows for these &amp;quot;Processor + FPGA&amp;quot; packages does not seem to have settled yet.&lt;/p&gt;&lt;p&gt;This makes it tricky to work with the application suite by following blogs and videos, if versions don&amp;#39;t exactly match what you have installed. &lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=11664&amp;AppID=19&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>