Wednesday, August 26, 2020

An Altera MAX CPLD DIY Learning Board

Overview Of Altera MAX CPLD Series

The MAX series CPLD from Altera ( now become a part of Intel ), is a low power and low cost CPLD released since 1993. They shipped with non-volatile memory (especially Flash memory ) for programming.

For educational purpose, there are many development boards released by the device's vendor itself and other third party vendors. However, some MAX CPLD device come with PLCC package allowing the use of additional socket adapter. It enables an easy way for students and hobbyists to make a DIY prototyping.

An Altera MAX DIY CPLD Learning Board
I made a CPLD board using EPM7128SCL84-15 of the flash and JTAG-based  MAX series.

The EPM7128SCL84 is a CPLD in the MAX 7000S series. It bases on Flash technology allowing the user to store program permanently even the system is power off. It contains 2,500 usable gates within its 128 macrocells.

A device comparison table of many part numbers within the flash-based device in the MAX 7000S.

The MAX 7000S families, come with ISP and JTAG interface. Here, I don't mention the MAX 7000 series due to irrelevance.
 
An Altera USB Blaster is a device allowing the programming from a host computer to the target Altera CPLD/FPGA device via its JTAG port interfaces.



An Altera MAX DIY CPLD Learning Board
An Altera USB Blaster I got in 2014 from E Bay.
 

I bought some Altera CPLD chip from E Bay since 2014 with a USB blaster. An Altera chip costed around 5 $ from online market. Altera USB blaster costs about 6 $ from the same market.

Before Starting to program this device, I get used to a Xilinx XC9500 series. I code them using VHDL and a little of Verilog. I was aware of burning the Xilinx chip and its USB JTAG because those Xilinx devices costs far more expensive than the Altera one's.



A Xilinx XC95108 device has a similar capabilities with an Altera EPM7128S one's, but costing nearly 20 $. A Xilinx USB DLC9G USB JTAG costed around 30 $ at that time.

Designing A DIY Experimental Board For MAX 7000S

In 2014, I had enough working skills on CPLD/FPGA. I decided to prototype my own board. It was very hard due to lack of components in the local market.
Referring to EDA tools, KiCAD and Altium have a lot of components library and footprints. However it took a lot of time to design this kind of device in those EDA tools. Due to my long term working in using Proteus, I decided to make my own component symbols, an making a schematic and PCB design in that tool.



It consumed nearly one week of a design job in the computer, PCB fabrication and assembling. But before this finalized stuff, I spent many months working on drafting.

An Altera MAX DIY CPLD Learning Board
Schematic Diagram Of Main Sheet

An Altera MAX DIY CPLD Learning Board
Schematic Diagram Sheet 2

Within this design I putted many peripherals:
  1. A regulated +5 V DC power supply with LED indicator 
  2. A 25.178 MHz oscillator
  3. A JTAG socket
  4. Two push buttons
  5. Four slide switches
  6. Eight output LEDs
  7. A main EPM7128SCL84 CPLD with its pin headers
  8. A legacy PS/2 Interface
  9. A VGA port
  10. A four-digit 0.36 inch common cathode multiplex 7-segment display


An Altera MAX DIY CPLD Learning Board
A 3D Model Of This Design

An Altera MAX DIY CPLD Learning Board
Copper Side

An Altera MAX DIY CPLD Learning Board
Components Side

Click here if you wish to download its completed design.

I made a lot of works on VHDL and  Verilog coding with CPLD/FPGA. From now, I will post all those finished studies.

No comments:

Post a Comment

Labels

ADC (10) Analog (14) Arduino (12) Atmega16 (19) Audio (2) AVR (20) Charger (1) Cortex-M0 (1) Counter (10) CPLD (25) Digital I/O (22) Display (34) EEPROM (2) Environment Sensor (1) esp8266 (2) Experiment Board (10) I2C (4) Interrupt (7) LCD (1) LDmicro (29) measurement and instrumentation (7) Microchip Studio (3) MikroC (1) One-Shot (3) OpAmp (1) PCB (31) PIC16 Microcontrollers (16) PIC16F877A (2) PIC16F887 MikroC (22) PLC (35) PWM (11) Regulator (1) RTC (2) Sensor (8) Shift Registers (5) SPI (5) Timer (34) UART (2) ultra-sonic sensor (1) USB (1) VHDL (21) xc8 (1) XC95108 (9) XC9536 (15) XC9572 (1) Xilinx (23) Xilinx ISE (22)