Register transfer level
Encyclopedia
In integrated circuit design
Integrated circuit design
Integrated circuit design, or IC design, is a subset of electrical engineering and computer engineering, encompassing the particular logic and circuit design techniques required to design integrated circuits, or ICs...

, register-transfer level (RTL) is a level of abstraction used in describing the operation of a synchronous
Synchronous circuit
A synchronous circuit is a digital circuit in which the parts are synchronized by a clock signal.In an ideal synchronous circuit, every change in the logical levels of its storage components is simultaneous. These transitions follow the level change of a special signal called the clock...

 digital circuit
Digital circuit
Digital electronics represent signals by discrete bands of analog levels, rather than by a continuous range. All levels within a band represent the same signal state...

. In RTL design, a circuit's behavior is defined in terms of the flow of signals (or transfer of data) between hardware register
Hardware register
In digital electronics, especially computing, a hardware register stores bits of information, in a way that all the bits can be written to or read out simultaneously.The hardware registers inside a central processing unit are called processor registers....

s, and the logical operations
Boolean logic
Boolean algebra is a logical calculus of truth values, developed by George Boole in the 1840s. It resembles the algebra of real numbers, but with the numeric operations of multiplication xy, addition x + y, and negation −x replaced by the respective logical operations of...

 performed on those signals.

Register-transfer-level abstraction is used in hardware description language
Hardware description language
In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic...

s (HDLs) like Verilog
Verilog
In the semiconductor and electronic design industry, Verilog is a hardware description language used to model electronic systems. Verilog HDL, not to be confused with VHDL , is most commonly used in the design, verification, and implementation of digital logic chips at the register-transfer level...

 and VHDL to create high-level representations of a circuit, from which lower-level representations and ultimately actual wiring can be derived. Design at the RTL level is typical practice in modern digital design.

RTL description

A synchronous circuit consists of two kinds of elements: registers and combinational logic
Combinational logic
In digital circuit theory, combinational logic is a type of digital logic which is implemented by boolean circuits, where the output is a pure function of the present input only. This is in contrast to sequential logic, in which the output depends not only on the present input but also on the...

. Registers (usually implemented as D flip-flop
Flip-flop (electronics)
In electronics, a flip-flop or latch is a circuit that has two stable states and can be used to store state information. The circuit can be made to change state by signals applied to one or more control inputs and will have one or two outputs. It is the basic storage element in sequential logic...

s) synchronize the circuit's operation to the edges of the clock signal, and are the only elements in the circuit that have memory properties. Combinational logic performs all the logical functions in the circuit and it typically consists of logic gate
Logic gate
A logic gate is an idealized or physical device implementing a Boolean function, that is, it performs a logical operation on one or more logic inputs and produces a single logic output. Depending on the context, the term may refer to an ideal logic gate, one that has for instance zero rise time and...

s.

For example, a very simple synchronous circuit is shown in the figure. The inverter
Inverter (logic gate)
In digital logic, an inverter or NOT gate is a logic gate which implements logical negation. The truth table is shown on the right.This represents perfect switching behavior, which is the defining assumption in Digital electronics. In practice, actual devices have electrical characteristics that...

 is connected from the output of a register to the register's input, to create a circuit that changes its state on each rising edge of the clock. In this circuit, the combinational logic consists of the inverter.

When designing digital integrated circuits with a hardware description language
Hardware description language
In electronics, a hardware description language or HDL is any language from a class of computer languages, specification languages, or modeling languages for formal description and design of electronic circuits, and most-commonly, digital logic...

, the designs are usually engineered at a higher level of abstraction than transistor level (logic families
Logic family
In computer engineering, a logic family may refer to one of two related concepts. A logic family of monolithic digital integrated circuit devices is a group of electronic logic gates constructed using one of several different designs, usually with compatible logic levels and power supply...

) or logic gate level. In HDLs the designer declares the registers (which roughly correspond to variables in computer programming languages), and describes the combination logic by using constructs that are familiar from programming languages such as if-then-else and arithmetic operations. This level is called register-transfer level. The term refers to the fact that RTL focuses on describing the flow of signals between registers.

As an example, the circuit mentioned above can be described in VHDL as follows:


D <= not Q;

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


Using an EDA
Electronic design automation
Electronic design automation is a category of software tools for designing electronic systems such as printed circuit boards and integrated circuits...

 tool for synthesis, this description can usually be directly translated to an equivalent hardware implementation file for an ASIC
Application-specific integrated circuit
An application-specific integrated circuit is an integrated circuit customized for a particular use, rather than intended for general-purpose use. For example, a chip designed solely to run a cell phone is an ASIC...

 or an FPGA. The synthesis
Logic synthesis
In electronics, logic synthesis is a process by which an abstract form of desired circuit behavior, typically register transfer level , is turned into a design implementation in terms of logic gates. Common examples of this process include synthesis of HDLs, including VHDL and Verilog...

 tool also performs logic optimization.

