{"id":14442,"date":"2016-06-28T10:00:17","date_gmt":"2016-06-28T17:00:17","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=14442"},"modified":"2021-06-16T14:08:57","modified_gmt":"2021-06-16T21:08:57","slug":"setting-up-vivado-with-the-digilent-ip-cores","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/setting-up-vivado-with-the-digilent-ip-cores\/","title":{"rendered":"Setting Up Vivado with the Digilent IP Cores"},"content":{"rendered":"<p>Recently, I have been working on a <a href=\"http:\/\/www.instructables.com\/id\/Adding-LEDs-to-the-Claw-Game\/\">project<\/a> using the <a href=\"https:\/\/digilent.com\/shop\/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists\/\">Arty <\/a>and MicroBlaze. The <a href=\"https:\/\/digilent.com\/shop\/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists\/\">Arty <\/a>has four headers for use with the Digilent\u00a0<a href=\"https:\/\/digilent.com\/shop\/pmod-peripheral-modules\/\">Pmod line-up<\/a>. As I don&#8217;t have much experience with the AXI4 protocol that MicroBlaze uses for peripherals, I looked for a quick way to interface with these headers.<\/p>\n<p>Luckily, Vivado has the ability to use pre-compiled code. These pieces of code are called IP cores. IP stands for <strong>I<\/strong>ntellectual <strong>P<\/strong>roperty, and most have a license associated with them. The functionality of the cores range from interface protocols to data processing blocks. Some examples include the Clocking Wizard, for generating a clock without a clock divider, and MicroBlaze, a soft core processor.<\/p>\n<p>Digilent maintains\u00a0a <a href=\"https:\/\/github.com\/digilent\/vivado-library\">repository of free-to-use IP<\/a> for Vivado that is helpful when working with a MicroBlaze design.<\/p>\n<figure id=\"attachment_14577\" aria-describedby=\"caption-attachment-14577\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14577 size-medium\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/06\/digilentIP-600x295.png\" alt=\"Digilent Vivado IP\" width=\"600\" height=\"295\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/06\/digilentIP-600x295.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/06\/digilentIP.png 752w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-14577\" class=\"wp-caption-text\">Available IP from Digilent<\/figcaption><\/figure>\n<p>Included in the Digilent IP cores are\u00a0<a href=\"https:\/\/digilent.com\/shop\/pmod-peripheral-modules\/\">Pmod<\/a>\u00a0specific cores, as well as some video conversion blocks. Some examples are the <a href=\"https:\/\/digilent.com\/shop\/pmodals-ambient-light-sensor\/\">PmodALS<\/a>, <a href=\"https:\/\/digilent.com\/shop\/pmodacl-3-axis-accelerometer\/\">PmodACL<\/a>, <a href=\"https:\/\/digilent.com\/shop\/pmodbt2-bluetooth-interface\/\">PmodBT2<\/a>, and <a href=\"https:\/\/digilent.com\/shop\/pmodgps-gps-receiver\/\">PmodGPS<\/a>. These all have blocks available in the repository.<\/p>\n<figure id=\"attachment_14673\" aria-describedby=\"caption-attachment-14673\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14673 size-medium\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/06\/pmods-600x483.png\" alt=\"pmods\" width=\"600\" height=\"483\" \/><figcaption id=\"caption-attachment-14673\" class=\"wp-caption-text\">Some of the Pmods with IP blocks available<\/figcaption><\/figure>\n<p>The IP cores\u00a0work for our <a href=\"https:\/\/digilent.com\/shop\/fpga-programmable-logic\/\">FPGAs <\/a>and\u00a0can be programmed with Vivado. These include the <a href=\"https:\/\/digilent.com\/shop\/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists\/\">Arty<\/a>,\u00a0<a href=\"https:\/\/digilent.com\/shop\/basys-3-artix-7-fpga-trainer-board-recommended-for-introductory-users\/\">Basys 3<\/a>, and <a href=\"https:\/\/digilent.com\/shop\/nexys-4-ddr-artix-7-fpga-trainer-board-recommended-for-ece-curriculum\/\">Nexys 4 DDR<\/a> boards.<\/p>\n<p>For detailed instructions for adding the Digilent IP cores, follow my tutorial on <a href=\"http:\/\/www.instructables.com\/id\/Adding-IP-to-Vivado\/\">Instructables.com<\/a>\u00a0which goes through adding cores for all new Vivado projects as well as for older projects, step by step. The Instructable goes through adding IP to a single project as well as for all future projects generated by Vivado. It is all done with the power of the Vivado IP Repository Manager.<\/p>\n<figure id=\"attachment_14675\" aria-describedby=\"caption-attachment-14675\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-14675 size-medium\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/06\/repoManager-600x554.png\" alt=\"repoManager\" width=\"600\" height=\"554\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/06\/repoManager-600x554.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/06\/repoManager.png 650w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><figcaption id=\"caption-attachment-14675\" class=\"wp-caption-text\">The Vivado IP Repository Manager<\/figcaption><\/figure>\n<p>For more information about\u00a0our FPGAs and Pmods, visit the <a href=\"https:\/\/digilent.com\/shop\">store<\/a>.<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-14442 jlk' data-task='like' data-post_id='14442' data-nonce='c69391fac1' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-14442 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-14442 jlk' data-task='unlike' data-post_id='14442' data-nonce='c69391fac1' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-14442 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-14442 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Recently, I have been working on a project using the Arty and MicroBlaze. The Arty has four headers for use with the Digilent\u00a0Pmod line-up. As I don&#8217;t have much experience &hellip; <\/p>\n","protected":false},"author":43,"featured_media":14673,"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,"footnotes":""},"categories":[35,1563],"tags":[1662],"ppma_author":[4494],"class_list":["post-14442","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fpga","category-guide","tag-fpga"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/06\/pmods.png","authors":[{"term_id":4494,"user_id":43,"is_guest":0,"slug":"bkallaher","display_name":"Brandon Kallaher","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b6927b72ef9c9b76b651dd857b9f26c4cca49d22768de51eaf494d3277e34c6f?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\/14442","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\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=14442"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/14442\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/14673"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=14442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=14442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=14442"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=14442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}