**What does FA stand for?**
FA stands for *Full Adder.*
**How do you make a 4-bit adder using four 1-bit adders in Verilog?**
To make a 4-bit adder using four 1-bit adders in Verilog, write:
```verilog
module adder( input [3:0] A, B,
output cout,
output [3:0] S );
wire c0, c1, c2;
FA fa0( A[0], B[0], 1'b0, c0, S[0] );
FA fa1( A[1], B[1], c0, c1, S[1] );
FA fa2( A[2], B[2], c1, c2, S[2] );
FA fa3( A[3], B[3], c2, c1, S[3] );
endmodule
```
# Verilog Fundamentals
**What topics does this lecture talk about?**
The topics that this lecture talks about include:
* History of hardware design languages.
* Data types.
* Structural Verilog.
* Simple behaviors.
# Originally designers used breadboards fo prototyping
**What did circuit designers originally use for prototyping?**
For prototyping, circuit designers originally used *breadboards.*
**What is the downside of using breadboards for prototyping?**
The downside of using breadboards for prototyping is that *there's no symbolic execution or testing.*
...
# HDLs enabled logic level simulation and testing
**What does HDL stand for?**
HDL stands for *Hardware Description Language.*
**What were Hardware Description Languages (HDLs) originally used to create?**
HDLs were originally used to create *a gate-level description.*
**What is the first level of abstraction in Hardware Description Languages (HDLs)?**
The first level of abstraction in HDLs is *a gate-level description.*
**What are the two things you can do with an abstract design?**
The two things you can do with an abstract design are:
1. Translate it.
2. Simulate it.
**What happens to the number of logic gates in a design as the levels of abstraction increase?**
As the levels of abstraction increases in a design, the number of logic gates *increases.*
**What was the only way for translating a gate-level design into an implemented circuit?**
The only way for translating a gate-level design into an implemented circuit was *manually placing and routing it.*
# Designers began to use HDLs for higher level design
**What two higher levels of abstraction are there above the gate-level?**
The two higher levels of abstraction above the gate-level are:
1. Behavioral Algorithm.
2. Register Transfer Level (RTL).
**What does RTL stand for?**
RTL stands for *Register Transfer Level.*
**What was the only way to translate the different levels of abstraction into lower levels of abstraction?**
The only way to translate the different levels of abstraction into lower levels of abstraction was *manually.*
# HDLs led to tools for automatic translation
**What is the automated process for translating a Register Transfer Level (RTL) design into a Gate Level design?**
The automated process for translating a RTL design into a gate-level design is called *logic synthesis.*
**What could Hardware Description Languages (HDLs) automatically do with a gate-level design?**
With a gate-level description, HDLs could automatically *place and route the design.*
> [!example] Two examples of Hardware Description Languages (HDLs)
> 1. Verilog.
> 2. VHDL.
> [!example] Three examples of Hardware Description Language (HDL) tools
> 1. Spice.
> 2. ModelSim.
> 3. DesignCompiler.
# Raising the abstraction further
...