{"id":23224,"date":"2018-08-20T08:00:25","date_gmt":"2018-08-20T15:00:25","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=23224"},"modified":"2021-06-09T14:07:07","modified_gmt":"2021-06-09T21:07:07","slug":"getting-un-stuck-with-fpga","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/getting-un-stuck-with-fpga\/","title":{"rendered":"Getting Un-Stuck with FPGA"},"content":{"rendered":"<p>As many people who have experience with FPGA&#8217;s can attest, working with them can be very rewarding and satisfying. It can also be incredibly frustrating. Even the most weathered FPGA veterans can sometimes find themselves stuck, and without a clue as to why. Zip CPU has recently<a href=\"http:\/\/zipcpu.com\/blog\/2017\/09\/14\/even-i-get-stuck.html\"> released a blog post<\/a> discussing that particular state of frustration, and how he has managed to return from the depths of despair.<\/p>\n<p>In his in-depth post, he examines three cases where he got stuck when using FPGAs, and how he discovered the source of his frustration. The first project that he was having difficulties with was his ongoing HDMI Video Project. For this, he is using a\u00a0<a href=\"https:\/\/digilent.com\/shop\/nexys-video-artix-7-fpga-trainer-board-for-multimedia-applications\/\">Nexys Video <\/a>and is attempting to\u00a0be able to process the HDMI signals associated with 3D head-sets, such as the <a href=\"https:\/\/www.oculus.com\/rift\/\">Oculus Rift<\/a>.<\/p>\n<p>In the <a href=\"http:\/\/zipcpu.com\/blog\/2017\/09\/14\/even-i-get-stuck.html\">post,<\/a> he goes into detail about the symptoms of the issue, as well as how the problem was diagnosed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-23225\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/12\/snuip-600x237.jpg\" alt=\"\" width=\"600\" height=\"237\" data-wp-pid=\"23225\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/12\/snuip-600x237.jpg 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/12\/snuip.jpg 752w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>He then goes on to illustrate two additional projects in which the issues seemed beyond discovery, and how he used debugging tools (such as the <a href=\"https:\/\/digilent.com\/shop\/digital-discovery-portable-logic-analyzer-and-digital-pattern-generator\/\">Digital Discovery!<\/a>) to suss out the problems. He concludes the post with an overall statement regarding his experiences debugging FPGA designs.<\/p>\n<blockquote><p>In each of these examples, the easiest part of the design to get right was the logic. The hardest part, the part which had sent me to <a href=\"http:\/\/zipcpu.com\/fpga-hell.html\">FPGA Hell<\/a> in the first place, was dealing with those parts and components of my design which I could not simulate. Further, in two out of three of these examples, an external logic analyzer,\u00a0<a href=\"https:\/\/digilent.com\/shop\/\">Digilent<\/a>\u2019s <a href=\"https:\/\/digilent.com\/shop\/digital-discovery-portable-logic-analyzer-and-digital-pattern-generator\/\">Digital Discovery<\/a>, rescued me.<\/p><\/blockquote>\n<p>Please make sure to stop by the Zip CPU blog and read the<a href=\"http:\/\/zipcpu.com\/blog\/2017\/09\/14\/even-i-get-stuck.html\"> full post<\/a>, and feel free to share your FPGA experiences in the comments below.<\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-23224 jlk' data-task='like' data-post_id='23224' 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-23224 lc'>+1<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-23224 jlk' data-task='unlike' data-post_id='23224' 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-23224 unlc'>0<\/span><\/a><\/div><\/div> <div class='status-23224 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>An FPGA user shares his experience with debugging and gives some tips on how to diagnose and solve issues in FPGA designs.<\/p>\n","protected":false},"author":36,"featured_media":23225,"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":[4325,35,1563],"tags":[1662],"ppma_author":[4485],"class_list":["post-23224","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-debug-validation-test","category-fpga","category-guide","tag-fpga"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2017\/12\/snuip.jpg","jetpack_sharing_enabled":true,"authors":[{"term_id":4485,"user_id":36,"is_guest":0,"slug":"mirandamay7","display_name":"Miranda Hansen","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/bcab037c32924b9f9b3ca4898e179f2764cb7d9a82aa2bd475170c8aaa884e1c?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\/23224","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\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=23224"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/23224\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/23225"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=23224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=23224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=23224"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=23224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}