A. Incorrect port connection syntax in cpu instantiation
B. Missing semicolon after module declaration
C. Output port 'done' should be declared as reg in system
D. Always block missing sensitivity list
Solution
Step 1: Recall module instantiation syntax
Correct syntax is <module_name> <instance_name>(<connections for all ports in order>);
Step 2: Analyze the instantiation
cpu has two ports (input clk, output done), but cpu cpu_inst(clk); provides only one connection, causing port mismatch and incorrect port connection syntax.
Final Answer:
Incorrect port connection syntax in cpu instantiation -> Option A
Quick Check:
Port arguments != port declarations [OK]
Hint: Check module instantiation parentheses and port connections [OK]
Common Mistakes:
Confusing reg declaration in top module
Omitting port connections in instantiation
Misunderstanding sensitivity list in always block
5. You have a large Verilog design with multiple modules: cpu, memory, and io. To improve readability and reuse, which hierarchical approach is best?
hard
A. Create a top module that instantiates cpu, memory, and io modules separately.
B. Combine all code into one big module to avoid confusion.
C. Write separate modules but never instantiate them; use only one module.
D. Use only behavioral code without modules for flexibility.
Solution
Step 1: Understand hierarchy benefits
Separating design into modules and instantiating them in a top module improves organization and reuse.
Step 2: Evaluate options
Creating a top module that instantiates cpu, memory, and io modules separately is best practice for large designs.
Final Answer:
Create a top module that instantiates cpu, memory, and io modules separately. -> Option A
Quick Check:
Top module with submodules = Create a top module that instantiates cpu, memory, and io modules separately. [OK]
Hint: Use a top module to organize submodules [OK]
Common Mistakes:
Putting all code in one module
Not instantiating modules at all
Avoiding modules for behavioral code only
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.