Complex Programmable logic CPLDs

Nagging hardware related question? Post here!
Post Reply
lezanderson
ROM Dongle
Posts: 14
Joined: Mon Aug 13, 2012 4:06 pm

Complex Programmable logic CPLDs

Post by lezanderson »

Hi.

CPLDs...Free to Good Home

I have a handful of surplus CPLDs (Complex Programmable Logic Devices) EPM7128SLC84-15s and EPM7032SLC44-10s . Anyone that is interested in learning VHDL code/logic programming may find them useful as 'Glue logic ' in designs. These will work with 5V TTL logic levels. * See Alter MAX Datasheets. I may also have some GAL16V8 PLDs ..when I find them !

Anyone interested just email me lezanderson@gmail.com.

You'll need a USB Blaster Cable and some programming software from the Altera Website. to program Altera MAX EPM7xxx devices.

You may be able to emulate the ZX8301 / ZX8302 ULAs on these type of CPLDs..depending on the number of Macrocells used.

:D Spread the Love


lezanderson
ROM Dongle
Posts: 14
Joined: Mon Aug 13, 2012 4:06 pm

Re: Complex Programmable logic CPLDs

Post by lezanderson »

Has anyone put the QLs ULAs onto a CPLD ?


Putting QL ULAs onto a Complex programmable logic Device (CPLD)?

Has anyone put the functionality of the QLs ULAs (ZX8301/ZX8302) Chips into VHDL/Verilog Code which could be used to programme a CPLD?
If so how many Macrocells/logic blocks are needed, in order to select an appropriate CPLD device.

I ask because I may have some spare EPM7256xxx and EPM7512xxx surface mount Altera MAX CPLDs which may do the job ? Anyone interested just email me.

******************************************************************

ZX8301 & ZX8302 ULAs as described by Wiki:

The ZX8301 is an Uncommitted Logic Array (ULA) integrated circuit designed for the Sinclair QL microcomputer. Also known as the "Master Chip", it provides a Video Display Generator, the division of a 15 MHz crystal to provide the 7.5 MHz system clock, ZX8302 register address decoder, DRAM refresh and bus controller. The ZX8301 is IC22 on the QL motherboard.

The Sinclair Research business model had always been to work toward a maximum performance to price ratio (as was evidenced by the keyboard mechanisms in the QL and earlier Sinclair models). Unfortunately this focus on price and performance often resulted in cost cutting in the design and build of Sinclair's machines. One such cost driven decision (failing to use a hardware buffer integrated circuit (IC) between the IC pins and the external RGB monitor connection) caused the ZX8301 to quickly develop a reputation for being fragile and easy to damage, particularly if the monitor plug was inserted or removed while the QL was powered up. Such an action resulted in damage to the video circuitry and almost always required replacement of the ZX8301.

The ZX8301, when subsequently used in the International Computers Limited (ICL) One Per Desk featured hardware buffering, and the chip proved to be much more reliable in this configuration.

The ZX8302 was a ULA integrated circuit designed for the Sinclair QL microcomputer. Also known as the QL's "Peripheral Chip", it interfaced the CPU to the Microdrives, QLAN local area network interface and RS-232 ports (transmit only) and also provided a real-time clock. The ZX8302 was IC23 on the QL motherboard.


User avatar
mk79
QL Wafer Drive
Posts: 1349
Joined: Sun Feb 02, 2014 10:54 am
Location: Esslingen/Germany
Contact:

Re: Complex Programmable logic CPLDs

Post by mk79 »

lezanderson wrote:Has anyone put the QLs ULAs onto a CPLD ?
Unfortunately the answer is no so far.

Cheers, Marcel


Nasta
Gold Card
Posts: 443
Joined: Sun Feb 12, 2012 2:02 am
Location: Zapresic, Croatia

Re: Complex Programmable logic CPLDs

Post by Nasta »

lezanderson wrote:Has anyone put the QLs ULAs onto a CPLD ?


Putting QL ULAs onto a Complex programmable logic Device (CPLD)?

Has anyone put the functionality of the QLs ULAs (ZX8301/ZX8302) Chips into VHDL/Verilog Code which could be used to programme a CPLD?
If so how many Macrocells/logic blocks are needed, in order to select an appropriate CPLD device.

I ask because I may have some spare EPM7256xxx and EPM7512xxx surface mount Altera MAX CPLDs which may do the job ? Anyone interested just email me.
There are two threads in this section describing in some detail the internal operations of the 8301 and 8302 ULA chips.
While the workings of the 8301 are pretty well known (although there are some details that need further research as to the differences in the various versions of the chip), there are still some 'holes in the knowledge' about the 8302, specifically details on IPC communications and microdrive read/write circuitry.

It should be noted that (to my knowledge) the only hardware dependent things used directly and not through an OS driver are the RTC seconds counter in the 8302 and the mode control register in the 8301. From that point of view, it is questionable to completely copy the ULAs circuits, rather design a 'compatible' design with some extras.


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: Complex Programmable logic CPLDs

Post by Peter »

Nasta wrote:It should be noted that (to my knowledge) the only hardware dependent things used directly and not through an OS driver are the RTC seconds counter in the 8302 and the mode control register in the 8301.
Not quite ;) During compatibility tests of the Q68, Detlef found that few (two?) games access the IPC for keyboard input without OS calls.
Nasta wrote:From that point of view, it is questionable to completely copy the ULAs circuits, rather design a 'compatible' design with some extras.
Agreed. IIRC the deviators were adventures without any justification to circumvent the OS for keyboard. I think they can be ignored or patched.

Peter


Post Reply