Vés al contingut

Nivell de transferència de registre

De la Viquipèdia, l'enciclopèdia lliure
Exemple d'un circuit senzill amb la sortida alternant a cada front ascendent de l'entrada. L'inversor forma la lògica combinacional en aquest circuit, i el registre manté l'estat.


En el disseny de circuits digitals, el nivell de transferència de registre (amb acrònim anglès RTL) és una abstracció de disseny que modela un circuit digital síncron en termes de flux de senyals digitals (dades) entre registres de maquinari i les operacions lògiques realitzades sobre aquests senyals.[1]

L'abstracció de nivell de transferència de registre s'utilitza en llenguatges de descripció de maquinari (HDL) com Verilog i VHDL per crear representacions d'alt nivell d'un circuit, a partir de les quals es poden derivar representacions de nivell inferior i, finalment, el cablejat real. El disseny a nivell RTL és una pràctica típica en el disseny digital modern.[2]

A diferència del disseny del compilador de programari, on el nivell de transferència de registre és una representació intermèdia i al nivell més baix, el nivell RTL és l'entrada habitual amb què operen els dissenyadors de circuits. De fet, en la síntesi de circuits, de vegades s'utilitza un llenguatge intermedi entre la representació del nivell de transferència del registre d'entrada i la llista de xarxa objectiu. A diferència de la llista de xarxes, hi ha disponibles construccions com ara cel·les, funcions i registres de diversos bits. Alguns exemples inclouen FIRRTL i RTLIL.[3]

El modelatge a nivell de transacció és un nivell superior de disseny de sistemes electrònics.

Per exemple, a la figura es mostra un circuit síncron molt senzill. L'inversor es connecta des de la sortida, Q, d'un registre a l'entrada del registre, D, per crear un circuit que canvia el seu estat a cada front ascendent del rellotge, clk. En aquest circuit, la lògica combinacional consisteix en l'inversor.

Quan es dissenyen circuits integrats digitals amb un llenguatge de descripció de maquinari (HDL), els dissenys solen ser dissenyats a un nivell d'abstracció més alt que el nivell de transistors (famílies lògiques) o el nivell de porta lògica. En els HDL, el dissenyador declara els registres (que corresponen aproximadament a variables en llenguatges de programació d'ordinadors) i descriu la lògica combinacional utilitzant construccions que són familiars dels llenguatges de programació com ara if-then-else i operacions aritmètiques. Aquest nivell s'anomena nivell de transferència de registre. El terme es refereix al fet que RTL se centra a descriure el flux de senyals entre registres.

Com a exemple, el circuit esmentat anteriorment es pot descriure en VHDL de la següent manera: [4]

D <= not Q;

process(clk)
begin
 if rising_edge(clk) then
 Q <= D;
 end if;
end process;

Utilitzant una eina EDA per a la síntesi, aquesta descripció normalment es pot traduir directament a un fitxer d'implementació de maquinari equivalent per a un ASIC o un FPGA. L'eina de síntesi també realitza una optimització lògica.

Referències

[modifica]
  1. «RTL (Register Transfer Level)» (en anglès). https://semiengineering.com.+[Consulta: 21 febrer 2023].
  2. Frank Vahid. Digital Design with RTL Design, Verilog and VHDL (en anglès). 2a edició. John Wiley and Sons, 2010, p. 247. ISBN 978-0-470-53108-2. 
  3. «Register-Transfer Level - an overview | ScienceDirect Topics» (en anglès). https://www.sciencedirect.com.+[Consulta: 21 febrer 2023].
  4. «VHDL and FPGA terminology - Register-transfer level (RTL)» (en anglès). https://vhdlwhiz.com.+[Consulta: 21 febrer 2023].