dimanche 6 décembre 2020

The Drumulator in a FPGA

Two years ago (2018), I had 'fun' implementing the processor part of a Drumulator in an FPGA.


To do this work, I used a low cost ASK2CB FPGA board from DIGIASIC, equipped with a medium density FPGA. Using the Quartus software, I quickly reached a conclusive result:


'bAd because the SRAM is not initialized'

Not bad, isn't it? For a few weeks now I have been working again with FPGAs, in particular by developing a Z80-based development board :



During this work, I also developed a small keyboard communicating by serial port. Also, I tell myself that I could take the opportunity to complete my previous work, on the one hand by using this keyboard to simulate that of the Drumulator, and on the other hand, by implementing the sound generation of this machine.

The problem is that I have to use an FPGA board with more memory resources than the Digiasic which, even with the external SRAM, does not reach 64K bytes. 
So it's time to take out my Terasic DE2-70 board :


This board, even if it is old today, remains a real 'war monster' with his FPGA Cyclone II EP2C70F896C6N! Although this board does not have standard SRAM (only SSRAM), the internal memory in the FPGA will allow me to configure not only the system ROM, but also the 64K bytes of sound.

As an example, here is the comparison of the result of the compilation of the Drumulator processor core with the two FPGAs

With the 'little' FPGA :


With the 'big' FPGA :


And 'voilà', I just have to finalize the work previously started on this Drumulator!

For this goal, the first thing to do is to translate the previous work on the DIGIASIC board to the DE2-70 board. After a little work, it's done:

With a bit of red filter to take the photo.









Aucun commentaire:

Enregistrer un commentaire