{"id":244,"date":"2012-11-10T23:24:30","date_gmt":"2012-11-10T23:24:30","guid":{"rendered":"http:\/\/retroramblings.net\/?p=244"},"modified":"2026-08-14T12:56:45","modified_gmt":"2026-08-14T12:56:45","slug":"slow-progress-but-progress-nonetheless","status":"publish","type":"post","link":"http:\/\/retroramblings.net\/?p=244","title":{"rendered":"Slow progress, but progress nonetheless!"},"content":{"rendered":"<p>I&#8217;ve recently pushed some changed to the TG68MiniSOC Github repo at <a href=\"https:\/\/github.com\/robinsonb5\/TG68_MiniSOC\">https:\/\/github.com\/robinsonb5\/TG68_MiniSOC<\/a>.\u00a0 Changes this time round include:<\/p>\n<ul>\n<li>increasing the system clock frequency to 133MHz.\u00a0 In order to do this I had to add some wait states to the processor, but the increase in RAM bandwidth makes it worthwhile.<\/li>\n<li>Adding some more robust filtering to the PS\/2 clock signals.\u00a0 At the faster clock speed I was finding that the mouse and keyboard were misbehaving &#8211; it appeared as though there were spurious clock edges causing the receiver to get a bit or two out of sync with the keyboard and mouse.\u00a0 After trying various tweaks to the PS\/2 module&#8217;s parameters with no success, I tried running the PS\/2 clock signals through the debouncer I mentioned in the post about latching power circuits &#8211; and that seems to work like a charm.<\/li>\n<li>Since two of the target platforms have 32 meg of RAM, and since I now have a Platform Specific register the firmware can read to query how much RAM is present, I&#8217;ve moved the base address of the hardware registers.\u00a0 Previously they were at 0x800000, which is 8 megabytes into the address space.\u00a0 This works out nicely on the DE1 which only has 8 meg of RAM, but on the Chameleon and CIII board the base address needs to be above 32 meg.\u00a0 So I&#8217;ve changed it to 0x80000000 &#8211; or 2GB.\u00a0 Chances are I&#8217;m not going to encounter an FPGA dev board with more than 2 gig of RAM!<!--more-->No binaries as yet &#8211; and I&#8217;ve only tested on one of the three target platforms so far, but&#8230; so far so good!<\/li>\n<\/ul>\n<p>The good news is that in getting things working at 133Mhz, I *finally* found the root cause of the build-to-build stability problem that&#8217;s been plaguing the Chameleon&#8217;s Minimig core for some months: the CPU&#8217;s address goes through some complex combinationals on the way to the SDRAM controller, and takes more than a single cycle to settle; just occasionally the SDRAM controller was latching and processing the address too soon.<\/p>\n<p>Since adding a wait state at the appropriate point I haven&#8217;t had a bad build.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve recently pushed some changed to the TG68MiniSOC Github repo at https:\/\/github.com\/robinsonb5\/TG68_MiniSOC.\u00a0 Changes this time round include: increasing the system clock frequency to 133MHz.\u00a0 In order to do this I had to add some wait states to the processor, but &hellip; <a href=\"http:\/\/retroramblings.net\/?p=244\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4],"tags":[],"class_list":["post-244","post","type-post","status-publish","format-standard","hentry","category-amiga","category-fpga"],"_links":{"self":[{"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/244","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=244"}],"version-history":[{"count":5,"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/244\/revisions"}],"predecessor-version":[{"id":2144,"href":"http:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/244\/revisions\/2144"}],"wp:attachment":[{"href":"http:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=244"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}