After thinking about what could become of my improved version of the Z80 µPF - 1 compatible kit from Wichit Sirichote, I thought that the first thing to do was to take full advantage of the Z80 hardware emulation in the FPGA.
In fact, the Z80 encoded inside the FPGA can operate at the native frequency of the QMTECH board, which is 50MHz. It would be possible I think to go up to 100MHz using a PLL but in the context of a learning board, I did not consider it necessary to exceed 50MHz.
Obviously, it is not enough to change the frequency of the processor to make the system working correctly. Indeed, apart from the internal resources of the FPGA, the external resources operate at much lower frequencies. This is the case off the I2C bus, the LCD display etc etc ...
By properly managing the internal processor frequencie, I have succeeded in achieving a fully functional system.
So all RAM ROM access and internal FPGA peripherals are now running at 50MHz. This represents a speed approximately 14 times greater than the original 3.579MHz of the Wichit Sirichote Z80 kit.
This can make it possible to consider applications a little more 'serious' now!
Wichit Sirichote µPF--1@3.579MHz VS µPF--2 @ 50MHz |
As can be seen in the image above, the µPF - 2 kit has a separate mechanical keyboard which is very pleasant to use, unlike the keys used on the original kit.
Communication with a PC is now carried out at 38400 baud and no longer 1200 baud. Or a file download speed multiplied by 32!
Obviously, now the file download is proceeding correctly. There is no more corrupted informations. This is mainly due to the fact that I used a real UART and not a slow emulation performed by the Z80, like on the original kit.
The majority of the code now runs at a speed of 50MHz and no longer at around 3.5MHz.
The µPF - 2 kit also offers other resources such as the native LCD display as well as a real-time management circuit.
Z80 @ 50MHz! |
To make this all possible, I also rewrote a lot of the code of the monitor. I haven't completely finished this job yet. I also still have a few details to finalize on the VHDL code for the hardware emulation. I expect to carry out these operations in the next few days.
So, I now hear in France, that it is becoming difficult to find people with basic skills in digital electronics and that the National Education no longer trains this type of person.
This is true, and false. False, because a few excellent branches still exist, but very few highly qualified personnel are trained. True because there is no longer any training allowing a larger number of talented people to be trained in this type of technology.
This is nothing new. Reason why I personally learned digital electronics and more particularly processor systems on this type of material, in the 80s.
We may not realize it, but even today, a very large number of applications are built around the Z80 or other processor like the 6502. Modern technology makes it possible to use this processor in an FPGA and thus to obtain inexpensive but nevertheless very powerful hardware. And imagine that it is possible to implement an FPGA with 8 or 16 Z80 cores at 50MHz or 100MHz without problem. What flexibility!