foreach数组循环结构体

foreach数组循环结构体

foreach循环遍历任何维数的数组
Systemverilog增加了foreach循环,它可用来对一维或多维数组中的元素进行迭代,而不必指定数组每个维度的宽度。foreach循环的自变量是数组名,它后面是方括号内用逗号隔开的循环变量列表。每个循环变量对应于数组的一个维度。

int sum[1:8][1:3];
foreach(sum(i,j))sum[i][j] = i + j;//对数组初始化
//最外层循环对i进行迭代,最内层循环对j进行迭代

从循环变量到数组索引的映射是由维度基数决定的。多循环变量创建嵌套循环来对给定索引进行迭代。外循环对应低基数索引。
foreach循环变量可以省略
有必要为数组每个维度指定一个循环变量。使用两个逗号,而不带变量名表示一个变量位置将跳过一个维度。循环变量为空表示循环不会对数组的该维度进行迭代。变量列表末尾的相邻空循环变量不用列出附加逗号也会被忽略。

//函数为一个128位变量的每个字节产生一个校验位。向量被表示成16个8位元素组成的二维压缩数组。只为foreach循环指定了一个变量,它代表数组的第一维([15:0]维)
function [15:0] gen_crc(logic[15:0][7:0] d);foreach(gen_crc[i]) gen_crc[i] = ~d[i];
endfunction

循环变量时自动的、只读的并且对循环是局部的。每个循环变量的类型被显式声明为与数组索引类型一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android简介

最近Android很火,小弟也想了解一下它的结构。跟CE或者Mobile比起来,它的结构是有点凌乱,也难怪,毕竟是基于别人的内核在上层开发了一些应用 ---------------------------------------------------------------------------------…

说不尽的刘恒

认识刘恒快三十年了,作为曾经的同事和他小说的责任编辑,我只写过他一篇文章,还是在二十多年前。有时候特别熟悉的人反而不知道从何写起,因为一想起往事,各种记忆像开闸的水一样涌满眼前,让人很难落笔。1985…

印前处理的“发动机”——RIP

对于许多印刷厂来说,数字印前技术仍是个谜,尤其是光栅处理器RIP。除了RIP之处,我们也总听说打印机的内置控制单元。其实,RIP与内置控制单元在本质上是一样的,但也有所不同。听说起来好像有些玄乎,下面我们来…

组合逻辑过程块

组合逻辑过程块 always_comb代表组合逻辑 always_comb过程块表示建立组合逻辑模型 always_comb if(!mode)y a b; elsey a - b;always_comb能推断出其敏感表 与通用always过程块不同,always_comb块的后面不需要指明敏感表。软件工具已经知道设计的意图是建立一个…

外行看Flash的存储原理

突然在网上看到别人两年前写的一篇关于nor和nand的好文章,做为csdn的合法公民,有必要转 一、存储数据的原理 两种闪存都是用三端器件作为存储单元,分别为源极、漏极和栅极,与场效应管的工作原理相同,主要是利用电场的…

数码印刷

数码印刷 目前,RIP已经变成了印前生产的核心问题。它影响到从色彩和文件管理到印刷的整个生产过程的方方面面。而且,像陷印和拼大版这些以前需要单独的应用程序处理的功能,现在也被加到了RIP中。    新的RIP产品和销售商有很多。象Agfa,Ha…

锁存逻辑过程块

锁存逻辑过程块 always_latch描述锁存逻辑 always_latch过程块表示过程块描述的是基于锁存器的逻辑。和always_comb一样&#xff0c;always_latch的敏感表示推断出来的。 always_latchif(enable) q < d;always_latch与always_comb语义相同 always_latch过程的语义规则与al…

一种User Mode下访问物理内存及Kernel Space的简单实现

一种User Mode下访问物理内存及Kernel Space的实现 一&#xff0e;背景 WinCE发展到6.0之后&#xff0c;内存结构和管理方法进行了完善。对应用程序影响比较大的有Virtual Memory Layout的变化&#xff0c;如每个进程的虚拟内存空间扩展为2GB。对驱动程序影响比较大的有Pointe…

