Verilog 1 Fundamentals by Arvind

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:

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.

Two examples of Hardware Description Languages (HDLs)
  1. Verilog.
  2. VHDL.
Three examples of Hardware Description Language (HDL) tools
  1. Spice.
  2. ModelSim.
  3. DesignCompiler.

Raising the abstraction further

...