**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 ...