DescriptionQ690
Q690DVASIC interview problem
Generate opcode-bijection stimulus
TechniquesDVConstrained randomBijectionCoverageReference model
DifficultyHard
TopicConstraints
LanguageSystemVerilog
Requirements5 checkpoints
01
Problem
Write an oracle and compact stimulus constructors for a checker that decides whether two opcode traces use one consistent one-to-one renaming.
Example input and output
Use this case to check your interpretationInput
len_a=len_b=4; trace A=[1,2,1,0]; trace B=[9,6,9,4]Output
request_error=0; cause=ISO_OK; isomorphic=1Explanation
The consistent one-to-one renaming is 1->9, 2->6, and 0->4. Repeated source opcode 1 maps to 9 both times, and no destination is shared by two sources.
02
Requirements (5)
- Construct positive traces from a one-to-one mapping of only the source symbols actually used.
- Provide one exact constructor each for unequal length, forward conflict, and reverse conflict.
- Use fresh forward and reverse valid/value tables for every oracle call and ignore inactive suffix entries.
- Treat either length above 16 as request_error and zero the functional result.
- Identify length, repeated-symbol presence, opcode-zero participation, expected cause, and result as follow-up coverage dimensions.
