verilog - SystemVerilog 中的随机脉冲生成
问题描述
我是 SystemVerilog 世界的新手,需要帮助。我目前正在开发一个需要随机脉冲生成模块的小型 Verilog 系统。
模块需要根据某个概率值随机生成一个脉冲。
你能帮我实现这样一个系统吗?
我发现了一些随机脉冲生成的例子。1.随机脉冲发生器但是这个例子不包括任何概率,这个是在 Verilog 中的。2. System Verilog 中的脉冲发生器。这个例子有一些关于概率的信息。但它只生成数字,我无法弄清楚如何将数字更改为脉冲,并使概率起作用。
解决方案
您可以获取任何统一的随机数,并通过将其与一个值进行比较来将其转换为概率。鉴于最大的 32 位数字是2,147,483,647,您有 10% 的机会看到小于214,748,364的数字。将你的概率变成 2 的幂可以简化事情。由于任何一个位1
的概率是 50%,因此任何一组 3 个位的概率1
是 12.5%。
推荐阅读
- r - R,dplyr:如何按特定元素划分日期框架元素
- javascript - Redux 动作创建者得到“TypeError:dispatch(...) is not a function”(附加代码)?
- forms - 如何在 shopify 中覆盖联系我们?
- node.js - Node js iss站点未在其他计算机上打开
- android - 自定义可绘制角度android
- php - 将模型属性分别传递给视图
- android - 有没有办法只能从节点 js 脚本访问 .json 文件,并防止使用 URL 直接访问?
- laravel-5.2 - 在函数内移动验证器消息
- java - 忽略未扩展类 JPA 的 @MappedSuperclass
- ios - 无法将 iOS 应用上传到应用商店,也无法在应用商店中选择我的 .ipa 文件