I want to use ATF150x CPLDs to make progress on a handful of projects. They seem to be the last 5V compatible CPLD available, and they are available in PLCC packaging that works with through-hole sockets.
The official dev board costs a silly amount of money ( https://eu.mouser.com/ProductDetail/Microchip-Technology/ATF15XX-DK3-U?qs=AcLemrdGTbJem%2BPKCCMKBg== ) though there are a few good options on GitHub:
https://github.com/whitequark/ATF15xx-EVB
https://github.com/adrienkohlbecker/atf1504_plcc44_breakout
https://github.com/roscopeco/ATF150x-Programming-Board
I ordered the last option and assembled it so far that I can try out JTAG programming. The first experiments with one of those cheap Altera USB-Blaster adapters were disappointing. I tried Urjtag and the Programmer included in Quartus Web Edition. Quartus was reporting an unknown device with a wrong ID code, urjtag was detecting nothing. Using the "idcode" command showed that the whole value was off by one bit shifted to the left...
Based on buffi's recommendation I ordered a Tigard board which seems to work fine in urjtag.
Next steps are to generate SVF files from CUPL and Quartus and see if I can program them. (And maybe reverse-engineer the command stream in the SVF file so I can generate it directly instead of going through ATMISP..) Also, now that I know that the programming board works I'll have to see if I can get pico-DirtyJTAG to work to bring the costs down if I release something that people want to build.
Edit:
UsbBlaster (Bad):
Tigard (Good):
The official dev board costs a silly amount of money ( https://eu.mouser.com/ProductDetail/Microchip-Technology/ATF15XX-DK3-U?qs=AcLemrdGTbJem%2BPKCCMKBg== ) though there are a few good options on GitHub:
https://github.com/whitequark/ATF15xx-EVB
https://github.com/adrienkohlbecker/atf1504_plcc44_breakout
https://github.com/roscopeco/ATF150x-Programming-Board
I ordered the last option and assembled it so far that I can try out JTAG programming. The first experiments with one of those cheap Altera USB-Blaster adapters were disappointing. I tried Urjtag and the Programmer included in Quartus Web Edition. Quartus was reporting an unknown device with a wrong ID code, urjtag was detecting nothing. Using the "idcode" command showed that the whole value was off by one bit shifted to the left...
Based on buffi's recommendation I ordered a Tigard board which seems to work fine in urjtag.
Next steps are to generate SVF files from CUPL and Quartus and see if I can program them. (And maybe reverse-engineer the command stream in the SVF file so I can generate it directly instead of going through ATMISP..) Also, now that I know that the programming board works I'll have to see if I can get pico-DirtyJTAG to work to bring the costs down if I release something that people want to build.
Edit:
UsbBlaster (Bad):
Code:
jtag> detect
jtag> idcode
Reading 0 bytes of idcode
Read 01111111(0x7f) 01000000(0x40) 10100000(0xa0) 00000001(0x01) 00000000(0x00) 00000000(0x00) 00000000(0x00) 00000000(0x00)
Code:
jtag> detect
IR length: 10
Chain length: 1
Device Id: 00000001010100000010000000111111 (0x0150203F)
Filename: e:/fpga/bsdl/1502AS_A44.bsd
jtag> idcode
Reading 0 bytes of idcode
Read 00111111(0x3f) 00100000(0x20) 01010000(0x50) 00000001(0x01) 00000000(0x00) 00000000(0x00) 00000000(0x00) 00000000(0x00)
Last edited: