BigEd wrote:
I'm sure you're right - verification comes after code complete, for this. I don't think this kind of task is a terribly good fit for test-driven design.
Not necessarily test-driven - but writing the verification as you implement each instruction seems to me to be a good approach. But that's just my opinion and I could be wrong.
BigEd wrote:
The sync/async RAM question comes up all the time
Yeah, I had seen this on the forums elsewhere and once you get started, it's a pretty important first question to ask.
BigEd wrote:
The other approach is the one Arlet took: design the core for sync RAM in the first place, which is possibly a little more of a brain-teaser. Then, to connect it to off-chip SRAM, you just need a shim which registers the core's outputs on the regular clock. This way, you get the fastest core and it's readily adaptable for both situations.
I took a similar approach, although I think mine is a bit different - I'm clocking the BRAM at 10X and then just pipelining everything to get cycle accuracy. Since the fastest any instruction can be executed is two clock cycles, this seems to be feasible - also, after reading through the 65816 manual that Garth recommended, I realized that implementing the 65C02 / MOS 6502 modes shouldn't be that difficult, so I'm going to target that. This is a lot of fun and I'm looking forward to getting further into the implementation. Running some test ROMs should be a hoot.