{"id":26965,"date":"2019-05-16T13:34:25","date_gmt":"2019-05-16T20:34:25","guid":{"rendered":"https:\/\/blog.digilentinc.com\/?p=26965"},"modified":"2021-06-09T12:59:31","modified_gmt":"2021-06-09T19:59:31","slug":"teaching-computer-architecture-with-fpga-boards-harris-harris","status":"publish","type":"post","link":"https:\/\/digilent.com\/blog\/teaching-computer-architecture-with-fpga-boards-harris-harris\/","title":{"rendered":"Teaching Computer Architecture with FPGA Boards- Harris &#038; Harris"},"content":{"rendered":"\n<p>As the academic school year winds down, some educators find themselves preparing to re-tool their Computer Architecture course over the summer. We here at Digilent, have a suggestion to help with that effort. <\/p>\n\n\n\n<p>Computer Architecture is a course that most accredited ECE curriculums require for their undergraduates. Understanding the theory of data paths, control structures, memory systems and how each fit together, enables students to have strong foundations for understanding the modern computing problems they will face in industry. To meet this need, Digilent partnered with Imagination Technologies and Sarah Harris from Harvey Mudd College, to create a comprehensive course that gives students the ability to learn Computer Architecture in a integrated system context. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"979\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/Book-and-NExys-a7-board-1024x979.png\" alt=\"\" class=\"wp-image-27014\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/Book-and-NExys-a7-board-1024x979.png 1024w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/Book-and-NExys-a7-board-600x574.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/Book-and-NExys-a7-board-768x734.png 768w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/Book-and-NExys-a7-board-800x765.png 800w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/Book-and-NExys-a7-board.png 1512w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The course begins with fundamental digital logic gates, then moves to design of combination and sequential circuits. These are then combined into the beginning of designing a processor with the end result being a MIPS processor. Then students are exposed to the practice of building peripherals (such as RS232, SPI, interupts, analog to digital conversions, motor controllers etc.). Educators will have a choice between teaching Verilog of VHDL, since both are used in examples. In the end, the student will have built a functioning processor, intergrated peripherals and have the option to explore the additional exercises that show techniques for advanced architectures and I\/O applications they will likely run into in industry, embedded system needs, heterogeneous computing and such. There is an appendix on C programming that can help solidify a students understanding of how programming is affected by processor architecture. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"867\" src=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/mips-block.png\" alt=\"\" class=\"wp-image-27013\" srcset=\"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/mips-block.png 910w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/mips-block-600x572.png 600w, https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/mips-block-768x732.png 768w\" sizes=\"auto, (max-width: 910px) 100vw, 910px\" \/><figcaption>Internal architecture of a MIPS core<\/figcaption><\/figure>\n\n\n\n<p>To help with the concepts of building a processor from the gate level to the programming of that processor, a FPGA trainer board serves as a scalable tool that helps students root the concepts into hardware they can see and touch. All of the material was designed to run on the <a href=\"https:\/\/digilent.com\/shop\/nexys-4-ddr-artix-7-fpga-trainer-board-recommended-for-ece-curriculum\/\">Nexys A7-100T<\/a> (formerly known as the Nexys 4DDR). This board has an entire suite of peripherals that students can stay busy learning how to connect. Peripherals such as switches, LEDs, seven segment displays, VGA, Ethernet, USB, audio, temperature sensors and accelerometers are on-board. If a lower cost version of the board is desired, the material will also port to the Nexys A7-50T and the less feature-heavy, but more cost-effective <a href=\"https:\/\/digilent.com\/shop\/basys-3-artix-7-fpga-trainer-board-recommended-for-introductory-users\/\">Basys 3.<\/a> <\/p>\n\n\n\n<table class=\"wp-block-table aligncenter is-style-stripes\"><tbody><tr><td><\/td><td><strong><a href=\"https:\/\/digilent.com\/shop\/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum\/\">Nexys A7-100T<\/a><br><\/strong><em>Nexys 4DDR<\/em><\/td><td><strong><a href=\"https:\/\/digilent.com\/shop\/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum\/\">Nexys A7-50T<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/digilent.com\/shop\/basys-3-artix-7-fpga-trainer-board-recommended-for-introductory-users\/\">Basys 3<\/a><\/strong><\/td><\/tr><tr><td><strong><em>FPGA Part<\/em><\/strong><\/td><td>XC7<strong>A100<\/strong>T-1CSG324C<\/td><td> XC7<strong>A50<\/strong>T-1CSG324C <\/td><td>XC<strong>A35<\/strong>T-1CPG236C<\/td><\/tr><tr><td>Logic Slices<\/td><td>15,850<\/td><td>8,150<br><\/td><td>5,200<br><\/td><\/tr><tr><td>DSP Slices<\/td><td>240<\/td><td>120<\/td><td>90<\/td><\/tr><tr><td>Memory <\/td><td>DDR2- 128MB<\/td><td>DDR2- 128MB<br><\/td><td>n\/a<\/td><\/tr><tr><td><\/td><td>16MB RAM<\/td><td>16MB RAM<br><\/td><td>n\/a<\/td><\/tr><tr><td><\/td><td>micro SD card<\/td><td>micro SD card<\/td><td>n\/a<\/td><\/tr><tr><td>Expansion<\/td><td>5 Pmod ports<\/td><td>5 Pmod ports<br><\/td><td>4 Pmod ports<\/td><\/tr><tr><td>Ethernet<\/td><td>Yes<\/td><td>Yes<br><\/td><td>No<br><\/td><\/tr><tr><td>Peripherals<\/td><td>PWM audio<br>3 axis accelerometer<br>16 user switches<br>16 green leds<br>2 rgb leds<br>PDM microphone<br>Temperature sensor<br>Two 4-digit 7 segment displays<br>USB HID Host <br>12 bit VGA<br><\/td><td> PWM audio<br>3 axis accelerometer<br>16 user switches<br>16 green leds<br>2 rgb leds<br>PDM microphone<br>Temperature sensor<br>Two 4-digit 7 segment displays<br>USB HID host <br>12 bit VGA <\/td><td>&#8211;<br>&#8211;<br>16 user switches<br>16 green leds<br>&#8211;<br>&#8211;<br>&#8211;<br>4 digit 7 segment display<br>USB HID Host<br>12 bit VGA<\/td><\/tr><tr><td>Cables:<\/td><td>Included micro USB<\/td><td>Included micro USB<\/td><td><\/td><\/tr><tr><td>Box:<\/td><td>Included<\/td><td>Included<\/td><td>Sold separately<\/td><\/tr><tr><td>Price:<\/td><td>$265 USD<\/td><td>$229 USD<\/td><td>$149 USD<\/td><\/tr><tr><td>Academic Price<\/td><td>Yes<\/td><td>Yes<\/td><td>Yes<br><\/td><\/tr><\/tbody><\/table>\n\n\n\n<p>All of the boards allow for easy <a href=\"https:\/\/digilent.com\/shop\/pmod-modules-connectors\/\">Pmod <\/a>expansion and are eligible for academic discounts. <\/p>\n\n\n\n<p><strong>Relevant&nbsp;Resources:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Textbook: <a href=\"https:\/\/www.elsevier.com\/books\/digital-design-and-computer-architecture\/harris\/978-0-12-394424-5\">https:\/\/www.elsevier.com\/books\/digital-design-and-computer-architecture\/harris\/978-0-12-394424-5<\/a><\/li><li>Videos: <a href=\"https:\/\/www.youtube.com\/watch?v=MRLQBT03JAs&amp;list=PLSTiCUiN_BoJcWlxQTxbKE3VQBQhwFLDP\">https:\/\/www.youtube.com\/watch?v=MRLQBT03JAs&amp;list=PLSTiCUiN_BoJcWlxQTxbKE3VQBQhwFLDP&nbsp;<\/a><\/li><li>Course and lab material (including the MicroAdaptiv Core) : <a href=\"https:\/\/booksite.elsevier.com\/9780123944245\/?ISBN=9780123944245\">https:\/\/booksite.elsevier.com\/9780123944245\/?ISBN=9780123944245<\/a><\/li><li>Recomended hardware: <a href=\"https:\/\/digilent.com\/shop\/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum\/\">https:\/\/digilent.com\/shop\/nexys-a7-fpga-trainer-board-recommended-for-ece-curriculum\/<\/a><\/li><\/ol>\n\n\n\n<p>We believe that this course is unique because it allows students to experience every part of the processor development cycle.  Students can first be introduced to an existing processor on a PIC32 architecture with a board such as the <a href=\"https:\/\/digilent.com\/shop\/chipkit-wi-fire-wifi-enabled-mz-microcontroller-board\/\">Digilent Wi-Fire.<\/a> This gives students a frame of reference of what the &#8220;end goal&#8221; product will be.  Then, they can recreate the same processor core within an FPGA and in essence, &#8220;peek under the hood&#8221;. This is a departure from most architecture classes where a processor is broken down into conceptual black boxes, and students don&#8217;t have access to the low-level hardware assembly. The combination of this style of teaching and the companion materials can help an educator get up and running quickly. All of this is why Digilent recommends this solution for Computer Architecture courses! For more information, visit: <a href=\"https:\/\/www.mips.com\/mac\/resources\/\">https:\/\/www.mips.com\/mac\/resources\/\u00a0<\/a> <\/p>\n\n\n\n<p><\/p>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style6 like-26965 jlk' data-task='like' data-post_id='26965' data-nonce='87acbb1af5' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Like' \/><span class='lc-26965 lc'>+3<\/span><\/a><\/div><div class='action-unlike'><a class='unlbg-style6 unlike-26965 jlk' data-task='unlike' data-post_id='26965' data-nonce='87acbb1af5' rel='nofollow'><img src='https:\/\/digilent.com\/blog\/wp-content\/plugins\/wti-like-post-pro\/images\/pixel.gif' title='Unlike' \/><span class='unlc-26965 unlc'>-1<\/span><\/a><\/div><\/div> <div class='status-26965 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Looking for material for your Computer Architecture course? Check out a Digilent recommended solution!<\/p>\n","protected":false},"author":2,"featured_media":27014,"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":[18,35,1563],"tags":[1662],"ppma_author":[4470],"class_list":["post-26965","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-academia","category-fpga","category-guide","tag-fpga"],"jetpack_featured_media_url":"https:\/\/digilent.com\/blog\/wp-content\/uploads\/2019\/05\/Book-and-NExys-a7-board.png","authors":[{"term_id":4470,"user_id":2,"is_guest":0,"slug":"larissa","display_name":"Larissa Swanland","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5f61b3eec23600758fbff3f5d93b1747629d804ba07aa739844b484018ff6786?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\/26965","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\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/comments?post=26965"}],"version-history":[{"count":0,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/posts\/26965\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media\/27014"}],"wp:attachment":[{"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/media?parent=26965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/categories?post=26965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/tags?post=26965"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/digilent.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=26965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}