Projekt złożonego układu cyfrowego wymaga użycia określonego zestawu układów cyfrowych kombinacyjnych i sekwencyjnych oraz zrealizowania połączeń między tymi układami. Do realizacji takiego projektu można wykorzystać standardowe układy scalone o ustalonej wewnętrznej strukturze połączeń i łączyć te układy za pomocą obwodów drukowanych. Można również wykorzystać układy programowalne, w których układy cyfrowe dostępne wewnątrz struktury scalonej łączy się korzystając z wewnętrznej struktury połączeń. W wykładzie poznamy podstawowe koncepcje związane z budową i wykorzystaniem układów programowalnych.