At the register-transfer level, some types of circuits can be recognized. If there is a cyclic path of logic from a register's output to its input (or from a set of registers outputs to its inputs), the circuit is called a state machine
Finite state machine
A finite-state machine or finite-state automaton , or simply a state machine, is a mathematical model used to design computer programs and digital logic circuits. It is conceived as an abstract machine that can be in one of a finite number of states...

 or can be said to be sequential logic
Sequential logic
In digital circuit theory, sequential logic is a type of logic circuit whose output depends not only on the present input but also on the history of the input. This is in contrast to combinational logic, whose output is a function of, and only of, the present input...

. If there are logic paths from a register to another without a cycle, it is called a pipeline.

RTL in the circuit design cycle

RTL is used in the logic design phase of the integrated circuit design
Integrated circuit design
Integrated circuit design, or IC design, is a subset of electrical engineering and computer engineering, encompassing the particular logic and circuit design techniques required to design integrated circuits, or ICs...

 cycle.

An RTL description is usually converted to a gate-level description
Netlist
The word netlist can be used in several different contexts, but perhaps the most popular is in the field of electronic design. In this context, a "netlist" describes the connectivity of an electronic design....

 of the circuit by a logic synthesis
Logic synthesis
In electronics, logic synthesis is a process by which an abstract form of desired circuit behavior, typically register transfer level , is turned into a design implementation in terms of logic gates. Common examples of this process include synthesis of HDLs, including VHDL and Verilog...

 tool. The synthesis results are then used by placement
Placement (EDA)
Placement is an essential step in electronic design automation - the portion of the physical design flow that assigns exact locations for various circuitcomponents within the chip’s core area...

 and routing
Routing (EDA)
In electronic design, wire routing, commonly called simply routing, is a step in the design of printed circuit boards and integrated circuits . It builds on a preceding step, called placement, which determines the location of each active element of an IC or component on a PCB...

 tools to create a physical layout
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...

.

Logic simulation
Logic simulation
Logic simulation is the use of a computer program to simulate the operation of a digital circuit. Logic simulation is the primary tool used for verifying the logical correctness of a hardware design. In many cases logic simulation is the first activity performed in the process of taking a hardware...

 tools may use a design's RTL description to verify its correctness.

RTL in CPU design

RTL in CPU design is one of the fundamental levels of study in the field of computer engineering
Computer engineering
Computer engineering, also called computer systems engineering, is a discipline that integrates several fields of electrical engineering and computer science required to develop computer systems. Computer engineers usually have training in electronic engineering, software design, and...

. Computer CPUs consist of several registers, and when a programmer can program at such a low level, it is called microprogramming, and the programmer is said to be a microprogrammer. At such level the programmer can directly control the transfer of data between the registers.

Generally when programs execute, the instructions that are the basic blocks of a program are executed by the CPU. The program consists of two parts – the instructions and the data. When user commands the compiler to execute the program the CPU starts working and takes the instructions from the memory(RAM usually) into its memory which are called registers. Then the CPU operates on these registers and instruction is executed and the result is again put into the memory. After that again the same process starts and the register is filled again with a new instruction taken from the memory.

This process is usually done in the following steps:
  • CPU places the memory address in the system bus from its address register when the controller in CPU commands it to do so.
  • CPU places the control signal from the controller in CPU to instruct the memory about what to do with the memory address.
  • Memory performs the task specified by the control signal, in case if the control signal is read, then memory fetches the content of the memory address and put that on the bus, if control signal is write, then the memory fetches the content from the bus and put that on the specified memory address.
  • In first case the data (which might be the instruction or the real data) is put on the bus which is then taken by the CPU into its data register or instruction register depending on the data.


Above steps are the basic level steps in the execution of a program. However we do not have such a control over such steps when we do program in high level languages because if they do provide us the control to program at such a high level, this will change whole of the structure how the CPU will operate and the programmer have to repeatedly take care of such small things which might be annoying. Register-transfer languages, however, do allow us to have such a control over the CPU's working.

See also

  • Electronic design automation
    Electronic design automation
    Electronic design automation is a category of software tools for designing electronic systems such as printed circuit boards and integrated circuits...

  • Electronic system level
    Electronic system level
    Electronic system level design and verification is an emerging electronic design methodology that focuses on the higher abstraction level concerns first and foremost. The term Electronic System Level or ESL Design was first defined by Gartner Dataquest, a EDA-industry-analysis firm, on February...

  • Integrated circuit design
    Integrated circuit design
    Integrated circuit design, or IC design, is a subset of electrical engineering and computer engineering, encompassing the particular logic and circuit design techniques required to design integrated circuits, or ICs...

  • Synchronous circuit
    Synchronous circuit
    A synchronous circuit is a digital circuit in which the parts are synchronized by a clock signal.In an ideal synchronous circuit, every change in the logical levels of its storage components is simultaneous. These transitions follow the level change of a special signal called the clock...

  • Algorithmic State Machine
    Algorithmic State Machine
    The Algorithmic State Machine method is a method for designing finite state machines. It is used to represent diagrams of digital integrated circuits. The ASM diagram is like a state diagram but less formal and thus easier to understand...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK