systemverilog、verilog的部分常用内部函数

2024-09-07 13:12

本文主要是介绍systemverilog、verilog的部分常用内部函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. $ceil

  • 作用:将给定的实数或浮点数向上取整。
  • 示例$ceil(3.2) 返回 4

2. $floor

  • 作用:将给定的实数或浮点数向下取整。
  • 示例$floor(3.9) 返回 3

3. $value$plusargs

  • 作用:从命令行读取传递给仿真器的参数。
  • 格式$value$plusargs("格式", 变量)格式 用来匹配命令行的参数,变量 是用来存储匹配到的值。
  • 示例$value$plusargs("UVM_TESTNAME=%s", name) 从命令行读取 UVM_TESTNAME 参数并存储到 name 变量中。

4. $onehot(expression)

  • 作用:检查表达式中是否只有一个位为 1,如果是,返回 true(1),否则返回 false(0)。
  • 示例$onehot(4'b0010) 返回 1(true),因为只有第2位是1。

5. $onehot0(expression)

  • 作用:检查表达式中是否至少有一个位为 1,即表达式不全为 0,如果是,返回 true(1),否则返回 false(0)。
  • 示例$onehot0(4'b0010) 返回 1$onehot0(4'b0000) 返回 0

6. $countones(expression)

  • 作用:计算表达式中 1 的个数。
  • 示例$countones(4'b1101) 返回 3,因为表达式中有 3 个 1

7. $typeof(expression)

  • 作用:返回表达式或变量的数据类型,用于类型推断。
  • 示例$typeof(var) 返回 var 变量的数据类型。

8. $typename(expression)

  • 作用:返回一个字符串,表示表达式或变量的解析类型。
  • 示例$typename(var) 可能返回 "int""logic [31:0]",表示 var 的具体类型。

9. $bits(expression or variable)

  • 作用:返回表达式或变量的总位宽,即占用多少位。
  • 示例$bits(4'b1101) 返回 4$bits(logic [15:0] data) 返回 16

这篇关于systemverilog、verilog的部分常用内部函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145156

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)