Possible ways of speeding up the Gigatron

Using, learning, programming and modding the Gigatron and anything related.
Forum rules
Be nice. No drama.
lb3361
Posts: 52
Joined: 17 Feb 2021, 23:07

Re: Possible ways of speeding up the Gigatron

Post by lb3361 »

Very cute.

There is a fair amount of space in the north-west corner of the RAM & IO expansion board. The SPI1 header does not have to be there.
It might be possible to combine both in a rather compact form. If one moves the discrete logic of the repeater into a third gal, we just need two additional chips. There is also a way to benefit from the combination, like directly filling the shift register from the RAM chip during the off cycles. The 377 has the clock on pin 11. Not having the clock was very limiting on the RAM & IO expansion...
Hans61
Posts: 27
Joined: 29 Dec 2020, 16:15
Location: Saxonia
Contact:

Re: Possible ways of speeding up the Gigatron

Post by Hans61 »

I find the idea with a board for both very good. Also the idea with the 3 GAL. I wanted a working circuit first and I wanted it fast. It's also a bit "Quick and Dirty", but it works. I only came across the GAL's through the "RAM & IO Expander" lb3361, thank you. I have ordered several GAS's and CPLD's. Are not yet there. Would like to go deeper into it. I am not sure yet how to realize the counter for the scanlines (74113)?
lb3361
Posts: 52
Joined: 17 Feb 2021, 23:07

Re: Possible ways of speeding up the Gigatron

Post by lb3361 »

One constraint of the 22v10 style gals is that all the flip-flops are controlled by the same clock. They have a feedback loop so one can count, shift, etc. But you only have 10 flip-flops to play with (6 for rgb +4 for logic?). Note that I can see that there are two octal flip-flops in the circuit (a 377 and a 574). I am not sure why exactly. I would have thought the shift register had that built-in, but that's probably wrong. Then one might need a third circuit to hold them.

More recent CPLDs are far more powerful. They can easily hold the whole gigatron. Few of them are 5v tolerant. Among the 5v tolerant ones, the XC9572XL seems a good choice, and the ATF ones are hard to program with free software or cheap programmers. But you also need a lot of pins to make good use of them, which leads to dense surface mounted packages that look out of place on a gigatron. In the end, I found that the old-style gals were looking better and easier to program (the 16v8 and 22v10 can be programmed with cheap devices..)
Last edited by lb3361 on 19 May 2021, 13:41, edited 1 time in total.
bmwtcu
Posts: 54
Joined: 01 Nov 2018, 12:02

Re: Possible ways of speeding up the Gigatron

Post by bmwtcu »

lb3361 wrote: 19 May 2021, 11:46 More recent CPLDs are much more powerful. They could hold the whole gigatron. One issue is that few of them are 5v tolerant.
Unfortunately, there have not been any 5V tolerant CPLD/FPGA designs from the major players for almost 2 decades at this point. Just out of curiosity, what are you using to code/program the GALs with?
lb3361
Posts: 52
Joined: 17 Feb 2021, 23:07

Re: Possible ways of speeding up the Gigatron

Post by lb3361 »

I am running 'WINCUPL' under Wine to prepare the JED files. Then I program them with minipro and a XGecu TL866II+.
See the readme file at https://github.com/lb3361/gigatron-lb/t ... sion-retro

As for more ambitious CPLDs, I considered using a XC9572XL for the memory expansion because it is 5v tolerant (it needs a 3.3v supply though). I gave up because there was no point. If one also does the repeater on the same board, there might be a point doing something like this. See https://github.com/lb3361/gigatron-lb/t ... pact/image for a starting point. For those I found more convenient to use the Windows version of Xilinx WebISE running under Wine. (see the makefiles in the rtl subdirectory). I did not come to the point of actually programming them.

At that point I turned to software. I have rewritten the C compiler. It is now in very good shape but I am more busy with other stuff. I am planning to release it as soon as get the floating point emulation to work. I could use help. See https://github.com/lb3361/gigatron-lcc for the work in progress...
Sugarplum
Posts: 21
Joined: 30 Sep 2020, 22:19

