{"id":23066,"date":"2017-11-30T08:02:28","date_gmt":"2017-11-30T16:02:28","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=23066"},"modified":"2023-02-08T03:50:54","modified_gmt":"2023-02-08T11:50:54","slug":"enable-faster-development-with-the-xilinx-sdsoc-and-arty-z7-20","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/enable-faster-development-with-the-xilinx-sdsoc-and-arty-z7-20\/","title":{"rendered":"Enable Faster Development with the Xilinx SDSoC and Arty Z7-20"},"content":{"rendered":"<p>The new <a href=\"https:\/\/digilent.com\/shop\/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists\/\">Arty Z7-20<\/a> was recently featured on the <a href=\"https:\/\/www.rs-online.com\/designspark\/getting-started-guide-with-xilinx-sdsoc-on-arty-z7-20?cm_mmc=US-EM-_-DSN_20171030-_-DM77067-_-TTB_URL4&amp;cid=DM77067&amp;bid=459520109\">Design Spark Tech Hub<\/a>\u00a0in a publication reviewing the Xilinx SDSoC development environment. Adapted from an earlier post by <a href=\"http:\/\/adiuvoengineering.com\/?page_id=137\">Adam Taylor<\/a>, this publication provides an in-depth look at how developers can use the Xilinx SDSoC to create an\u00a0embedded C\/C++\/OpenCL application, with a tutorial for implementing designs directly onto an FPGA device.<\/p>\n<p><a href=\"https:\/\/www.rs-online.com\/designspark\/getting-started-guide-with-xilinx-sdsoc-on-arty-z7-20?cm_mmc=US-EM-_-DSN_20171030-_-DM77067-_-TTB_URL4&amp;cid=DM77067&amp;bid=459520109\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-23071\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Arty-SoC-Project-Cover-800-600x590.jpg\" alt=\"\" width=\"600\" height=\"590\" data-wp-pid=\"23071\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Arty-SoC-Project-Cover-800-600x590.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Arty-SoC-Project-Cover-800-768x755.jpg 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Arty-SoC-Project-Cover-800.jpg 800w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>This helpful review and tutorial begins by revisiting work by Adam Taylor, who describes the Xilinx <a href=\"https:\/\/www.xilinx.com\/products\/silicon-devices\/soc\/zynq-7000.html\">Zynq<\/a> chip flexibility with regard to its ARM processing cores and programmable logic capabilities. The Zynq-7000 All Programmable System-on-Chip (AP SoC) found on the <a href=\"https:\/\/digilent.com\/shop\/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists\/\">Arty Z7-20 hardware<\/a> is often chosen as a development tool due to this enhanced design flexibility and is favored among embedded projects. Taylor then goes on to describe why the traditional Zynq development flow, split between Vivado and SDK, is not ideal for his project needs and thus why the <a href=\"https:\/\/www.xilinx.com\/products\/design-tools\/software-zone\/sdsoc.html\">SDSoC development environment<\/a> was chosen. An SDSoC platform is <a href=\"https:\/\/github.com\/ATaylorCEngFIET\/SDSoC_Platforms\">provided via his GitHub<\/a> for readers who wish to follow along while using their own <a href=\"https:\/\/digilent.com\/shop\/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists\/\">Arty Z7<\/a> development board.<\/p>\n<p><a href=\"https:\/\/www.rs-online.com\/designspark\/getting-started-guide-with-xilinx-sdsoc-on-arty-z7-20?cm_mmc=US-EM-_-DSN_20171030-_-DM77067-_-TTB_URL4&amp;cid=DM77067&amp;bid=459520109\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-23074\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Select_custom_design-600x556.png\" alt=\"\" width=\"600\" height=\"556\" data-wp-pid=\"23074\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Select_custom_design-600x556.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Select_custom_design-768x712.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Select_custom_design-800x742.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Select_custom_design.png 896w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><br \/>\n<\/a><\/p>\n<p>In the second half of this publication, readers are led through a tutorial for getting started with the provided SDSoC. The purpose of this tutorial is to help readers use their <a href=\"https:\/\/digilent.com\/shop\/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists\/\">Arty Z7<\/a> to &#8220;accelerate\u00a0the performance of a matrix multiplication example&#8221;. While following along, readers are first guided through creating a new SDSoC project with screenshots presenting each step of the process. Following the initial project creation, users are asked to choose their preferred platform before accessing the project setting tab. Within this tab users are led through how to move functions between\u00a0programmable logic (PL) and processing system (PS) to accelerate projects. Finally, the tutorial concludes with an overall project acceleration evaluation during an estimation run and debugging session.<\/p>\n<p>Find and follow along with the complete tutorial on the\u00a0<a href=\"https:\/\/www.rs-online.com\/designspark\/getting-started-guide-with-xilinx-sdsoc-on-arty-z7-20?cm_mmc=US-EM-_-DSN_20171030-_-DM77067-_-TTB_URL4&amp;cid=DM77067&amp;bid=459520109\">DesignSpark<\/a>\u00a0website and discover additional reference material for the <a href=\"https:\/\/digilent.com\/shop\/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists\/\">Arty Z7 development board<\/a>\u00a0on the <a href=\"https:\/\/digilent.com\/reference\/programmable-logic\/arty-z7\/start\">Digilent Wiki<\/a>. Let us know what project you look forward to developing now that you know how to increase application performance in the comments below. Then stay tuned for future project updates coming soon on the Digilent Blog!<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-23066 jlk' data-task='like' data-post_id='23066' data-nonce='5286a1c13f' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-23066 lc'>+1<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-23066 jlk' data-task='unlike' data-post_id='23066' data-nonce='5286a1c13f' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-23066 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-23066 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>We revisit some work from Adam Taylor to help you speed up your project development!<\/p>\n","protected":false},"author":37,"featured_media":23071,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[35,1563],"tags":[2059,1662,144,36],"ppma_author":[4483],"class_list":["post-23066","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fpga","category-guide","tag-embedded","tag-fpga","tag-tutorial-2","tag-xilinx"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/11\/Arty-SoC-Project-Cover-800.jpg","jetpack_sharing_enabled":true,"authors":[{"term_id":4483,"user_id":37,"is_guest":0,"slug":"quinnsullivan","display_name":"Quinn Sullivan","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/215dce3bd1420d6a78ee4888156d9c6aecad8fc0f3a8dba45316bf4e00c5a38b?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":""}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/23066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=23066"}],"version-history":[{"count":1,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/23066\/revisions"}],"predecessor-version":[{"id":29658,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/23066\/revisions\/29658"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/23071"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=23066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=23066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=23066"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=23066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}