Programmerbara kretsar
Att konstruera digitala kretsar på grindnivå är både svårt och ekonomiskt oförsvarbart. Idag används istället effektivare metoder. För att göra konstruktionsarbetet enklare använder man datorbaserade hjälpmedel. I modernt utvecklingsarbete beskriver konstruktören kretsens önskade beteende i ett standardiserat programmeringsspråk (t.ex VHDL). Ett datorprogram (syntesprogramvara) används sedan för att översätta denna beskrivning till hårdvara/grindar. När programmet ska överföras till hårdvara används i stor utsträckning idag sk. programmerbara kretsar. En programmerbar krets innehåller en stor mängd grindar (allt från kanske 100 st till 1 00 000 eller ännu mer). Dagens programmerbara kretsar innehåller både vanlig grindlogik för kombinatoriska processer samt vippor/latchar för kretsar med minne. Det finns olika typer av programmerbara kretsar, de vanligaste idag heter PLD och FPGA. För mindre konstruktioner används PLD och för större och mer krävande konstruktioner används FPGA. Vid produktion av större serier (fler exemplar) används ofta en kretstyp som kallas ASIC. Dessa är billigare att framställa i stora volymer, men nackdelen är att de är svårare att konstruera. Programmering av PLD och FPGA kretsar kan göras från en vanlig persondator, det enda som krävs är programvara och en särskild kretsbrännare som kan köpas för ett par tusenlappar.