systemverilog 2 定宽数组

news/2024/5/19 18:28:36 标签: 数据结构, systemverilog, 定宽数组

1. 数组的声明(一维和多维)

一维数组

int a[15];

二维数组

int a[16][5];

        当访问越界地址时,读出的数据会是默认值,4值逻辑,如logic会返回x,2值逻辑如bit会读出0,而wire在没有驱动的时候会输出Z(高阻态)

2. 定宽数组初始化

int a[5] = '{ 0,1,2,3,4}; // ' 加 花括号作为声明方式 
int a[5]; 
a[0:1] = '{1,2}; 
a = '{1,2,3,4,5}; 
a = '{1,2,default:1}; //其余三个都为1 
a = '{5{1}}; //5个值都为1


int a[2][4] = '{'{1,2,3,4},'{5,6,7,8}}; //这里的[2]是最高维

3. 数据遍历

操作数组最常见的方式是使用for和foreach循环

        $size()返回定宽数组的长度。

        for()中的索引变量需要手动进行声明。

        foreach()中的索引变量不用手动声明,sv会自动声明,且在这foreach循环中有效。


                

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

相关文章

自学黑客(网络安全)必学内容

随着时代的发展,经济、社会、生产、生活越来越依赖网络。而随着万物互联的物联网技术的兴起,线上线下已经打通,虚拟世界和现实世界的边界正变得模糊。这使得来自网络空间的攻击能够穿透虚拟世界的边界,直接影响现实世界的安全。 …

【算法】动态规划

一、基础知识 动态规划的基本思想:将待求解问题分解成若干个子问题,如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,为避免大量的重复计算,用一个表记录所有已解决的子问题的答案,而在需要的…

CentOS 7 Linux网络管理详解

CentOS 7 Linux网络管理详解 在现代计算机网络中,网络管理是一个至关重要的任务。CentOS 7 Linux作为一种常用的服务器操作系统,其网络管理也具有重要意义。本篇技术文章《CentOS 7 Linux网络管理详解》就是一份旨在帮助读者全面了解CentOS 7的网络管理的…

Liunx系统服务管理详解-systemd服务管理器的基本使用

二、systemd服务管理器的基本使用 systemd服务管理器是Linux系统中最主流的服务管理器,它提供了更加强大和高效的服务管理功能。下面将介绍systemd服务管理器的基本使用。 2.1 服务状态查询与管理 使用systemctl命令可以方便地查询和管理系统服务。以下是一些常用…

<数据结构>NO5.栈和队列

目录 栈 Ⅰ.栈的概念 Ⅱ.栈的实现 Ⅲ.测试代码 队列 Ⅰ.队列的概念 Ⅱ.队列的实现 💭前言 栈和队列也是一种常见的线性存储的数据结构,只不过它们的某些操作受到了限制,比如栈只允许从栈顶插入删除元素、队列只允许从队尾插入元素&…

国考省考行测:数量关系,十字交叉法,增长率反应去年的量,浓度反应的是浓液,平均反应的是人数

国考省考行测:十字交叉法 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知识点 遇…

1063 Set Similarity(详细注释+35代码+set的妙用)

分数 25 全屏浏览题目 作者 CHEN, Yue 单位 浙江大学 Given two sets of integers, the similarity of the sets is defined to be Nc​/Nt​100%, where Nc​ is the number of distinct common numbers shared by the two sets, and Nt​ is the total number of distinc…

DJ5-4 交换局域网(第一节课)

目录 一、局域网概述 1、LAN 的特点和分类 2、常见的网络拓扑结构 二、计算机与局域网的连接 三、局域网体系结构 四、链路层寻址地址 1、MAC 地址分配 2、MAC 地址识别 五、ARP 地址解析协议 1、ARP 地址解析协议 2、ARP:两个主机位于同一个局域网 3、…