当前位置: 首页 > ds >正文

SystemVerilog语法之内建数据类型

简介:SystemVerilog引进了一些新的数据类型,具有以下的优点:(1)双状态数据类型,更好的性能,更低的内存消耗;(2)队列、动态和关联数组,减少内存消耗,自带搜索和分类功能。(3)类和结构:支持抽象数据结构。(4)联合和合并结构:允许对同一数据有多种视图。(5)字符串:支持内建的字符序列。(6)枚举类型:方便代码编写,增加可读性。

1.1内建数据类型

Verilog-1995有两种基本数据类型:变量和线网。变量可以是reg,integer,time与real。其中integer是32比特的有符号数。所有的存储都是静态的,意味着所有变量在整个仿真过程中都是存活的,子程序不能通过堆栈来保存形式参数和局部变量。Verilog-2001允许使用者在静态和动态存储之间切换,例如堆栈。

1.1.1逻辑类型(logic)

SystemVerilog对经典的reg数据类型进行改进,使得它除了作为一个变量以外,还可以被连续赋值,门单元和模块所驱动,命名为logic。任何使用线网的地方都可以使用logic类型,但是要求logic类型不能有多个结构性驱动,例如双向总线,必须使用wire类型。

module logic_data_type(input logic rst_h);parameter CYCLE = 20;logic q,q_l,d,clk,rst_l;initial beginclk = 0;forever #(CYCLE/2) clk = ~clk;endassign rst_l = ~rst_h;not n1(q_1, q);my_dff(q,d,clk,rst_l);endendmodule
1.1.2双状态数据类型

SystemVerilog引入的双状态数据类型有利于提高仿真器的性能并减少内存的使用量。最简单的双状态数据类型是bit,它是无符号的。双状态数据类型:bit,int,byte,shortint,longint,real。四状态数据类型:integer,time。无符号数据类型:bit,time。有符号数据类型:int,byte,int,integer。可以使用unsigned或者signed改变数据的符号类型。

注意:在把双状态变量连接到被测设计时,尤其时被测设计的输出时务必要小心,如果被测设计试图产生X或Z,这些值会被转换为0或1.使用$isunknown操作符,可以在表达式任意位出现X或Z时返回1.

 if ($isunknown(iport) == 1) begin$display("@%0t:4-state value detected on iport %b", $time, iport);end
http://www.xdnf.cn/news/857.html

相关文章:

  • 数字IC后端PR阶段Innovus,ICC,ICC2修复short万能脚本分享
  • 20.3 使用技巧9
  • Linux:权限相关问题
  • 实验六- Linux网络管理
  • 【MySQL】MySQL中的数据类型详解
  • 【React】获取元素距离页面顶部的距离
  • Spark(20)spark和Hadoop的区别
  • 数据赋能(203)——原则与原理——原则方法
  • 应用层核心协议详解:HTTP, HTTPS, RPC 与 Nginx
  • 健康养生,开启新生活
  • 随机深林算法是分类还是回归?
  • Selenium的ActionChains:自动化Web交互的强大工具
  • 棉花糖实验新解
  • 《数据结构之美--双向链表》
  • 第十四届蓝桥杯 2023 C/C++组 飞机降落
  • 快充协议芯片XSP04D支持使用一个Type-C与电脑传输数据和快充取电功能
  • c++_csp-j算法 (4)
  • 国防科大清华城市空间无人机导航推理!GeoNav:赋予多模态大模型地理空间推理能力,实现语言指令导向的空中目标导航
  • LeetCode 热题100题解(Java版本)
  • 设计模式 建造者模式
  • git比较不同分支的不同提交文件差异
  • Floyd算法求解最短路径问题——从零开始的图论讲解(3)
  • ubuntu 22.04 安装和配置 mysql 8.0,设置开机启动
  • 11-DevOps-Jenkins Pipeline流水线作业
  • [SpringMVC]请求响应参数传递
  • 机器学习 Day13 Boosting集成学习方法: Adaboosting和GBDT
  • AOSP Android14 Launcher3——远程窗口动画关键类SurfaceControl详解
  • VR制作攻略:如何制作VR
  • 在kali中安装AntSword(蚁剑)
  • 【HDFS入门】深入解析DistCp:Hadoop分布式拷贝工具的原理与实践