Pro vytváření programu je nejlepší použít program ispDesignExpert, který dodává firma Lattice. Tento program umožňuje napsání programu, simulaci a nahrání do obvodu.
Základní syntaxe jazyka ABEL-HDL
pravidla:
-každý řádek může být dlouhý maximálně 150 znaků
-klíčová slova, identifikátory a čísla musí být od sebe oddělena mezerou, vyjímkou jsou klíčová slova a identifikátory, které mají ve své syntaxi čárku
-klíčová slova, identifikátory a čísla nesmějí obsahovat mezery a tečky
-mezery se mohou používat v komentářích a řetězcích
-klíčová slova a identifikátory lze psát malými i velkými písmeny, ale jsou rozlišovány ( START nerovná se start)
Identifikátory:
-jsou jména, která identifikují obvody PLD a jejich vývody, skupiny signálů, vstupní a výstupní signály, konstanty, atd.
-dlouhé maximálně 31 znaků
-musejí začínat písmenem nebo podtržítkem, dále mohou obsahovat i čísla
-nesmějí obsahovat mezeru ani tečku, k oddělení slov se používá _
-identifikátor nesmí být klíčové slovo
Komentáře
- "Komentář" nebo "Komentář
Konstanty
-definují se v poli deklarations
-konstantou může být číslo nebo speciální znak
.C. hodinový signál (log 1-0-1)
.K. hodinový signál (log 0-1-0)
.D. sestupná hrana (z log 1 na log 0)
.U. náběžná hrana ( z log 0 na log 1)
.X. libovolný stav
.Z. třetí stav (stav vysoké impedance)
Řetězce
-posloupnost ASCII znaků uzavřená v apostrofech (ten může být také součástí řetězce, ale musí být před ním zpětné lomítko\)
Čísla
-implicitní je desítková soustava
-všechny výpočty probíhají s délkou 32b
-binární soustava ^b 11100010
-osmičková soustava ^o 102
-dekadická soustava 12
-šestnáctková soustava ^h 1A
-ASCII hodnota znaku "k"
Skupiny (Sety)
-set je skupina signálů s kterým pracujeme jako s celkem (velké zjednodušení).
-např. Q=[Q1,Q2,Q3,Q4], potom můžeme definovat Q jako celek, Q nabývá hodnot 0 až F, Q1 je MSB a Q4 je LSB
Operátory
-logické:
| operátor | popis |
| ! | negace |
| & | AND |
| # | OR |
| $ | XOR |
| !$ | NXOR |
-aritmetické:
| operátor | popis | příklad |
| - | dvojkový doplněk | -A |
| - | rozdíl | A-B |
| + | součet | A+B |
| * | součin | A*B |
| / | celočíselné dělení | A/B |
| % | zbytek po dělení | A%B |
| << | rotace A vlevo o B bitů | A<<B |
| >> | rotace A vpravo o B bitů | A>>B |
-relační:
| operátor | popis |
| == | je rovno |
| != | není rovno |
| < | menší než |
| <= | menší nebo rovno |
| > | větší než |
| >= | větší nebo rovno |
-přiřazovací operátory:
| operátor | popis |
| = | kombinační přiřazení |
| := | sekvenční přiřazení |
Priorita operátorů
| operátor | - | ! | & | << | >> | * | / | % | + | - | # | $ | !$ | == | != | < | <= | > | >= |
| priorita | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 | 4 |
-1 je nejvyšší priorita, 4 nejnižší, operátory se stejnou prioritou se vyčíslují zleva doprava, prioritu lze měnit kulatými závorkami
Struktura zdrojového textu

-hlavička:
module - modul, určuje jméno modulu
title - popis daného modulu, nepovinný
-deklarace:
-obsahuje klíčové slovo deklarations
-specifikace jmen a vlastností signálů (čísla pinů, uzlů)
-zde se deklarují konstanty, stavy, stavový registr (v případě logického popisu pomocí stavového diagramu), makra, knihovny, obvodu (nepovinné)
-logický popis:
-pravdivostní tabulkou - Truth_Table
-rovnicemi - Equations
-popis stavů - State_Diagram
-testovací vektor:
-používá se pro časovou a funkční simulaci, specifikuje očekávanou činnost logického obvodu, definuje výstupy jako funkce vstupů
-může být součástí modulu ( za klíčovým slovem Test_Vectors) nebo je jako samostatný soubor s příponou *.abv

-konec modulu:
-klíčové slovo End, tvoří pár se slovem Module
-ostatní prvky modulu:
-patří sem především direktivy, které začínají @
Klíčová slova
Záhlaví
Klíčové slovo: MODULE
Syntaxe: MODULE JMÉNO_MODULU
Popis: Slovo, kterým začíná každý program (povinné). Tvoří pár se slovem END. V programu může být použito několik modulů s různým jménem, ale toto se nedoporučuje kvůli přehlednosti. Jméno_modulu může obsahovat maximálně 31 znaků.
Příklad: Module Scitacka
Klíčové slovo: TITLE
Syntaxe: TITLE 'ŘETĚZEC'
Popis: V ŘETĚZEC mohou být libovolné znaky (např. charakteristika programu). Klíčové slovo TITLE není povinné. Maximální délka řetězce je 324 znaků.
Příklad: Title 'Scitacka- Michal Vavra'
Deklarace
Klíčové slovo: DECLARATIONS
Syntaxe: Deklarace deklarace
Popis: Není povinné. Tímto slovem začíná text, ve kterém deklarujeme vstupní a výstupní piny, konstanty, sety...
Příklad: Declarations
Vstup, Reset pin 1,2;
Klíčové slovo: PIN
Syntaxe: