Q3: Verilog & CAD
Time Estimate15-30 minutes Grade Impact0.5% DueSep 11 @ 12pm
Objective
Reinforce an understanding of Verilog & CAD basics.
Additional Materials & Formats
Check Box for the most up-to-date versions of this lecture’s materials.
Free Response Questions
-
Why would someone use an HDL instead of schematic capture?
-
Briefly describe the difference between structural and behavioral circuit specification.
-
When would it be advantageous to use heirarchical design instead of explicitly designing an entire circuit?
Multiple Choice Questions
-
Which of the following is a valid Verilog module declaration?
- Snippet A:
module example; - Snippet B:
module; - Snippet C:
module example() input A, B; output C; end module - Snippet D:
module example(); endmodule
- Snippet A:
-
What keyword(s) are used to declare ports? Select all that apply.
-
port -
wire -
input -
output -
reg -
assign -
parameter -
param -
always -
initial -
generate
-
-
Which of the following is an example of continuous assignment?
-
Snippet A:
and(C, A, B); -
Snippet B:
always @(*) begin C = A & B; end -
Snippet C:
initial begin A = 0; end -
Snippet D:
assign Y = A | B;
-
-
Which of the following correctly describes the sensitivity list of an
alwaysblock in Verilog?- It specifies the variables that are updated inside the
alwaysblock. - It determines the output conditions of the
alwaysblock. - It lists the signals that trigger the execution of the
alwaysblock. - It must be used to declare a clock for the
alwaysblock.
- It specifies the variables that are updated inside the
-
Which of the following statements best describes the difference between using Verilog primitives (e.g.,
and,or,not) and more advanced constructs (e.g.,alwaysblocks,assignstatements)?- Primitives are used exclusively for simulation, while advanced constructs are used for synthesis.
- Advanced constructs allow for more complex behavior and are better suited for behavioral modeling.
- Primitives are faster to simulate and synthesize but cannot describe full logic circuits.
- There is no meaningful difference.
-
Which of the following statements best describes the difference between
wireandregin Verilog?-
wireis used for storing values, whileregis used for connecting modules. -
regis used for storing values, whilewireis used for connecting modules. -
wireis used for declaring inputs and outputs, whileregis used for internal signals. -
regis used for declaring inputs and outputs, whilewireis used for internal signals. -
wireandregare interchangeable in all contexts.
-
-
Why should an engineer simulate circuit designs before implementing them in hardware?
- To ensure the design meets functional requirements and behaves as expected.
- To save time and resources by identifying errors early in the design process.
- To verify that the design is optimized for performance and resource usage.
- To avoid catastrophic consequences of bugs in real-world hardware.
- All of the above.