Tuesday, November 14, 2017

Getting started with Altera MAX7000 CPLDs

While hunting for vintage and NOS electronic components in Colombo... I managed to find a huge lot of ICs, Chips and sockets from a friendly sales person. He been so generous to offer me the entire stock for a very low price :)

And the stuff been hanging around for some long time in my lab and thought to give a go for Altera MAX7000 (EPM7064SLC-44) the one I got with a PLCC44 package. The data sheet can be found in here

There are are many good things about this series of chips, specific to the EPM7064 the following are the interesting features,

1. EEPROM based, so no need of external flash devices to keep the configuration.

2. Built in JTAG BST test circuitry.

3. 5.0V Operation.

4. 1250 Usable gates.

Since I already had one of these Altera USB blasters with me I was doing some research to hook up the chip with the JTAG device and start using it and I have come across with this great article by Bil Herd on Hackaday.

Based on Bil's design I have developed the basic stuff on a vero board.



It was not that hard to wire and solder the stuff on vero board, however it would be useful to keep the max7000 datasheet and the the plcc44 pinouts handy.

First I decided to wire with a laminated copper wire but soon I realized thats not gonna work.. so decided to move with the 30 AWG wire.

Testing time..

Used my DMM (Continuity check) to make sure there are no any short circuits, and all the Vcc and GND connection and JTAG connections are in place with the correct pins of the IC.

After all the checks completes, connected the USB blaster to the board and then to my Ubuntu laptop. I user Altera Quartus II V13.0 SP1








 
Detecting JTAG device.


1. In linux, dmesg is useful to identify the USB blaster is properly connected and working.

2. If everything goes well, jtagconfig command should identify the device.





So all went well and the device detected form the jtagconfig and also with the Quartus II.



But, in order to do more stuff, I need to have a clock source. For testing I used this NXP 74LVC1GX04 module and then a quick and dirty setup of LEDs on a breadboard.




Bingo... things started working and I could blink the LED in 1 Hz frequency.

What next?

Further.. hoping to install an On-board Oscillator as a Clock source and add some more components like SSD displays Switches and LEDs.

I have used KXO-100 As the clock source.



And 4 LEDs, DIP switches and also 2 SSDs to do more things with this board. And of cause a PIN header for IO.





For the initial tests I used Verilog with Quartus II

Some examples,

LED Blink,






































BCD Counter

































Await....

Await for all the schematics and Code.