WorksheetsVerilog & ASIC MCQs — Worksheet Extraction
Total questions: 150
Worksheet time: 1hrs 15mins
Which Verilog primitive connection list typically includes (out, in, [in])?
buf and not
and, nand, or, nor, xor, xnor
bufif0 and notif0
tran and rtran
The minimum duration a clock signal must be at the high or low state to be recognized by sequential logic is defined as:
Transition time
Clock Uncertainty
Pulse width
Clock to output contamination delay (tccq)
In Verilog, how are negative numbers stored?
As 1's complement
As unsigned binary
As 2's complement
As signed magnitude
To prevent a hold time violation, the contamination (min) delay (tcd) of the Combinational Logic must satisfy which condition?
tcd ≤ Tc − (tpcq + tsetup)
tcd ≥ thold − tccq
tcd ≤ tpcq + tsetup
tcd ≥ thold + tccq
Which design parameter tradeoff is critical in VLSI design?
Latency, Throughput, and Area
Performance (speed), Cost (complexity -area), and Power (energy dissipation)
Front-End Design, Back-End Design, and System Design
Boolean algebra, CMOS building blocks, and Logic gates
If a Pulse Width is too short for a clock signal, what might happen?
The output will be stable faster (low tpcq)
The clock may fail to trigger the intended state change
A hold violation is guaranteed
The clock skew increases
Which situation can cause non-deterministic behavior due to a Race Condition?
Using assign to drive a reg type
Using non-blocking assignments (<=) for combinational logic
When variable E depends on variable D, but D is also updated in the same cycle
When utilizing the parameter data type
The designer must make necessary tradeoffs to achieve function within constraints among which three primary design parameters?
Latency, Throughput, and Area
Performance (speed), Cost (complexity -area), and Power (energy dissipation)
Front -End Design, Back -End Design, and System Design
Boolean algebra, CMOS building blocks, and Logic gates
In Verilog, what statement is true regarding code execution compared to programming languages?
Code runs sequentially, similar to software
In HDL, the code blocks run in parallel
Verilog is purely sequential, but blocking assignments can introduce parallelism
Verilog is not case sensitive
What is the definition of Slack in digital design timing?
The maximum delay caused by Clock Jitter
The difference between the required arrival time of a signal and its actual arrival time
The minimum time required for recovery from an asynchronous control signal
The difference between the maximum and minimum delay (Delay Spread)
When sequential registers are used before and after Combinational Logic (CL), the cycle time (Tc) is determined by:
Tc > tpd -max + tccq
Tc > tpcq -max + toverhead
Tc = tccq - thold
Tc = tpd − tcd
Which Verilog data type is used to assign values using assign and is continuously evaluated?
reg
integer
Nets (like wire)
Parameters
What must a designer include in the sensitivity list of a combinational always block?
Only clock edges
Only reset signals
All signals being read
Only sequential elements
Propagation delay (tpd) is defined as:
minimum time from input crossing 50% to output crossing 50% of amplitude
maximum time from input crossing 50% to output crossing 50% of amplitude
time interval between signal crossing 10% and 90% of VDD
total time taken for CL to change and data to appear at the next register
Which of the following is listed as a Semi Custom VLSI Design Style?
Full Custom
ASIC (Semi Custom) Design Flow
FPGA Design
Manual Transistor-level Design
To prevent a setup time violation, the propagation (max) delay (tpd) of the Combinational Logic must satisfy which condition?
tpd ≥ thold − tccq
tpd ≤ Tc − (tpcq + tsetup)
tpd ≥ thold + tccq
tpd ≤ tccq − thold
If an unsigned number in Verilog has MSB of X or Z, how is it extended if its size is less than specified?
Extended by 0
Extended by 1
Extended by 0, X, or Z
Extended by 2's complement value
What view of the design is represented by the Hardware Description Language (RTL) used in Front-End Design?
Physical View
Structural View
Behavioral View
Analog/Digital Integration
The case statement differs from standard case because:
it treats only "X" as a do not care
it treats "Z" as a do not care
it treats both "Z" and "X" as do not cares
it is unsupported by synthesis
Which synthesis directive tells the synthesizer that all branches in a case statement are present?
parallel_case
endcelldefine
unconnected_drive
full_case
Setup time (tsetup) refers to the time:
after the clock edge where data must remain stable
before the clock edge where data must be stable
from the clock edge to the output contamination delay (tccq)
required for the signal to cross from 10% to 90% of VDD
Clock Skew refers to:
a slight fluctuation in clock timing due to physical parameters
the difference in arrival times of the clock signal at different components or flip-flops
the time required for data to become stable after the clock edge
the maximum time from input crossing 50% to output crossing 50%
Tcq is defined as the:
minimum time for FF input data to be stable before the clock edge
minimum time for FF input data to remain stable after the clock edge
minimum time for FF output to be stable after the active clock edge
maximum time from the input crossing 50% to the output crossing 50% of amplitude
Clock Jitter is described as:
minimum contamination delay
uniform periodicity
stable sequential elements
high removal time
A Verilog task, unlike a function:
must be purely combinational (=)
returns a value by its name
can have inputs, inouts, & outputs, and use both combinational (=) or sequential (<=) expressions
cannot be defined inside a module
When describing sequential logic, which procedural assignment is recommended?
Blocking assignments (=)
Continuous assignments (assign)
Non-blocking assignments (<=)
Conditional assignments
Non-blocking assignments (<=) are used for sequential circuits because:
they evaluate R.H.Ss sequentially and update L.H.Ss immediately
they block all future assignments until the present assignment is evaluated
all R.H.Ss are evaluated at the same time, then L.H.Ss updated at the end of the time step
they force code to run sequentially, like software
Which Verilog concept explicitly defines Logic -0, Logic -1, High -impedance, and Unknown values?
Verilog Primitives
Logical Operators
Logic Value System
Procedural Assignment
If a designer defines a delay in a synthesized model (e.g., assign #5 C = A + B;), this may cause:
improvement in critical path timing
immediate mismatch between simulation results and the gate -level netlist
assignment to be treated as non-blocking
better resource allocation
Which type of procedural assignment executes statements in sequence (indicated by =)?
Continuous Assignment
Non-Blocking Assignment
Blocking Assignment
Conditional Assignment
The minimum time for sequential cells that an active low set or reset signal must remain asserted after the active edge is:
Recovery Time
Removal Time
Setup Time
Propagation delay (tpd)
For proper operation, slack per path between registers should always be:
Negative
Zero
Positive
Equal to the Removal Time
In optimization, extracting common factors or subexpressions to simplify other expressions is:
Resource Allocation
Moving Code Outside Loops
Common Subexpressions/Common Factoring
Constant folding
In a for loop, what must be true for it to be synthesizable?
It must use blocking assignments
It must be defined inside a named block
Its bounds must be constants
It must use a non -blocking assignment
When a designer uses if -else statements checking mutually exclusive conditions, which optimization is applied?
Constant folding
Dead -code elimination
Resource Allocation (Resource Sharing)
Commutativity
Which Verilog primitive is used to build design hierarchy (Structural modeling)?
Always Block
Procedural Assignment
Continuous Assignment
Module instantiation
If a designer defines a number in Verilog without a prefix specifying bit width, the default size is:
8 bits
16 bits
32 bits
64 bits
Which data flow modeling style in Verilog focuses on outputs derived directly from inputs using continuous assignments?
Implementing module with built -in logic gates
Describing functionality at higher abstraction
Flow of data through combinational logic emphasizing direct input -output mapping
Instantiation of previously defined modules
If a designer defines an arithmetic shift (>>) with 'signed, the operation:
shifts in the sign bit
shifts in LSB
fills evaluated bits with zeros
operates only on integers
When modeling hardware, which Verilog data type generally maps to a wire if no value retention is needed, but should retain value if memory is implied?
Net
Register
Parameter
Supply0/Supply1
What must a designer include in the sensitivity list of a combinational always block?
Only clock edges
Only reset signals
All signals being read
Only sequential elements
If a Shortest Path problem leads to a Hold violation, it can be fixed by:
Redesign the circuit faster
Implement pipelining
Lower clock frequency
Insert buffers to increase delay
Which timing parameter refers to maximum time from input crossing 50% to output crossing 50%?
Setup time
Hold time
Propagation delay (tpd)
Clock to output contamination delay (tccq)
Which Verilog type does not allow range specification?
reg
integer
wire
parameter
If sequential logic blocks use non -blocking assignments (<=) and execution order differs, the result will be:
inconsistent and different
the same
blocked until the end of simulation
updated immediately
According to the Digital Design Specification, Fabrication Cost relates to:
Latency
Throughput
Area (cost ∝ area)
Clock speed
In sequential logic modeling using non -blocking assignments (<=), if multiple blocks access same register, results:
Inconsistent
Deterministic
Immediate update
Blocked until end of simulation
When parentheses are used in complex arithmetic expressions in hardware modeling, they help achieve shorter:
Clock Skew
Critical path
Setup time
Hold time
Which procedural assignment uses (=) and executes statements sequentially?
Continuous Assignment
Conditional Assignment
Blocking Assignment
Non -Blocking Assignment
The data type used for values that must remain constant during compilation is:
reg
parameter
wire
integer
If a designer observes an inconsistent clock signal arrival time at different flip-flops in a digital circuit, this is the definition of:
Clock Uncertainty
Clock Jitter
Clock Skew
Delay Spread
If an unsigned number of size 10 is defined as 10'bZ, how will the vacated bits be extended if its size were increased?
Extended by 0
Extended by 1
Extended by X
Extended by Z
Which optimization technique involves calculating the value of constant expressions during compile time rather than implementing logic for them?
Dead-code elimination
Common Factoring
Constant folding
Resource Allocation
The required contamination delay ( tcd ) condition for preventing a Hold violation is tcd≥thold−tccq . If the combined minimum delay path is too small, what is the resultant problem?
Data arrival time is too late for the next clock edge
Data races through the combinational logic and violates the hold time of the receiving register
Clock skew exceeds clock uncertainty
The setup time is too large
When defining complex logic, extracting reusable terms, such as replacing R1 + R2 with RUN, is an example of which optimization?
Moving Code Outside Loops
Commutativity and Associativity
Common Subexpressions / Common Factoring
Dead-code elimination
Why is the utilization of a register before Combinational Logic essential in sequential design regarding input stability?
It prevents Clock Jitter from affecting the inputs
It ensures inputs are stable during the entire clock cycle, even if they were ready beforehand
It fixes the Critical Path delay ( tpd ) to a constant value
It guarantees negative hold time
If a module is described using previously defined modules and interconnection declarations (instantiation), it falls under which modeling style?
Behavioral modeling
Gate-level modeling
Data flow modeling
Structural modeling
Which Verilog feature, a type of subprogram, can use both combinational (=) and sequential (<=) assignments, and can include inputs?
function
parameter
task
always block
If a designer uses T_c as the clock period, the condition tpcq+tpd+tsetup≤Tc must be satisfied. Which term in this inequality represents toverhead ?
tpd
tpcq+tsetup
Tc
tsetup
Which condition must be violated to ensure that a Latch is not inferred for a register assigned in a conditional statement?
It must be assigned under an edge-triggered condition
It must be assigned in all conditional branches
It must not be assigned in any conditional statement
It must be declared as a wire
When analyzing a sequential path, the maximum clock frequency of operation is determined by which path segment?
The shortest path ( tcd )
The longest (critical) path ( tpd_max )
The path determined by tccq−thold
The path defined by the Recovery Time
A Race Condition that causes non-deterministic behavior occurs when the outcome of the calculation depends on:
The use of wire types for output ports
The bounds of a for loop being constants
The evaluation order when a variable's dependent and independent values are updated in the same cycle
Using a casez statement instead of a standard case
The synthesis-supported net type supply0 maps to a wire permanently connected to which logic value?
Logic -1
High-impedance
Logic -0
Unknown
If a register R1 is updated in two sequential always blocks using blocking assignments (=), and the blocks execute in different orders during simulation runs, the results will be:
Identical, regardless of order
Inconsistent and different (Non-deterministic)
Immediately updated at the end of the simulation run
Only updated if R1 is listed in the sensitivity list
What is defined as the time interval between the signal crossing 10% and 90% of VDD?
Pulse width
Clock Jitter
Transition time ( Trise / Tfall )
Contamination delay ( tcd )
If a 6-bit binary number is defined as negative, such as -6'b3, how is it stored internally in Verilog?
As signed magnitude
As 1's complement
As 2's complement
As an integer (32 bits)
If an expression, such as TIP = CAR - 6, is located inside a for loop, but CAR is not assigned a new value within the loop, which optimization technique should be applied?
Constant folding
Moving Code Outside Loops
Resource Sharing
Using a while loop instead
If a combinational logic block experiences Case 2 behavior (Only Q1 changes), which delay is represented?
Contamination delay ( tcd )
Minimum Delay (Shortest Path)
Propagation delay ( tpd ) / Maximum Delay
Delay Spread ( Δtpd )
If a signal line in a timing diagram is shown as a pair of lines with cross-hatching, what does this indicate?
The signal is stable at an unknown value
The signal is high or low, but stable
The signal might change once or more over an interval of time
The signal is high impedance ('Z')
Why does using parentheses in complex arithmetic expressions help in optimization?
They force the synthesizer to use non-blocking assignments
They help identify common subexpressions and result in a shorter critical path
They ensure all arithmetic operations are treated as unsigned
They eliminate dead code
Slack is calculated as the difference between the required arrival time and the actual arrival time. If slack is negative, this indicates a failure to meet which fundamental constraint?
Hold Time constraint
Clock Jitter constraint
Setup Time constraint
Removal Time constraint
A module described using previously defined modules and interconnection declarations falls under which modeling style?
Behavioral modeling
Gate-level modeling
Data flow modeling
Structural modeling
Which optimization technique in synthesis shares hardware resources to reduce area?
Dead-code elimination
Resource Allocation / Resource Sharing
Constant folding
Common Subexpression
The Recovery Time constraint specifically applies to the period when an active low set or reset signal must be:
Asserted after the active clock edge
De-asserted before the active clock edge
Stable during the entire clock cycle
Allowed to fluctuate due to jitter
To prevent a setup time violation during the design phase, which architectural solution can be applied?
Lower clock frequency
Insert buffers to increase delay
Pipelining
Use a negative clock skew
Which parameter in the Digital Design Specification is primarily related to the execution duration of operations?
Throughput
Fabrication Cost
Power Consumption
Latency
The existence of a negative Hold Time thold implies what about the stability requirement of the input data relative to the clock edge?
Data must change only after tccq
Data must remain stable until the next clock cycle
The data can change even before the clock edge
The data path has a minimum delay greater than zero
If the directive full_case is set, and a case branch is missing, why does this lead to simulation mismatch?
Simulation retains the previous value, while synthesis avoids the default latch
Simulation sets the unlisted case to 'X', while synthesis sets it to 'Z'
Synthesis always prioritizes the first matching branch
The missing case is automatically filled by the synthesizer with logic -0
If the conditional operator ?: is used for assignment, this falls under which type of Verilog modeling?
Procedural Assignment
Continuous Assignment / Data Flow Modeling
Behavioral Modeling
Structural Modeling
Which two specific types of nets, when having multiple drivers, synthesize to shorted wires, making multi-assignment problematic?
wor and wand
reg and integer
wire and tri
supply0 and supply1
The minimum time for FF output to be stable after the active clock edge is known as Tcq . This value specifically corresponds to which hold phase delay?
Clock to output propagation delay
Clock to output contamination delay
Setup time
Removal time
If a designer uses parentheses in complex arithmetic expressions, why does this help in optimization?
Forces non-blocking assignments
Identifies common subexpressions / shortens critical path
Forces unsigned arithmetic
Eliminates dead code
If a designer observes negative slack in timing analysis, what is the implication?
Hold Time violation
Clock Jitter violation
Setup Time violation
Removal Time violation
Which Verilog compiler directive restores the condition that unconnected ports take the value 'Z'?
full_case
accelerate
nounconnected_drive
protect
When using the comparison operators === and !==, why are they ineffective for synthesis?
Synthesis replaces them with standard == and != operators
Synthesis ignores them
They infer latches
Only valid for integers
How does the arithmetic right shift operator behave when the signed attribute is applied?
Shifts in zeroes
Shifts in LSB
Shifts in the sign bit
Performs logical shift
If a designer uses if-else statements with mixed blocking and non-blocking assignments in the same always block, what synthesis warning is generated?
Warning about unnecessary resource sharing
Warning about mixed assignments / non-deterministic behavior
Warning code runs sequentially
Warning about purely structural module
If a combinational always block reads signals A, B, and C, what must be in its sensitivity list?
Only clock edge
All signals read (A, B, C)
Only reg variables
Only procedural blocks
What is the definition of tpd for combinational logic?
Minimum time from input 50% → output 50%
Maximum time from input 50% → output 50%
Required stable time after clock edge
Minimum required clock pulse
The maximum speed (performance) of a chip is ultimately determined by:
Clock to output contamination delay
Minimum delay of critical path
Minimum cycle time Tcs = tpd-max+toverhead
Minimum required recovery time
If a register is inferred under an edge-triggered always block, which hardware concept is created?
Wire
Latch
Flip-Flop
Combinational MUX
Why do synthesis run times become challenging for designs larger than 5000 gates?
Logic optimizers cannot handle designs above threshold
Synthesis run times are exponential with size
Netlist will always fail STA
Only Full Custom flows support it
If a combinational block has only Q1 changing, which delay is represented?
Contamination delay
Minimum delay
Propagation delay / maximum delay
Delay spread
The Recovery Time constraint applies to when an active low set/reset signal must be:
Asserted after active clock edge
De-asserted before active clock edge
Stable during entire cycle
Allowed to fluctuate due to jitter
To prevent setup time violations, which architecture solution is applied?
Lower clock frequency
Insert buffers to increase delay
Pipelining
Use negative clock skew
Which parameter relates to execution duration of operations?
Throughput
Fabrication Cost
Power Consumption
Latency
The existence of a negative hold time implies what about input stability?
Data must change only after tccq
Data must remain stable until next cycle
Data can change even before clock edge
Path has minimum delay > 0
Slack negative implies failure to meet:
Hold Time
Clock Jitter
Setup Time
Removal Time
What is the fundamental difference between tsetup and thold ?
tsetup is related to t_pcq, t_hold to t_ccq
tsetup stable before clock edge; thold stable after
t_setup for async, t_hold for clock
t_setup prevents race-through, t_hold prevents critical path
Clock period condition tpcq+tpd+tsetup≤Tc term t_overhead is:
t_pd
t_pcq + t_setup
T_c
t_setup
In a combinational always @(RD) block, the statement GT <= RD & CK; is used. Why might this lead to a simulation mismatch with the structural model?
Non-blocking assignment (<=) should not be used for combinational logic
The sensitivity list is incomplete, as CK must also be included
GT should be declared as a wire, not a reg
Synthesis automatically converts CK to 'X'
Which feature of a sequential circuit must be used in the always block sensitivity list to ensure Flip-Flop inference?
Using the non-blocking assignment (<=)
Using only logic level sensitive inputs (e.g., always @(A or B))
An edge-triggered condition (e.g., posedge CLK)
Declaring the variable as an integer
If a signal line in a timing diagram uses criss-crossed lines, what specific state does this indicate?
The signal is stable at an unknown value
The signal might change once or more over an interval of time
The signal is stable, but its value is not important
The signal might change at that specific time
The optimization technique known as Constant Folding involves:
Eliminating variables that are not used
Calculating the value of constant expressions during compile time
Replacing R1+R2 with SRUN
Moving code that is invariant with the loop index outside of the loop
A Race Condition that causes non-deterministic behavior occurs specifically when:
tcs<tpd-max
A variable depends on another variable that is also being updated in the same cycle
Two continuous assignments target the same net
A conditional assignment uses the conditional operator ?
When defining a constant in Verilog without specifying its bit width (e.g., 45), what is the default size assigned to this number?
8 bits
16 bits
32 bits
64 bits
If the time required for data to be processed and ready at the input of a register is called the arrival time, the slack is calculated as:
Required Time - Arrival Time
tpd-max+toverhead
thold−tccq
Arrival Time - Required Time
In a sequential timing diagram, the "delay overhead due to memory elements" is defined as:
tpcq+tsetup
tpd-max+tccq
Tc−tpd-max
thold−tccq
If an existing chip fails the Hold Constraint after fabrication, why is this condition considered more dangerous?
The critical path is too long, requiring a new layout
It signifies a race-through problem that cannot be fixed by lowering the clock frequency
It is a Setup violation, requiring faster devices
The pulse width of the clock is too short
The relational and equality operators (==, !=, <, >) result in the entire value being 'X' if:
Any operand is 32 bits wide
The comparison involves metalogical values like 'Z'
A bit value of any of the operands is 'X'
The assignment uses the assign keyword
Setting the synthesis directive parallel_case for if-else logic that was written sequentially can cause mismatch because:
Simulation runs sequentially, while synthesis executes branches in parallel
The conditions are treated as non-mutually exclusive in simulation
if-else logic is not supported by synthesis tools
It forces the use of blocking assignments
A circuit uses an active-low asynchronous reset signal. For this reset to take effect properly, the signal must remain asserted for a minimum duration defined by:
Recovery Time
Removal Time
Pulse Width constraint
Clock Jitter
If a designer uses assign #5 C = A + B; in a behavioral model intended for synthesis, what is the most likely consequence?
The synthesizer will model the 5 time unit delay accurately
Synthesis will ignore the delay, causing mismatch
The delay will only be applied if C is a register type
Synthesis will automatically compensate by using a faster gate implementation
When a case statement is synthesized, if the conditions are mutually exclusive, the structure often implies:
A priority encoder
A Flip-Flop array
A Multiplexer (MUX)
A combinational logic path with maximum delay
If a signal violates the Hold Constraint ( tcd<thold−tccq ), the practical solution at the circuit level is:
Redesign for faster logic gates
Lower the clock frequency
Insert buffers to increase the delay
Implement pipelining
Which two Verilog nets, when they have multiple drivers, synthesize to wires where the resulting net is derived by an AND or OR gate?
wire and tri
reg and integer
wor and wand
supply0 and supply1
How is the 6-bit negative number -6'b3 stored internally in Verilog?
6'b000011
6'b111100
6'b111101
32'b...1101
If two always @(posedge CLKA) blocks assign to the same register using blocking assignments (=), the results will be:
identical
inconsistent and different (non-deterministic)
Always updated at the end of the time step
Guaranteed to synthesize to a shared resource
When the synthesis run time is analyzed concerning design size, the run time is known to be:
Linear with design size
Constant for designs under 5000 gates
Exponential with design size
Only dependent on sequential elements
If a designer encounters a hold violation, the maximum hold time value can be calculated using:
hold time equals setup time plus path delay
hold time is at least path contamination delay minus clock-to-output propagation
hold time is at most sum of path contamination delay and clock-to-output contamination
hold time is at most path propagation delay minus setup time
The minimum cycle time of a sequential circuit is determined by:
Shortest path contamination delay
Longest path propagation delay (max)
Delay spread (Δ propagation delay)
Setup slack
In a for statement for synthesis, the loop bounds must:
Use non‑blocking assignments
Reference variables defined outside the block
Be constants
Use the disable statement
The use of equality operators === and !== in synthesis should be avoided for metalogical values because:
Synthesis automatically converts them to == and !=
They infer a latch
They are reserved for integers
They cause synthesis runtime to become exponential
A function in Verilog, unlike a task, must:
Use non‑blocking assignments
Include sequential logic and inputs
Be purely combinational and return a value by its name
Have non‑constant bounds
A latch is inferred in synthesis only if certain conditions are met. Which prevents latch inference?
Using non‑blocking assignments
Assigned in a conditional statement
Needs to be saved between block invocations
Assigned in all branches of a conditional
A flip‑flop has clock‑to‑output propagation of 1 ns and setup of 2 ns. The combinational logic has propagation delay of 8 ns. If the clock period is 12 ns, what is the setup slack?
1 ns
3 ns
4 ns
−1 ns
Consider the sequential block: always @(posedge CLK) begin A = B; C = A; end. If B changes from 0 to 1 at the clock edge and A=0, C=0 initially, values after execution are:
A=0, C=0
A=1, C=0
A=1, C=1
A=0, C=1
Consider non‑blocking assignments: always @(posedge CLK) begin A <= B; C <= A; end. If B=1 and A=C=0 initially, values after execution are:
A=0, C=0
A=1, C=0
A=0, C=1
A=1, C=1
When a register variable is used before it is assigned within the same combinational always block, the outcome is:
Synthesizes to a flip‑flop
Simulation mismatch due to unclear memory requirement
Synthesizer automatically infers a latch
Treated as a parameter
If a designer uses local integer declarations inside always @(posedge CLK), this declaration is:
Fully supported
Supported if labeled
Not supported by synthesis
Automatically converted to parameter
When an active‑low reset signal must de‑assert before the active clock edge, this time is called:
Pulse width
Recovery time
Removal time
Clock skew
For a combinational logic block, when only one output changes (Case 2 behavior), which delay parameter is measured?
Contamination delay
Delay spread (Δ propagation delay)
Propagation delay
Clock jitter
When a register is placed before combinational logic in sequential design, the purpose is:
Output appears one cycle delayed
Inputs remain stable during the entire clock cycle
Guarantee negative hold time
Eliminate clock skew
The maximum hold time that a flip‑flop can have if contamination delay is 0.7 ns and clock‑to‑output contamination is 0.2 ns is:
0.5 ns
0.7 ns
0.9 ns
−0.5 ns
If the slack is negative, the primary fix is:
Insert buffers
Lower the clock frequency
Make the logic faster or pipeline
Increase hold time
How does the synthesizer implement resource allocation?
Priority encoder
Multiplexer selecting shared ALU outputs
Infers register type for shared variable
Constant folding
Which modeling view represents the output of synthesis?
Behavioral (RTL)
Physical (layout)
Structural (netlist)
System design view
An arithmetic expression like Result <= RHI + RLO − PHY_DATA + MAC_RESET is long. Parentheses reorganize help because:
Changes type to signed
Helps synthesizer identify common subexpressions, shortening the critical path
Forces blocking assignments
Minimizes clock jitter
If a variable in a for loop is not assigned a new value within the loop, the recommended optimization is:
Resource allocation
Constant folding
Move code outside loops
Use conditional operator
The optimization of common subexpressions is aided by:
Dead‑code elimination
Commutativity and associativity
Constant folding
Pipeline implementation
When an active‑low reset signal is asynchronous, the minimum duration it must be asserted is:
Pulse width
Recovery time
Removal time
Clock skew
The minimum cycle time of a sequential circuit is:
Shortest path contamination delay
Longest path propagation delay (max)
Delay spread (Δ propagation delay)
Setup slack
Clock‑to‑output contamination delay refers to:
Clock‑to‑output contamination delay (minimum time)
Time before clock edge where data must be stable
Time interval between 10%–90% VDD
Time difference in clock arrival
Using assign o = A < B; where A and B are 8‑bit registers, Verilog comparison defaults to:
Signed
Unsigned
Two’s‑complement arithmetic
Saturated arithmetic
Which data type, when supported by synthesis, is permanently connected to Logic -1?
wire
tri
supply0
supply1
If a designer sets full_case for a case statement but a case item is missing, this leads to simulation mismatch because:
Synthesis sets missing branch to 'Z', simulation 'X'
Synthesis avoids latch inference, simulation retains previous value
Simulation treats as priority encoder
Synthesizer issues 'non-constant loop bound' error
A function in Verilog must:
Use non-blocking assignments
Include sequential logic and inouts
Be purely combinational and return a value
Have non-constant bounds
For a Flip-Flop with tsetup=1.2ns , tpcq=0.8ns , tpd=8ns , and Tc=12ns , the Setup Slack is:
1 ns
3 ns
4 ns
-1 ns
When using non-blocking assignments: always @(posedge CLK) begin A <= B; C <= A; end Which statement correctly describes what happens after the clock edge?
A updates immediately, C uses the new value of A
Old values are used on RHS; new values update at the end of the timestep
Both A and C update at the same time using old values
Both A and C update at the same time using new values
If a combinational expression is Result <= (RHI + RLO) - (PHY_DATA - MAC_RESET); the synthesizer may shorten the critical path due to:
Signed conversion
Detecting common subexpressions
Blocking assignments
Clock jitter reduction
