{"id":201,"date":"2012-09-08T14:02:23","date_gmt":"2012-09-08T14:02:23","guid":{"rendered":"http:\/\/retroramblings.net\/?p=201"},"modified":"2012-09-10T17:44:59","modified_gmt":"2012-09-10T17:44:59","slug":"experimenting-with-tg68-10","status":"publish","type":"post","link":"http:\/\/retroramblings.net\/?p=201","title":{"rendered":"Experimenting with TG68"},"content":{"rendered":"<p><strong>Part 10 &#8211; Multiple Boards<\/strong><\/p>\n<p>Now my A\/V and power boards are built and working, I want to run the TG68 MiniSOC project on the Ebay-sourced Cyclone III board.\u00a0 Rather than just port the project to the new board and then neglect the DE1, what I&#8217;ve done this time around is to make a single source tree usable with both the DE1 and C3 boards.<\/p>\n<p>In order to keep things straight, I&#8217;ve adopted the following directory structure:<\/p>\n<ul>\n<li><strong>RTL<\/strong> &#8211; modules belonging to the project itself, and which can be used on either board<\/li>\n<li><strong>C3BoardRTL<\/strong> &#8211; toplevel and support modules specific to the Cyclone III board<\/li>\n<li><strong>C3BoardRTL\/Generated<\/strong> &#8211; Megafunctions specific to the Cyclone III board, such as the PLL module, BootROM and Character RAM.<\/li>\n<li><strong>C3BoardProject<\/strong> &#8211; The Quartus project file and the generated .sof \/ .pof files end up here.<\/li>\n<li><strong>DE1RTL<\/strong> &#8211; toplevel and support modules specific to the DE1 board.<\/li>\n<li><strong>DE1RTL\/Generated<\/strong> &#8211; PLL, BootROM, CharRAM, etc.<\/li>\n<li><strong>DE1Project<\/strong> &#8211; The Quartus project file, etc.<\/li>\n<\/ul>\n<p>At some stage I shall add port the project to the Turbo Chameleon 64, too, and have a third platform buildable from the same source tree.<\/p>\n<p>There are three other noteworthy developments since last time:<\/p>\n<p>Firstly, I finally received the Max3232 chip I was waiting for, so the power board now sports an RS232 serial port, tested and working.<\/p>\n<p>Secondly, as well as receiving an S-record over the serial port, the boot firmware can now load a program (again in S-record format) directly from an SD card.\u00a0 If you want to try it out, just copy the file CFirmware\/out.srec to the root of the SD card, and rename it to &#8220;boot.sre&#8221;.\u00a0 As before, you&#8217;ll want test.img on the SD card too.<\/p>\n<p>Finally, since my A\/V board supports 6-bit per gun video output and the DE1 only supports 4, I&#8217;ve moved the dithering out of the vga controller and into a generic module which is instantiated by the board-specific toplevels.\u00a0 A generic parameter sets the number of available bits per pixel and adjusts the dithering accordingly.<\/p>\n<p>Full source is available, as always, for anyone who might be interested: <a href=\"http:\/\/retroramblings.net\/downloads\/TG68MiniSOC_Part10_MultiBoard.zip\">TG68MiniSOC_Part10_MultiBoard.zip<\/a><\/p>\n<p>I also promised in my last post to release the Eagle files for the VGA board once I&#8217;d tested the PS\/2 sockets, so again, for anyone who might be interested: <a href=\"http:\/\/retroramblings.net\/C3Board\/C3_VGABoard.zip\">C3_VGABoard.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part 10 &#8211; Multiple Boards Now my A\/V and power boards are built and working, I want to run the TG68 MiniSOC project on the Ebay-sourced Cyclone III board.\u00a0 Rather than just port the project to the new board and &hellip; <a href=\"http:\/\/retroramblings.net\/?p=201\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-201","post","type-post","status-publish","format-standard","hentry","category-fpga"],"_links":{"self":[{"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=201"}],"version-history":[{"count":6,"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/201\/revisions"}],"predecessor-version":[{"id":204,"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/201\/revisions\/204"}],"wp:attachment":[{"href":"http:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=201"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}