systemverilog中random用法-有符号数和无符号数-四值逻辑

news/2024/5/19 18:14:14 标签: 芯片验证, systemverilog, random用法, sv语法

作者:小白蒋
~

本文内容

      • 一、系统函数$random
      • 二、系统函数$random的用法
        • 1、$random % b
        • 2、{$random} % b
      • 三、有符号数和无符号数、四值逻辑

一、系统函数$random

产生随机数,当函数被调用时,返回一个32位的随机数;

二、系统函数$random的用法

1、$random % b

$random % b,其中b > 0,它给出了一个范围在 -b+1 ~ b-1中的随机数。

代码演示:random_exercise.sv

module  A;
	byte b;
	
	initial begin
		for (int i = 0; i < 30; i++) begin
			b = $random % 30;
			$display("the %x circle b = %d", i, b);
		end
	end
endmodule

(关于为啥用byte类型,在本文后面会讲)
然后执行这个代码vcs -svrilog -R random_exercise.sv
结果截图:
在这里插入图片描述

2、{$random} % b

通过位并接操作产生一个值在0b-1的数
代码演示:
代码演示:random_exercise.sv

module  A;
	byte b;
	
	initial begin
		for (int i = 0; i < 30; i++) begin
			b = {$random} % 30;
			$display("the %x circle b = %d", i, b);
		end
	end
endmodule

然后执行这个代码vcs -svrilog -R random_exercise.sv
结果截图:
在这里插入图片描述
为什么用byte类型,是因为上面两个随机方法,有一个会随机产生负数,而byte是带符号数类型;

三、有符号数和无符号数、四值逻辑

有符号数有:byteintintegerbyte
无符号数有:bitlogic
四值逻辑:regwirelogic


http://www.niftyadmin.cn/n/633773.html

相关文章

linux android环境搭建

2019独角兽企业重金招聘Python工程师标准>>> 下载sdk包&#xff0c;所有的android SDK都是32位操作系统的&#xff0c;如果你的linux操作系统&#xff0c;那么需要安装32位的支持库 。 运行如下命令&#xff1a; sudo apt-get install ia32-libs 如果不可以&#x…

VCS生成代码覆盖率和功能覆盖率

生成代码覆盖率 vcs -sverilog covergroup.sv -cm linecondfsmtgl -debug_all -R -Mupdate vcs -cm_pp -cm_dir simv.cm -cm_name XXX -cm_report summary 生成功能覆盖率 urg -dir simv.vdb -formal both -report coverage

svn使用-常用命令教程

本文内容SVN简介SVN中的一些概念常用指令将文件checkout到本项目&#xff0c;svn checkout path (path是服务器上的目录)往版本库中添加新的文件将改动的文件提交到版本库更新到某个版本查看文件或者目录状态删除文件查看日志查看文件详细信息比较差异将两个版本之间的差异合并…

汽车电子标识标准呼之欲出

汽车电子标识是车辆的二代身份证&#xff0c;涉及国家资源与个人信息安全&#xff0c;应具有自主知识产权并安全可控&#xff0c;因此亟需编制国家标准来规范和引领汽车电子标识技术的研发与应用。 国家标准应天承运 2010年&#xff0c;公安部交通管理科学研究所成立工作组开展…

ruby中Thor用法雷神介绍,MyCLI < Thor详细介绍

作者:小白蒋,个人博客:www.nihao070.cn ruby中thor详细用法 ruby中Thor是什么?第一点:公共方法变成命令第二点:你也可以使用Ruby的可选参数使CLI参数可选第三点:long_desc、\x5第四点:thor可以更容易指定选项和标签作为元数据第五点:默认情况下,选项是字符串,但是你…

【Django】Django—Form两种解决表单数据无法动态刷新的方法

一、无法动态更新数据的实例 1. 如下&#xff0c;数据库中创建了班级表和教师表&#xff0c;两张表的对应关系为“多对多” 1 from django.db import models2 3 4 class Classes(models.Model):5 title models.CharField(max_length32)6 7 8 class Teacher(models.Model):…

最全的一篇文章,介绍i2c总线的概念和特性,一看就会

本文内容&#xff1a;i2c总线的由来&#xff1a;i2c总线的一些特性&#xff1a;i2c的优点&#xff1a;i2c总线的规范i2c总线的概念总体特征i2c总线的由来&#xff1a; 在消费者电子、电讯和工业电子钟&#xff0c;看上去不相关的设计里经常有很多相似的地方。例如&#xff0c;…

2017届高三(下)2月理科数学试题(自己命题与写代码)

转载于:https://www.cnblogs.com/xuebajunlutiji/p/7128611.html