Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Register-transfer level
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==RTL description== [[File:Register transfer level - example toggler.svg|right|thumb|300px |Example of a simple circuit with the output toggling at each rising edge of the input. The inverter forms the combinational logic in this circuit, and the register holds the state.]] A synchronous circuit consists of two kinds of elements: registers (sequential logic) and [[combinational logic]]. Registers (usually implemented as [[Flip-flop (electronics)#D flip-flop|D flip-flops]]) 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]]s. For example, a very simple synchronous circuit is shown in the figure. The [[Inverter (logic gate)|inverter]] is connected from the output, Q, of a register to the register's input, D, to create a circuit that changes its state on each rising edge of the clock, clk. In this circuit, the combinational logic consists of the inverter. When designing digital integrated circuits with a [[hardware description language]] (HDL), the designs are usually engineered at a higher level of abstraction than transistor level ([[logic family|logic families]]) or logic gate level. In HDLs the designer declares the registers (which roughly correspond to variables in computer programming languages), and describes the combinational 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: <syntaxhighlight lang="vhdl"> D <= not Q; process(clk) begin if rising_edge(clk) then Q <= D; end if; end process; </syntaxhighlight> Using an [[Electronic design automation|EDA]] tool for synthesis, this description can usually be directly translated to an equivalent hardware implementation file for an [[Application-specific integrated circuit|ASIC]] or an [[FPGA]]. The [[logic synthesis|synthesis]] 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 [[finite-state machine|state machine]] or can be said to be [[sequential logic]]. If there are logic paths from a register to another without a cycle, it is called a [[pipeline (computing)|pipeline]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)