Fnob: Command Line-Dynamic Random Generator

With increasing scale of modern ASIC design, higher amount and complexity of constraint random stimulus are desired to reach wider and deeper part of logic. However, several limitations of current constraint syntax, including duplicated code, lower performance, and inflexibility of constraint override, significantly increase DV effort to meet above demands, and result in higher chance of schedule delay as well as potential late bugs. “Fnob” as Command-line Dynamic Random Generator, is a novel methodology to improve the implementation of constraint-random, with below advantages compared to conventional constraint syntax. Firstly, less error prone testbench coding by taking advantage of predefined templates of each randomization type, which are flexible to take any number of variable sets, saving duplicated code of same type of random. Second, faster random regression bring-up with ability to override both random type & value through either in-line or command-line override, instead of additional constraint coding and re-compile. Lastly, faster DV coverage closure can be achieved by having embedded Fnob coverage on stimulus side, instead of additional functional coverage coding on checking side.

Haoxiang Hu, Facebook, Inc.
Tuo Wang, Facebook, Inc.