Tuesday, June 18, 2013

The Cats Out of the Bag

The SOCoCo-80 Project

 

The Cat’s Out of the Bag

 

URL Posted

 

Well, I posted the URL to this blog last night on the CoCo Forums. Now the world knows what I’m working on. I guess that’s a good thing. It will motivate me to actually complete the project. This brings me to a point that I just realized last night. The direction of the project is slightly askew by definition. My original concept was to build a device to slide into the CoCo slot and drive a VGA monitor. This is a hardware/software project. However as the name implies, it has morphed into a software only project. SOC is an acronym for System On Chip.

 

That being said, the concept of a hardware device isn’t gone. My thinking now is to develop a SOC software version FIRST. Then when all the bugs are out, I can use the core engines to implement a hardware interface to a real 6809 (CoCo expansion slot). It would be a simple exchange to accomplish. Just remove the soft CPU and design the hardware.

 

I Hate Buggy Compilers

 

My efforts now are getting the soft CPU to run using dynamic DDR Memory. I’m realizing a few things about DDR Memory… IT SUCKS!!! Using a driver I downloaded off the internet, I find that I still need to implement a DDR state machine to access the memory. To test my knowledge of how this works, I wrote a test module in Verilog. Low and behold, it didn’t work. Night after night of changing things but still no worky.

 

I now get to explain why I hate buggy compilers… Last night while watching the Black Hawks get their heads handed to them, I found the problem. The DDR state machine runs on 2 clocks at 133MHz. The second clock is shifted 3 nsec. I called these clocks RAM_Clock and RAM_EClock. There’s also a PLL signal called RAM_Locked. In writing the code, I inadvertently typed RAM_Clocked instead of RAM_Clock. The stupid compiler didn’t error on the on declared variable for some reason. 4 nights of pulling my hair out because of a stupid compiler error. ARRRG!

 

Another point of interest on my work ethic… I have none on home projects. When I work on home projects, I’m constantly interrupted with life. So, what would normally take me a few hours to diagnose at work, takes me four days at home. Go figure.

 

Specification Updates

 

Resolution Change - I’m revising a few things on the specification. For now, I’m not going to implement any resolution higher than 800x600. There are several reasons for this. One; The original XGA specification stopped at 800x600. Second; any resolution higher than 800x600 would require a different clock frequency. The different clock frequencies can easily be generated by a PLL but would add complexity in hardware. This will be looked at further down the road. I would like to use a smaller FPGA to keep the cost down. PLL engines use large amounts of FPGA goo.

 

 

 

© 2013 – Franklin Laboratories

                                               

                                   

No comments:

Post a Comment