Live data from Hacker News

Zilog Z80 CPU – Modern, free and open source silicon clone

github.com

41–50 of 75 posts

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#41
post #5

Does anyone know what clock speeds we might be able to expect from this?

If you were designing a new compatible processor for older systems, the limiting factor would be the memory bus. A cache would be necessary to get high speeds.

The cache would need to know about all bank-switching performed by the system, and understand how the memory banks are mapped into the memory space.

Could have:

* Plain read-only memory (you cache this)

* Plain RAM not shared with other devices (you cache this)

* Memory-mapped IO (you don't cache this)

* RAM shared with other devices where the other device does not write there, such as video memory (write-through cache, full read cache)

* RAM shared with other devices where the other device can write there (don't cache this)

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#42

Earlier quoted context omitted.

> Is this considered a major bottleneck? No, because an ALU instructions with a register as source is already running as fast as possible (at 4 clock cycles, which is the duration of an opcode fetch 'machine cycle'). Or from a different perspective: an 8-bit ALU wouldn't have made math instructions faster, but would have cost twice as many transistors. The 4-bit ALU is just an internal implementation detail that isn'…

Cycle counting was key on the Spectrum - for obvious things like the tape load routines but also for advanced techniques like the ‘Rainbow processor’ - updating the attribute bytes (those responsible for the infamous color clash) as each scan line progressed you could get different colors on each scan line.

> ...updating the attribute bytes (those responsible for the infamous color clash) as each scan line progressed...

Ah clever! Didn't think of that. Probably the closest thing to "racing the beam" since the Atari 2600 :)

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#43
post #12
post #3

Z80 was the CPU of the ZX Spectrum. Oh the memories... https://en.wikipedia.org/wiki/ZX_Spectrum

So many good machines: the Amstrad CPC range, a whole slew of Sega consoles, the early MSX stuff and of course the Tatung Einstein. 3 inch disk machines of the world unite!

My mobile computer of choice in school, the TI-83 series calculators.

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#44
post #11

I couldn’t help but notice that the circuit layout looks like a uniform gate array rather something resembling a custom layout you usually see in die photos.

Because it's a Verilog implementation which is much closer to a software CPU emulator than the real thing (e.g. it has nothing to do with the original Z80 "transistor layout"). For instance here's the LD A,(DE) "instruction payload": https://github.com/rejunity/z80-open-silicon/blob/974c7711b2... And here's the same machine cycle in my software emulator: https://github.com/floooh/chips/blob/bd1ecff58337574bb46eba5...…

Just because this is done in verilog doesn't make it emulation. It's probably just machine placed and routed. Almost everything is these days in digital design.

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#45
post #7

For those wondering, the 6502 and various derivatives are still being manufactured, by one of its original creators [0] - so I'd guess an equivalent development in the world of the Z80's nemesis is unlikely anytime soon. [0] https://www.westerndesigncenter.com/wdc/chips.php

Interestingly the classic z80 was end of lifed just two weeks ago. https://hackaday.com/2024/04/19/end-of-life-for-z80-cpu-and-...

What will the ti-83/4 calculator use now?

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#46

Earlier quoted context omitted.

It would be interesting to know Zilog's sale volumes for discrete Z80s (say, over the past decade). What uses they were purchased for, and DIP/PLCC/flatpack ratios. There must be millions floating out there. But with distributors like Mouser or Farnell gone, for anyone looking to buy some, it's eBay & co which tends to be a crapshoot.

> It would be interesting to know Zilog's sale volumes for discrete Z80s (say, over the past decade). Not the past decade, but two decades ago (2005) the z80 was still popular. At work, I was working on a product based on, IIRC, a Rabbit Semiconductor product, which was a module with on-chip ethernet. It was a Z80 running at 40Mhz. Personally, I also had a little siemens organiser thing, that also was z80 based (not…

Aren't ti-83 calculators still sold today using z80?

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#47
post #12

Earlier quoted context omitted.

So many good machines: the Amstrad CPC range, a whole slew of Sega consoles, the early MSX stuff and of course the Tatung Einstein. 3 inch disk machines of the world unite!

My mobile computer of choice in school, the TI-83 series calculators.

Which still goes for full price today despite using an EOL chip.

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#48

Earlier quoted context omitted.

Because it's a Verilog implementation which is much closer to a software CPU emulator than the real thing (e.g. it has nothing to do with the original Z80 "transistor layout"). For instance here's the LD A,(DE) "instruction payload": https://github.com/rejunity/z80-open-silicon/blob/974c7711b2... And here's the same machine cycle in my software emulator: https://github.com/floooh/chips/blob/bd1ecff58337574bb46eba5...…

Just because this is done in verilog doesn't make it emulation. It's probably just machine placed and routed. Almost everything is these days in digital design.

But look here, it's even doing a switch-case over the opcode, which is very typical for a software CPU emulator:

https://github.com/rejunity/z80-open-silicon/blob/974c7711b2...

Instruction decoding on a real Z80 CPU doesn't work at all like that :)

A non-emulator-approach would probably use the reverse engineered Z80 netlist from visual6502.org to base the design on, no idea if this is even doable with modern chip design tooling(?)

If anything, the netlist is useful to verify the Verilog implementation (as is mentioned here in the readme: https://github.com/rejunity/z80-open-silicon?tab=readme-ov-f...)

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#49
post #45

Earlier quoted context omitted.

Interestingly the classic z80 was end of lifed just two weeks ago. https://hackaday.com/2024/04/19/end-of-life-for-z80-cpu-and-...

What will the ti-83/4 calculator use now?

The eZ80, which is still being produced:

https://en.wikipedia.org/wiki/Zilog_eZ80#Use_in_commercial_p...

Re: Zilog Z80 CPU – Modern, free and open source silicon clone

#50
I wonder how compatible it is with the original Z80, which had many undocumented instructions as well as the infamous "trap gates" (look at the "Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor" documented linked on that page) that might've had an effect on certain obscure instruction sequences and designed to identify the difference between it and clones.
Post reply on HN