Re: Possible ways of speeding up the Gigatron

Post by Sugarplum »

Going that far, if one wants to merge the repeater board and the I/O board, one might as well boost the ALU speed too. The adders are right below the repeater, and the high adder is the one I'd replace with a reduced latency adder board. You can use 2 adders and a multiplexer in place of the upper adder. That could allow a few Mhz faster clock (in addition to the other mods like a faster crystal, faster ICs, lower resistor values, multi-layer board, etc).
Hans61
Posts: 27
Joined: 29 Dec 2020, 16:15
Location: Saxonia
Contact:

Re: Possible ways of speeding up the Gigatron

Post by Hans61 »

My new PCB is ready. Now you can see the flashing lights again. It works very well, thank you. It's just a quick Eagle solution with auto router. It is also only supposed to be a short transitional solution. I would like to have it already on a single PCB with the RAM expander. But then I would like to do the switching between 3 and 4 scan lines with the software. But I don't have an output bit for that yet. The easiest solution I see is a SPI IO expander. First I ordered a MCP 23S17. Is there already experience for this. Does anyone have a better idea?
My Eagle Files, but as I said, not a final solution:
FIFOv3.zip
(315.72 KiB) Downloaded 13 times
fifo-2-board.jpg
fifo-2-board.jpg (191.22 KiB) Viewed 106 times
fifo2-on-gigatron-2.jpg
fifo2-on-gigatron-2.jpg (541.35 KiB) Viewed 106 times
fifo2-on-gigatron-3.jpg
fifo2-on-gigatron-3.jpg (576.39 KiB) Viewed 106 times
lb3361
Posts: 52
Joined: 17 Feb 2021, 23:07

Re: Possible ways of speeding up the Gigatron

Post by lb3361 »

About finding a control bit.

I am thinking about ways to get more control bits from the ctrl instruction. In my version of the extension board, I've repurposed spi3 and spi2, but I cannot say that I am happy with this solution. The good news is that changing this just requires reprogramming the gals.

One idea is that in Marcel's scheme, the control command should never activate two spi links at the same time. There should be a way to use this to change the meaning of the other ctrl bits. But one should also think of the reset state, and this is where I am stuck.

- L
Hans61
Posts: 27
Joined: 29 Dec 2020, 16:15
Location: Saxonia
Contact:

Re: Possible ways of speeding up the Gigatron

Post by Hans61 »

@lb3361 Through your "128K expansion" I came across the GAL/PAL, thank you.
I was not aware of them before. I find them fascinating and I didn't think they were that old. I also ordered a few different types of them, including a couple of CPLD. I want to get deeper into the subject. Not just for the Gigatron I have other projects as well and I am an electronics engineer by passion. For understanding the GAL/PAL(CPLD) I still need some time and time is actually my biggest problem. So I have no idea yet if you could still reduce the video accelerator(FIFO) in the chips if you combine both boards. I would be pleased therefore with the support/ideas of the entire circuit. The reset thing I haven't quite understood yet. A defined initial state is important (condition). But I see no problem to get the /RST signal from Gigatron. It is easily accessible with the soldering of a wire. It's not pretty, but we more or less do it with A15. In the future I would also like to see this all combined on one PCB (Gigatron+Expander+SD+FIFO). All extensions we make should always be possible via additional boards. Otherwise we exclude the already large Gigatron family and it becomes solutions for a few.
bmwtcu
Posts: 54
Joined: 01 Nov 2018, 12:02

Re: Possible ways of speeding up the Gigatron

Post by bmwtcu »

If you extend out to the first of the PC parts on the right of the Expander card, you could theoretically design a single board to interface to the RAM/A15/PC3 reset/Output register without bodge wires if you install a female header at A15. Not sure how the mechanical tolerances work out though.
Post Reply