This is the fully populated board. I didn't have 74HCT244 for address mux, so I use 74HCT240 instead. The addresses are inverted, but it doesn't matter since we are talking to RAM. Using 244 or 240 was not a good design choice, however, because it adds more complexity to the timing where delay is needed from first 244 turning off to the second 244 turning on. A multiplexer like 74157 or 74257 would be a better choice. Be that as it may, the DRAM controller is working with a 16 megabyte simm72 DRAM module. At 16MHz system clock, a wait state is needed to access the DRAM which is actually faster than I expected. The refresh is done automatically by the CPLD logic invisible to 68030 using CAS-before-RAS refreshing scheme which steals one bus cycle or 3 clocks. Since a refresh is performed every 250 clocks, this is a 1.2% overhead for using DRAM, an insignificant penalty to performance. The DRAM controllers takes 18 macrocells to implement: 8 for the refresh counter, 5 for CAS-before-RAS refresh logic, and 5 for normal DRAM access. The Altera 7128S has 128 macrocells, so that works. Right now the total macorcells used in the design is 47, or 37%.
Attachment:
File comment: Fully populated Tiny030
DSC_24280325.jpg [ 374.83 KiB | Viewed 11505 times ]
Not everything is rosy, there are issues: DRAM access generates significant of power spikes which can cause ground bounces and mess up the CPU operations. I've had intermittent bus errors which is fixed, for now, by adding a couple extra ground wires. I have several surplus DRAM module and one of them have intermittent memory errors at the rate of once every 5-10 minutes. I suspect it is not the DRAM module per se, but a warning sign of excess noises in the system. I added more bypass & filter caps around DRAM, but the problem persisted. A multi layer pcb or grided power/ground 2-layer board is indicated by these problems. There are a couple dozen "blue wires" added to the pc board. 6 of them are for debugging/instrumentation purpose, but still a lot of hand wiring. A board redesign is needed.
Attachment:
File comment: Two dozen blue wires to make the board works
DSC_24320325.jpg [ 454.09 KiB | Viewed 11505 times ]
I'm pleased with the design, nevertheless. a large memory opens the door for operation system like Linux so maybe I can tell my wife that these boards are "useful" after all!
