Udvikling af synkrone digitale integrerede kredsløb på niveau med dataoverførsler mellem registre ( eng. register transfer level , RTL -register transfer level) - en metode til udvikling af synkrone ( eng. ) digitale integrerede kredsløb , i hvis anvendelse driften af kredsløb er beskrevet i form af sekvenser af logiske operationer anvendt på digitale signaler (data), når de overføres fra et register til et andet (det er ikke beskrevet hvilke elektroniske komponenter eller hvilke logiske porte kredsløbet består af). Sådan en beskrivelse på højt niveau kompileres i et af hardwarebeskrivelsessprogene ( eng. hardware description language , HDL ) , for eksempel i Verilog eller VHDL , hvorefter et særligt program konverteres til en lavniveaubeskrivelse - en graf over logiske elementer og ledere; transformationsprocessen kaldes logisk syntese ( eng. logic syntese ) eller syntese af logik. Andre programmer i henhold til beskrivelsen kan kontrollere kredsløbets korrekte funktion (se logisk simulering ) og kredsløbets overensstemmelse med kravene (for eksempel kravene til kredsløbets hastighed ( eng. static timing analysis )). Det tredje program, ved hjælp af en beskrivelse på lavt niveau, kan placere logiske elementer og ledere på overfladen af kredsløbet (til fremstilling af VLSI ) ( engelsk sted og rute ) eller oprette firmware til FPGA .
Synkrone kredsløb er skabt af to typer elementer: registre og kombinationslogiske elementer . Registre (normalt implementeret ved hjælp af D - flipflops ) synkroniserer driften af kredsløb på kanterne af kloksignalet og er hukommelsesceller. Kombinerede logiske elementer udfører logiske funktioner og er normalt logiske porte .
Overvej det synkrone kredsløb vist på figuren. En inverter bruges som et element i kombinationslogik . Udgangen af registret, angivet i figuren med bogstavet "Q", er forbundet til indgangen "D" (se figur) på registret gennem en inverter. Når forsiden af ursignalet vises ved indgangen "clk" (se fig.), skrives signalniveauet modsat niveauet registreret i registret ved den foregående cyklus til registret.
At designe et kredsløb i hardwarebeskrivelsessprog er at designe på et højere abstraktionsniveau end niveauet af transistorer (se logikfamilien ) eller niveauet af logiske porte . Hardwarebeskrivelsessproget erklærer registre (svarende til variabler i computerprogrammeringssprog) og beskriver kombinationslogik ved hjælp af sprogkonstruktioner såsom "hvis-så-andet" og aritmetiske operationer (som i computerprogrammeringssprog). Udtrykket " registeroverførselsniveau " understreger det faktum, at data (signaler) overføres mellem registre.
Diagrammet vist i figuren i VHDL-sproget kan skrives som følger:
D <= ikke Q ; proces ( clk ) begynder hvis stigende_kant ( clk ) så Q <= D ; ende hvis ; afslutte proces ;"D", "Q" og "clk" - indgange og udgange af registret (se fig.). "rising_edge" er en funktion, der vender tilbage, truenår niveauet af det specificerede signal ændres fra lavt til højt (det vil sige, når kanten af signalet vises).
Electronics Design Automation ( EDA) -programmet , der udfører logisk syntese , konverterer koden fra hardwarebeskrivelsessproget til den information, der er nødvendig for at skabe en hardwareimplementering af kredsløbet (normalt en liste over logiske porte og forbindelserne mellem dem (se netlisten )) , og gemmer den i en fil. En sådan fil kan sendes til indgangen af et program, der er designet til at skabe integrerede kredsløb til særlige formål (ASIC) (se placering og routing ), eller et program designet til at skabe firmware til feltprogrammerbare gate-arrays (FPGA) . Et program, der udfører logisk syntese , kan også optimere et kredsløb (se logisk optimering ).
I henhold til tilstedeværelsen eller fraværet af registre i kredsløbet, hvis udgange er forbundet med deres indgange, er kredsløbene opdelt i to typer: