首页 > 解决方案 > SystemVerilog 中的随机脉冲生成

问题描述

我是 SystemVerilog 世界的新手,需要帮助。我目前正在开发一个需要随机脉冲生成模块的小型 Verilog 系统。

模块需要根据某个概率值随机生成一个脉冲。

你能帮我实现这样一个系统吗?

我发现了一些随机脉冲生成的例子。1.随机脉冲发生器但是这个例子不包括任何概率,这个是在 Verilog 中的。2. System Verilog 中的脉冲发生器。这个例子有一些关于概率的信息。但它只生成数字,我无法弄清楚如何将数字更改为脉冲,并使概率起作用。

标签: verilogsystem-verilog

解决方案


您可以获取任何统一的随机数,并通过将其与一个值进行比较来将其转换为概率。鉴于最大的 32 位数字是2,147,483,647,您有 10% 的机会看到小于214,748,364的数字。将你的概率变成 2 的幂可以简化事情。由于任何一个位1的概率是 50%,因此任何一组 3 个位的概率1是 12.5%。


推荐阅读