verilog - 带切换的 Verilog 随机函数
问题描述
如何使用随机函数生成 verilog 测试向量,但只有 50% 位切换 例如:地址 [7:0] 值从 0 到 255 变化 --> 要生成的地址类似于 01010101、00001111、11110000、10101010 等
解决方案
您可以通过计算在将随机值与其先前值异或时设置的位数来限制更改的位数
class req;
rand bit[7:0] Address;
constraint toggle_bits {$countones(Address ^ const'(Address)) == 4; }
endclass
完整的例子你可以在这里试试。
推荐阅读
- java - 如何使用 JSP 和 Servlet 编辑页面的 url
- django - JsonResponse 在 Django 视图中返回不可序列化的错误
- c - 如何在循环中正确使用 select()?
- java - Raspberry pi 4 使用 java 控制 GPIO
- c# - 使用 C# 使用 json 路径读取 json 值
- javascript - 如何以编程方式填写 Microsoft Office Forms 表单?
- jsf - 单击命令按钮时,将打开两个具有相同 widgetVar 的对话框
- arrays - F找到直方图中最大的正方形
- c++ - 对象参数的模板类特化
- docker - Docker swarm stack:Traefik with Whoami 返回“404 page not found”