{"id":14346,"date":"2016-10-12T10:00:28","date_gmt":"2016-10-12T17:00:28","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=14346"},"modified":"2024-12-28T11:49:44","modified_gmt":"2024-12-28T19:49:44","slug":"a-microcontroller-on-an-fpga","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/a-microcontroller-on-an-fpga\/","title":{"rendered":"Can You Put a Microprocessor on an FPGA?"},"content":{"rendered":"<p>You may have seen our previous post on <a href=\"https:\/\/digilent.com\/blog\/index.php\/fpgas-and-microcontrollers\/\">FPGAs and Microcontrollers<\/a> explaining the similarities and differences of the two and wondered, can I put a microprocessor on an FPGA?<\/p>\n<p>The answer to that question is yes! Xilinx provides an IP core called MicroBlaze. MicroBlaze is a soft core processor that can be added to any block design in Vivado.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-14372\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/microblaze-600x237.png\" alt=\"MicroBlaze\" width=\"600\" height=\"237\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/microblaze-600x237.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/microblaze-768x303.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/microblaze-800x315.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/microblaze.png 809w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>We have tutorials for getting started with MicroBlaze on our <a href=\"https:\/\/digilent.com\/reference\/#fpga\">Reference Center<\/a> for the <a href=\"https:\/\/digilent.com\/shop\/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists\/\">Arty<\/a>, <a href=\"https:\/\/digilent.com\/shop\/nexys-4-ddr-artix-7-fpga-trainer-board-recommended-for-ece-curriculum\/\">Nexys 4 DDR<\/a>, and <a href=\"https:\/\/digilent.com\/shop\/genesys-2-kintex-7-fpga-development-board\/\">Genesys 2<\/a> boards.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17109 aligncenter\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/Arty_obl_2_600__25304.1458767764.500.659.png\" alt=\"arty_obl_2_600__25304-1458767764-500-659\" width=\"500\" height=\"500\" data-wp-pid=\"17109\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/Arty_obl_2_600__25304.1458767764.500.659.png 500w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/Arty_obl_2_600__25304.1458767764.500.659-150x150.png 150w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/Arty_obl_2_600__25304.1458767764.500.659-300x300.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<p>The <a href=\"https:\/\/digilent.com\/shop\/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists\/\">Arty <\/a>is a great way to get started with MicroBlaze. Adding a MicroBlaze processor to your block design is as simple as searching the Vivado IP catalog, dragging and dropping into the design.<\/p>\n<blockquote><p>&#8220;The <a href=\"https:\/\/digilent.com\/shop\/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists\/\" rel=\"nofollow\">Arty<\/a> is a versatile FPGA development board that is able to implement the softcore processor MicroBlaze. This IP core allows programming of the FPGA with the Xilinx SDK.&#8221;<\/p><\/blockquote>\n<p>For a simple demo of designing and programming a MicroBlaze system on the <a href=\"https:\/\/digilent.com\/shop\/arty-board-artix-7-fpga-development-board-for-makers-and-hobbyists\/\">Arty<\/a>, see my <a href=\"http:\/\/www.instructables.com\/id\/Getting-Started-With-MicroBlaze-on-the-Arty\/\">Instructable<\/a>. In it I go through the process of creating a block design in Vivado, and\u00a0programming the soft core processor in the Xilinx SDK.\u00a0In my demo we set the board up so that\u00a0flipping the switches should turn on and off the corresponding LEDs.<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-14346 jlk' data-task='like' data-post_id='14346' data-nonce='d8c4d58d14' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-14346 lc'>0<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-14346 jlk' data-task='unlike' data-post_id='14346' data-nonce='d8c4d58d14' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-14346 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-14346 status align-left'>Be the 1st to vote.<\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Brandon examines the age old question&#8230; can you put a microprocessor on an FPGA?<\/p>\n","protected":false},"author":43,"featured_media":14369,"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],"tags":[1662],"ppma_author":[4494],"class_list":["post-14346","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-fpga","tag-fpga"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2016\/05\/uCwithArty.png","jetpack_sharing_enabled":true,"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\/14346","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=14346"}],"version-history":[{"count":1,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/14346\/revisions"}],"predecessor-version":[{"id":31175,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/14346\/revisions\/31175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/14369"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=14346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=14346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=14346"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=14346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}