Verilog基础:$display系统函数和C语言中的库函数printf的区别

相关阅读

Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm=1001.2014.3001.5482


Verilog中的$display系统函数和C语言中的库函数printf都是用于输出信息,但它们的用法存在一定差别,本文将简要描述。

$display系统函数的BNF范式如下图所示。

其中的list_of_arguments是逗号分隔的参数列表,参数可以是一个字符串,一个返回值的表达式,或者留空。$display系统函数会按照从左到右的顺序依次输出其参数。

字符串中可以有如下表所示的转换说明。

|-------|-------------|
| 转换说明 | 描述 |
| %h或%H | 以十六进制显示 |
| %d或%D | 以十进制显示 |
| %o或%O | 以八进制显示 |
| %b或%B | 以二进制显示 |
| %c或%C | 以ASCII字符显示 |
| %l或%L | 以库信息显示 |
| %v或%V | 以线网强度显示 |
| %m或%M | 以层次名字显示 |
| %s或%S | 以字符串显示 |
| %t或%T | 以仿真时间显示 |
| %u或%U | 以无格式二值二进制显示 |
| %z或%Z | 以无格式四值二进制显示 |

对于每一个出现在字符串中的转换说明,都要有一个对应的表达式作为在其后的参数。当表达式不对应转换说明时,其按照十进制的形式输出。

下面是$display系统函数使用的实例。

Kotlin 复制代码
module example_display;
    reg [3:0] data;

    initial begin
      data = 4'b1010; 
      $display("The value of data is: %b", data, " The value of data is %d", data, , data);
    end
endmodule

输出:
The value of data is: 1010 The value of data is 10 10

对于C语言中的库函数printf,其函数原型如下所示。

复制代码
int printf(const char *format, ...);

其中format是一个字符指针,常用一个字符串表示(字符串字面量就代表着第一个字符的指针),它被称作是格式字符串,中间可以包含转换说明 。

但是,与Verilog不同的是,库函数printf只有第一个参数是格式字符串,后续参数的个数需要和转化说明的个数匹配。

下面是$display系统函数使用的实例。

cpp 复制代码
#include <stdio.h>
int main() {
	int a = 12;
    printf("This is a %d and this is %s.\n", a, "example");
    return 0;
}

输出:
This is a 12 and this is example.
相关推荐
学逆向的8 小时前
C 循环结构的执行效率分析
c语言·开发语言·数据结构·网络安全
Navigator_Z11 小时前
LeetCode //C - 1293. Shortest Path in a Grid with Obstacles Elimination
c语言·算法·leetcode
jeo陽12 小时前
04-循环实战:素数、最大公约数、级数求和与枚举法
c语言·开发语言·数据结构
速捷工控 PLC触摸屏还原程序14 小时前
西门子S7-300/400程序上载失败:STEP7与博途版本对照、菜单选择和排查步骤
硬件工程
爱读书的小胖14 小时前
LeetCode 88. 合并两个有序数组 C 解题分析
c语言·数据结构·算法
inrichtt14 小时前
第七课时:STM32时钟系统揭秘:从零理解时钟树
c语言·数据结构·stm32·单片机·嵌入式硬件
知识分享小能手15 小时前
C学习教程,从入门到精通,C语言指针 —— 详细知识点总结(10)
c语言·开发语言·学习
金融小师妹15 小时前
多因子时间序列分析:美元与美债收益率变化对黄金价格+1.6%的影响
c语言·人工智能·git·决策树·pyqt
额额额对了15 小时前
Linux 驱动开发:基于 platform 总线 + misc 设备的 DS18B20 单总线温度驱动
linux·c语言·开发语言·驱动开发·嵌入式硬件
Industio_触觉智能15 小时前
瑞芯微Rockchip平台U-Boot初始化完整流程,board_init_f/r源码拆解
硬件工程·开发板·uboot·u-boot·初始化·rockchip·瑞芯微