DescriptionQ293
Q293DVASIC interview problem
Check arbitrarily reordered packets
TechniquesPythonScoreboardReorderingPer-ID queue
DifficultyMedium
TopicReference Models
LanguagePython
Requirements4 checkpoints
01
Problem
Build a reference checker for packets that may be emitted in any order across IDs. Multiple outstanding packets may reuse an ID, but packets within an ID must remain ordered.
Example input and output
Use this case to check your interpretationInput
expected payloads: id4=[A,B], id9=[C]; outputs: (9,C),(4,A),(4,B)Output
all outputs match; finish reports zero missing packetsExplanation
The checker permits id9 to finish first but preserves FIFO order A then B within reused id4.
02
Requirements (4)
- Queue every expected payload instead of overwriting a previous expectation for the same ID.
- Reject an output with no pending packet for its ID.
- On a data mismatch, keep the expected entry available for diagnosis.
- Provide a finish check that reports every missing output.
