Search the Community
Showing results for tags 'vhdl'.
Found 3 results
Starting a thread to centralize FPGA discussion; let's see whether it catches on. At time of writing there are the following major systems built around FPGA and dedicated cores. Capacity of FPGAs is measured in LEs which allows cramming more or less logic inside. about 9K LE: - RetroUSB AVS, NES/Famicom only, commercial core - ZxUno, Spectrum + about 10 cores, open source cores about 25K LE: - Analogue NT mini, NES/FC + more with jailbroken firmware, commercial cores - MiST FPGA, 40+ cores, open source - Turbo Chameleon 64, open source except c64 core - FPGA Arcade Replay, open source (note: some open cores are the same project ported over to different hardware) Only commerical offerings provide HDMI. The rest has VGA out which can also be configured to run at 15khz RGB (240p). Theae need an upscaler to run on modern LCDs. FPGA Arcade Replay has DVI. FPGAs are good at solving latency/lag issues of software emulation, and use much less power than CPU solutions. But they are not problem free, many cores are not yet 100% perfect (although some seem to be e.g. Atari800 by foft). Also they retain some constraints of original hardware (e.g. save states are hard or impossible to do)
The other day I came across one of Grant Searle's projects that I had not noticed before: his "multicomp" project. It is a simple, low cost FPGA project, where he has more or less created a "software breadboard" for prototyping various retro computers. Googling for it shows various successful builds, including those with ready made PCB's, such as: https://www.retrobrewcomputers.org/forum/index.php?t=msg&th=111&start=0& (but there are several more such efforts). Maybe it is a nice idea to extend this idea to the 99xx world and create a few components to make it easy to prototype various small 99xx systems. The main thing missing in Grant's setup is the CRU bus and VHDL for CRU based chips. Probably the 9900 CPU core that 'speccery' did for last year's retro challenge can be reworked into a component for such a project without too much effort. Other chips to be added would be the 9902 and the 9901. As I have a need for a 9902 in VHDL for another project, I thought I might as well attempt to write one. Looking at he datasheet (figure 2 on page 3) it is not all that complex. There seem to be: - 6 plain registers - 2 shift registers - 3 counters - 3 controllers / FSM's The logic for the controllers is documented in flow charts on page 16, 18 and 19. I'm guessing it will be about 1,000 lines of VHDL? I'll post my public domain source as I go along. Peer review certainly welcome. PS : one guy did an interesting VHDL project around recreating the 9902.
For testing a CPU core, I'm looking for diagnostic routines that test the functionality of a 9900 CPU. Maybe this was developed for one of the emulators? Or were those debugged by just throwing a lot of programs at them and fixing bugs where they did not execute as expected? All suggestions welcome.