{"id":35,"date":"2020-02-15T20:47:35","date_gmt":"2020-02-15T20:47:35","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/?p=35"},"modified":"2020-02-15T20:47:35","modified_gmt":"2020-02-15T20:47:35","slug":"team-status-update-for-2-15-2020","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/2020\/02\/15\/team-status-update-for-2-15-2020\/","title":{"rendered":"Team Status Update for 2\/15\/2020"},"content":{"rendered":"<p>This week we worked together on designing the datapath for the CPU, we tried to reverse engineer the datapath based on the instruction timings and known aspects about it. With the help of <a href=\"https:\/\/gekkio.fi\/files\/gb-docs\/gbctr.pdf\">this reference<\/a>, we were able to get a datapath that we believe accurately represents that of the Gameboy. We hand executed some instructions through it and they all matched the cycle timings that the Gameboy reference manual specified. Here is the datapath we came up with:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-39\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/Capture-300x157.png\" alt=\"\" width=\"300\" height=\"157\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/Capture-300x157.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/Capture-768x401.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/Capture-1024x534.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/Capture.png 1138w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/p>\n<p>Furthermore, we made a first draft of the FSM for multi-cycle instructions, this is what we came up with:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-40\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/86467858_177205486907174_2045916909924253696_n-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/86467858_177205486907174_2045916909924253696_n-300x225.jpg 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/86467858_177205486907174_2045916909924253696_n-768x576.jpg 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/86467858_177205486907174_2045916909924253696_n-1024x768.jpg 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/86467858_177205486907174_2045916909924253696_n-1200x900.jpg 1200w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-content\/uploads\/sites\/90\/2020\/02\/86467858_177205486907174_2045916909924253696_n.jpg 2048w\" sizes=\"(max-width: 300px) 85vw, 300px\" \/><\/p>\n<p>For next week&#8217;s report, we want to be able to have an initial implementation of the CPU and have a testbench for it so we can start ironing out bugs. We think this is important so that we can all start focusing on our areas of the project.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week we worked together on designing the datapath for the CPU, we tried to reverse engineer the datapath based on the instruction timings and known aspects about it. With the help of this reference, we were able to get a datapath that we believe accurately represents that of the Gameboy. We hand executed some &hellip; <a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/2020\/02\/15\/team-status-update-for-2-15-2020\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Team Status Update for 2\/15\/2020&#8221;<\/span><\/a><\/p>\n","protected":false},"author":275,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/posts\/35"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/comments?post=35"}],"version-history":[{"count":2,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/posts\/35\/revisions"}],"predecessor-version":[{"id":41,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/posts\/35\/revisions\/41"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/media?parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/categories?post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/s20-teamc0\/wp-json\/wp\/v2\/tags?post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}