FPGA development


Updates may come from time to time as I implement new cores for the MiST board.

My latest dev, based on Gowin FPGA: http://joco.homeserver.hu/fpga/tn9.html

These are my own FPGA developments. My original purpose with the FPGAs was to simplify my circuits. I had a plan that I would reimplement my favourite computer, the Sinclair ZX Spectrum with parts available today. I did not know that that whole machine would fit in an FPGA back then. Well, it turned out that the Speccy was only the beginning. Some friends of mine kept urging me to work on other old computers, mainly classic Hungarian ones, such as

Primo HT1080Z Videoton TVC

It took years to learn what I know now about the FPGAs. (If you want to know what the FPGAs really are, look around on the Internet). For now, briefly only: FPGAs are highly integrated digital circuits where the internal connection in not fixed, but can vary based on the configuration, which is loaded into the FPGA when it starts. Configuration specifies the internal (actual) connections inside the chip. FPGAs are available in different density and capacity from a couple of thousand gates to millions. At the end, the possibilities are endless, as long as our design fits into a given device.

Besides the classic digital "bricks" (gates, muxes and demuxes, counters, etc.) FPGAs contain special modules as well, which help us to make faster and simpler circuits. Some examples:
We can choose different ways to design the internal circuits for the FPGA. If someone wants, even schematic drawing is an option, but I don't think it's a good idea. As the complexity grows, soon the designer goes crazy. There must be better ways. This is, where HDL (Hardware Description Language) languages comes into the scope. Designers use two main languages nowadays: Verilog and VHDL. Both have advantages and disadvantages, but the goal is the same: describing how the circuit should work. My opinion is that for beginners, VHDL may be a bit easier. This is what I use, though I can read Verilog, too.

I think it is useful to know the traditional ways of digital designs when we start with FPGAs. Not absolutely necessary, but helps a lot if you know what is a gate and a multiplexer, flip-flop and other "old school stuffs". Perhaps knowledge grows faster if we don't start from "zero", but have some "base" to build on to.

As I worked with FPGAs in the past years, I also leaned to use one circuit designer application, so I could design my own developer board. Well, surely there are cheaper and better commercial boards available on the market, but making your own is such a fun. At the moment I use two boards mainly: The FPGA on my own boards is not too big. This is the biggest one that Xilinx released in TQFP package, so a "hobby guy" can solder it. MiST has a BIG FPGA which has enough capacity to implement computers like Atari ST or Amiga. Not to cheap, but it's worth the money I tell you. Here I describe these two boards just in a nutshell, and let me share with you my own designs of the 8bit cimputers mentioned above.

The Xilinx Spartan 6 developer board The MiST board Implementations:

Links and references:

Contact: write to this email: