N位数组中X*连续*位设置为1的概率是多少?

Ros*_*ers 6 hardware statistics verification

我正在尝试编写一个简单,足够精确的过滤器,用于验证RTL仿真中的硬件.我们通过将设计中的所有触发器随机初始化为0或1来模拟芯片触发器中固有的随机性.这相当于芯片的触发器在上电期间获得一些随机值.我们还将重置树中的触发器随机化(其中重置树没有反馈循环),这意味着您可以在重置线上获得错误的毛刺.

例如

__PRE__

你会看到一个0-> 1-> 0看起来像一个重置,但实际上是一个小故障.

我想构建一个过滤器,查找一定数量的连续 1个值,以确定我刚刚看到的复位是来自复位控制器的复位还是虚假复位.

我知道这是统计数据,可能与泊松分布有关,但我如何确定一组N位中任何X个连续位为1的概率?

PS是的.我知道4-val RTL仿真.我们也这样做,但是一些Verilog构造在传播X和Z时没有足够的悲观情绪.

Imr*_*ran 2

如果您想快速测试一下位序列是否基于最长的 1 条纹是随机的,您可以使用 N 位中预期的最长 1 条纹为 \xce\x98(日志(N))。

\n\n

此外,最长条纹超过 r*log\xe2\x82\x82(N) 位的概率最多为 1/N^(r-1),同样,最长条纹小于 log\xe2\ 的概率x82\x82(N)/r 位最多为 1/N^(r-1)。

\n\n

这些结果源自《算法导论》中“计数与概率”一章中的“条纹”部分

\n