Questions tagged [rtl]

Register Transfer Level (RTL) is a logic design abstraction where digital circuits are described in terms of storage elements (registers) and the combinatorial logic operations that occur between them. RTL is one technique of describing a digital system using hardware description languages such as VHDL and Verilog.

Register Transfer Level is an intermediate level of abstraction that is used to describe synchronous digital systems, in which the key elements are the storage elements (registers and memories) that constitute the "state" of the system, and the combinatorial logical and arithmetic operations that connect the register outputs to register inputs.

Other levels of abstraction include "structural", in which the logic is described directly in terms of the physical elements (gates and flip-flops) used to construct the system along with the wires that connect them, and "behavioral", in which the overall behavior of the system is described in the most convenient manner.

RTL is commonly used for logic design because it is abstract enough to avoid bogging down the designer with the minutiae of implementation details, while still being able to be automatically translated (a process called "logic synthesis") to a structural representation in one or more implementation technologies (e.g., FPGA or ASIC).

Automatic translation from a behavioral model is often difficult or impossible, but behavioral code can be used to build simulation "testbenches" and "breadboards". A behavioral model of a module can later be compared with the corresponding RTL or structural model in order to verify the correctness of the implementation.

Hardware description languages such as VHDL and Verilog can be used to describe systems at all three levels of abstraction.

109 questions
32
votes
2 answers

RTL vs HDL? Whats the difference

What is the main difference between RTL and HDL? To be honest I searched / googled it yet people are divided in their opinions. I remember one saying that HDL is the computer language used to describe a digital circuit and when it is synthesizable,…
vvavepacket
  • 2,473
  • 9
  • 38
  • 56
14
votes
3 answers

Is there a "Design Patterns" for synthesizable RTL?

For software, the book Design Patterns is a set of patterns for doing common things in software and it gives software practitioners common terminology to describe some of the components they need to create. Does such a book or resource exist for…
Ross Rogers
  • 559
  • 4
  • 8
  • 21
11
votes
2 answers

Difference between If-else and Case statement in VHDL

I want to understand how different constructs in VHDL code are synthesized in RTL. Can anyone tell me the difference between If-Else construct and Case statement constructs of a process in VHDL in terms of how the code is inferenced into RTL…
nurabha
  • 887
  • 4
  • 14
  • 29
10
votes
2 answers

How to choose between Mealy and Moore state machine

I know the basic differences between Mealy and Moore FSM (Finite state machine). What I want to understand is the following: Pros and cons of using Mealy over Moore and vice versa In which situation Moore is more suitable than Mealy and vice…
nurabha
  • 887
  • 4
  • 14
  • 29
10
votes
2 answers

How is a VHDL variable synthesized by synthesis tools

I know two ways in which a VHDL variable is synthesized by synthesis tool: Variable synthesized as Combinational logic Variable synthesized as a Latch unintentionally (when an uninitialized variable is assigned to a signal or another…
nurabha
  • 887
  • 4
  • 14
  • 29
10
votes
1 answer

What is the ideal resistance for a 2N3904 base resistor value when using RTL logic?

I have a ton of 2N3904 transistors and would like to use them for my RTL logic project. Based on what I could figure out on the web, and the parts I had, I've gotten logic gates to work quite well with the following values: simulate this circuit –…
JohnnyStarr
  • 675
  • 2
  • 7
  • 18
7
votes
1 answer

High-Level Synthesis (HLS) vs RTL for ASIC flow

I'd like to know when it's a good idea to use HLS over RTL (Verilog/VHDL) design if I'm targetting ASIC implementation? Can synthesis tools like Design Compiler convert HLS C/C++ into gate-level netlist, or is there a specific HLS synthesis tool?…
oawad
  • 71
  • 1
6
votes
2 answers

What was the motivation for making behavioral descriptions such a big part of Verilog?

I don't use Verilog for anything serious, but I use it in my classes, and I'm starting to think I must be missing something about the appeal of behavioral hardware description. When I write Verilog I feel like behavioral description is solving the…
Owen
  • 737
  • 4
  • 6
5
votes
2 answers

'1011' Overlapping (Moore) Sequence Detector in Verilog

I'm designing a "1011" overlapping sequence detector, using Moore Model in Verilog . The FSM that I am trying to implement is as shown below :- Verilog Module :- `timescale 1ns / 1ps module seq_detector( input x,clk,reset, output reg…
Abhishek Chunduri
  • 318
  • 2
  • 6
  • 15
5
votes
2 answers

'1011' Overlapping (Mealy) Sequence Detector in Verilog

I'm designing a "1011" overlapping sequence detector,using Mealy Model in Verilog. The FSM that I'm trying to implement is as shown below :- Verilog Module :- `timescale 1ns / 1ps module seq_detector( input x,clk,reset, output reg z ); parameter…
Abhishek Chunduri
  • 318
  • 2
  • 6
  • 15
5
votes
2 answers

How to send a packet every n clock cycles in verilog?

I am fairly new to Verilog and in general Digital Design. I am working on a project which has a state machine. The module, in a particular state, receives a read request packet from some other module and I have to decode the required read response…
frisco_1989
  • 65
  • 2
  • 9
4
votes
3 answers

Any benefits from implementing CSA versus just using multiplication symbol when synthesizing?

I am synthesizing some multiplication units in Verilog and I was wondering if you generally get better results in terms of area/power savings if you implement your own CSA using Booth Encoding when multplying or if you just use the * symbol and let…
Veridian
  • 203
  • 1
  • 8
4
votes
1 answer

Is it a good practice to put assertion statements into VHDL RTL code to aid in simulation?

There is something called Assertion based testbenches. I am not aware of what they are or if they are possible in VHDL. But in any case, is it a good practice to sprinkle assertion statements in RTL VHDL code? Or perhaps, have blocks/processes in…
quantum231
  • 11,218
  • 24
  • 99
  • 192
4
votes
1 answer

When to set defaults for VHDL generics

VHDL generics can have a default value. The rules for how they are overridden in instantiations and declarations seems to be rather complex, so I wanted to ask about the easiest and safest practices to lower the risk of simulation and synthesis…
P2000
  • 3,087
  • 7
  • 22
4
votes
2 answers

n bit shift register (Serial Out) in VHDL

I'm creating an n bit shift register. When the enable signal is high, I want the shift register to shift n times, irrespective of whether enable continues to be high or low. I've put a for loop to shift n times inside a process. My code is given…
Orange
  • 85
  • 1
  • 2
  • 5
1
2 3 4 5 6 7 8