什么是ICC曲线

什么是ICC曲线 很多人都问及ICC曲线&#xff0c;但又都很不了解&#xff0c;甚至有些人认为有了ICC曲线就能打印出很漂亮的图片&#xff0c;其实不然&#xff0c;下面就我所掌握的知识给大家做个通俗的理解.国际色彩协会The international Color Consortium简称ICC&#xff0c;…

时序逻辑过程块

时序逻辑过程块 always_ff描述时序逻辑 always_ff专用过程块表示设计的意图是描述可综合的时序逻辑。 always_ff&#xff08;posedge clock,negedge resetN&#xff09;if(!resetN) q <0;else q < d;always_ff过程块的敏感表必须明确列出。这样就可以根据敏感表的内容&…

快速计算整数的二进制表示法中1的个数

快速计算整数的二进制表示法中1的个数 题目&#xff1a;给定一个无符号32位整数x&#xff0c;求x的二进制表示法中含1的个数&#xff1f; 第一种算法&#xff1a; int OneCount(unsigned int x){ for(int count0; x>0; count) x&x-1;//把最后面的1变0 return …

对任务和函数的改进

对任务和函数的改进 1、任务和函数的隐式语句组 SystemVerilog会推断出begin…end SystemVerilog简化了任务和函数的定义&#xff0c;有多条语句时不在需要begin …end对多条语句进行打包。打包省略之后&#xff0c;任务或函数中的语句将会顺序执行&#xff0c;就像仍然在begi…

RAPI简单说明及Sample Code

RAPI简单说明及Sample Code 一&#xff0e;什么是RAPI RAPI用来通过ActiveSync来建立PC与Device的通信。通过RAPI可以实现PC 对Device的控制和同步。 二&#xff0e;使用说明 常用的RAPI包括File I/O的一些操作&#xff0c;以及获取系统信息的一些API。 在使用RAPI来建立PC与…

在C/C++代码中使用SSE等指令集的指令(1)介绍

http://blog.csdn.net/gengshenghong/article/details/7007100我们知道&#xff0c;在C/C代码中&#xff0c;可以插入汇编代码提高性能。现在的指令集有了很多的高级指令&#xff0c;如果我们希望使用这些高级指令来实现一些高效的算法&#xff0c;就可以在代码中嵌入汇编&…

递增和递减操作符

递增和递减操作符 和- -操作符 for(i 0;i < 31; i) begin... end先加与后加 通常原则是&#xff0c;对组合逻辑使用阻塞赋值&#xff0c;而对时序逻辑赋值使用非阻塞赋值。 注意&#xff1a;和--操作符是阻塞赋值i;//使用阻塞赋值对i进行递增 ii1;//使用阻塞赋值对i进行…

User Mode Driver Management介绍(一)

User Mode Driver介绍 Windows CE 6.0中引入了User Mode Driver的概念&#xff0c;可是无论是网上&#xff0c;还是各个芯片厂商提供的方案中&#xff0c;都很少提及这方面的内容。 本文以小郭对存储管理和User Mode Driver Host的理解为基础&#xff0c;结合具体的代码实现&am…

CString内存泄露

经常见到 unicode 设置不一致造成内存泄露。。。

赋值操作符

赋值操作符 和其他赋值操作符 out in;//将out和in相加并将结果赋值给out //out out in;注意&#xff1a;这些操作符都是阻塞赋值packdage definitions;typedef enum logic[2:0] {ADD,SUB,MULT,DIV,SL.SR} opcode_t;typedef enum logic{UNSIGNED,SIGNED}operand_type_t;typ…

SolidGraph CAD System

http://www.codeproject.com/Articles/15554/SolidGraph-CAD-System

User Mode Driver Management 介绍(二)

&#xff08;接上一篇&#xff09; 3> 调用User Mode Driver Host API来将Driver Load到内存 CeFsIoControl()实际上是一个对文件系统驱动FSD进行操作的函数&#xff0c;需要传入文件夹名字和IoControlCode。 帮助文档中对该函数的解释如下&#xff1a; This function send…