Read the accompanying article: Explore and program a Complex Programmable Logic Device. 'Lattice parameters include number of atoms, axial ratio can be calculated accurately from XRD data by software program.' Lattice parameters describe the length and the angle between basis vectors.
Created on: 28 November 2012
Here we first look at what a CPLD is and then look at one of the languages (VHDL) that can be used to create the logic circuit used to configure a CPLD.
What is a CPLD?
Complex Programmable Logic Devices (CPLDs) are ICs that can be used to replace circuits built from several logic ICs (e.g. the 74 series of logic devices – 7400, etc.).
Unlike a discrete logic IC circuit, the logic in the CPLD can be changed again and again with no need to modify the PCB when changes are made.
Xilinx CPLDs – PLCC package CPLD and socket (left), VQFP package CPLD (right)
One of several Hardware Description Languages (HDL) can be used to create the logic circuit on a PC. A program is used to convert this logic design into a format that can be loaded to the CPLD.
The tools used to program a CPLD are very similar to those used to program an In-System Programmable (ISP) microcontroller. The logic circuit is written in a text editor or IDE using a hardware description language. The text file program is then converted to a format that can be loaded into the CPLD. A JTAG programmer is used to load the logic circuit into the CPLD (configure the CPLD) while it is soldered in the circuit.
A CPLD has the following features:
- Non-volatile memory – the logic design that is loaded to the CPLD will not be lost if power to the CPLD is switched off. The logic circuit in the CPLD will be ready when power to the CPLD is switched on.
- Internally a CPLD consists of programmable AND / OR array as well as macrocells.
- CPLDs are available in different sizes – both physical (number of pins / IC package size) and logical (number of gates and macrocells).
What is VHDL?
![Cpld Cpld](/uploads/1/1/8/2/118269141/450790882.jpg)
VHDL is a hardware description language (HDL) that can be used to describe a logic design. Software tools can then be used to read the VHDL logic design and produce a configuration file that can be loaded to a CPLD or FPGA which will then implement the logic design on the CPLD or FPGA.
VHDL stands for VHSIC Hardware Description Language. This is known as an embedded acronym (an acronym (VHSIC) inside another acronym (VHDL)). VHSIC stands for Very High Speed Integrated Circuit.
VHDL is standardised by the Institute of Electrical and Electronics Engineers (IEEE) and is a vendor independent language. This makes it portable and reusable.
Most statements in VHDL occur concurrently (in parallel with each other), rather than sequentially as normal computer programs do.
One of the alternatives to VHDL is Verilog (also a standardised and vendor independent HDL).
As this is a practical course, you will learn more about VHDL as you follow the tutorials. You can read more about VHDL on the Wikipedia VHDL page, also read about VHSIC on Wikipedia. There are also many books available on VHDL.
Amazon.co.uk
VHDL CPLD Course
How To Program A Lattice Cpld Software For Windows 10
The guys over at hackshed have been busy. [Carl] is making programmable logic design easy with an 8 part CPLD tutorial. (March 2018: Link dead. Try the Wayback Machine.) Programmable logic devices are one of the most versatile hardware building blocks available to hackers. They also can have a steep learning curve. Cheap Field Programmable Gate Arrays (FPGA) are plentiful, but can have intricate power requirements. Most modern programmable logic designs are created in a Hardware Description Language (HDL) such as VHDL or Verilog. Now you’ve got a new type of device, a new language, an entirely new programming paradigm, and a complex IDE to learn all at once. It’s no wonder FPGAs have sent more than one beginner running for the hills.
The tutorial cuts the learning curve down in several ways. [Carl] is using Complex Programmable Logic Devices (CPLD). At the 40,000 foot level, CPLDs and FPGAs do the same thing – they act as re-configurable logic. FPGAs generally do not store their configuration – it has to be loaded from an external FLASH, EEPROM, or connected processor. CPLDs do store their configuration, so they’re ready as soon as they power up. As a general rule, FPGAs contain more configurable logic than CPLDs. This allows for larger designs to be instantiated with FPGAs. Don’t knock CPLDs though. CPLDs have plenty of room for big designs, like generating VGA signals.
How To Program A Lattice Cpld Software Free
[Carl] also is designing with schematic capture in his tutorial. With the schematic capture method, digital logic schematics are drawn just as they would be in Eagle or KiCad. This is generally considered an “old school” method of design capture. A few lines of VHDL or Verilog code can replace some rather complex schematics. [Carl’s] simple designs don’t need that sort of power though. Going the schematic capture route eliminates the need to learn VHDL or Verilog.
[Carl’s] tutorial starts with installing Altera’s Quartus II software. He then takes the student through the “hardware hello world” – blinking an LED. By the time the tutorial is done, the user will learn how to create a 4 bit adder and a 4 bit subtractor. With all that under your belt, you’re ready to jump into big designs – like building a retrocomputer.
[Image via Wikimedia Commons]