首页 > 其他分享 >开始学习《SytemVerilog验证测试平台编写指南》

开始学习《SytemVerilog验证测试平台编写指南》

时间:2023-04-22 10:58:51浏览次数:38  
标签:指南 insert q2 SytemVerilog back pop front 编写 display

我使用ModelSim的Starter版学习,

在这一段代码上报错:

module TestArray;
int j = 1, q2[$] = {3,4}, q[$]={0,2,5};
initial 
begin
	//q.insert(1, j);
	//q.insert(3,q2);
	q.delete(1);
	q.push_front(6);
	j = q.pop_back;
	$display(j);
	q.push_back(8);
        j = q.pop_front;
	$display(j);
	foreach (q[i])
		$display(q[i]);
	q.delete;
end
endmodule

  两个insert都不支持,我就换成了Questa的Starter版本,这些Starter版都是Quartus附带的那种。发现这次可以编译仿真如下的代码:

module TestArray;
int j = 1, q2[$] = {3,4}, q[$]={0,2,5};
initial 
begin
	q.insert(1, j);
	//q.insert(3,q2);
	q.delete(1);
	q.push_front(6);
	j = q.pop_back;
	$display(j);
	q.push_back(8);
        j = q.pop_front;
	$display(j);
	foreach (q[i])
		$display(q[i]);
	q.delete;
end
endmodule

  支持insert数值了,但还是不支持insert队列,具体报错信息为:

 (vlog-13215) Arg. 'item' of 'insert':  Cannot assign an unpacked type 'int $[$]' to a packed type 'int'.

书上有一个脚注:并不是所有的SystemVerilog仿真器都支持使用insert()对队列插入新值。

挺好玩的,严谨!

也有个不太好玩的地方,每次启动Questa,都和我在Ununtu上启动ModelSim一样,启动一个黑黑的控制台界面……

暂时还是使用ModelSim继续学习。

顺便说一下,如果说Verilog语法有点像C语言,那么SystemVerilog确实有点像C++。

标签:指南,insert,q2,SytemVerilog,back,pop,front,编写,display
From: https://www.cnblogs.com/integrated-circuit-testing/p/17342576.html

相关文章

  • Qt编写网络摄像头推流(4路1080P主码流只占用0.2%CPU/极低延时极速响应)
    一、前言说明将从网络摄像头拉流过来的视频流重新推流出去,是目前一个很常规的做法,尤其是推流到流媒体服务中心,这样流媒体服务中心就把散落在各个区域的监控摄像头集中起来统一管理,同时提供对外一致的访问接口。很多时候不仅仅是几个摄像头,很可能是几百个上千个,所以对推流程序也是......
  • pdf阅读器工具编写心得
    最近比较闲,写了一个pdf阅读器的小工具。源码地址:GitHub-lin344902118/usefulTools:someusefultools原理是这样的,将pdf先转换为文本文件,然后读取文本,通过语音播放出来。我是用go写的,主要使用了两个开源库。一个是go-fitz,负责将pdf转换为txt文本。其实这个库的功能远不止如......
  • Linux: terminal 终端生存指南
    完全利用Linux终端处理日常工作并非易事,但其可行性却是不容质疑的。实现日常功能的各类最佳LinuxShell应用有没有考虑到利用Linux终端搞定日常生活中的种种需求?告别现代GUI软件,一切以文本形式呈现。其实这并非不可能,皆历史悠久的命令行界面同样拥有大量实用功能可供选择。利用......
  • 老杜 JavaWeb 讲解(四) ——Servlet编写JDBC连接数据库
    老杜 JavaWeb 讲解对应视频:08-servlet中编写jdbc程序连接数据库(六)在Servlet(Java小程序)中编写JDBC连接数据库6.1JDBC介绍:JDBC的全称是Java数据库连接(JavaDatabaseconnect),它是一套用于执行SQL语句的JavaAPI。[1]JDBC(JavaDataBaseConnectivity)是Java编程语言中......
  • Appuploader安装指南
    转载:http://kxdang.com/topic/appuploader/install.html下载和安装appuploaderIOS开发工具官网地址 http://www.applicationloader.net/最新版本已经优化了没支付688给apple的账号登录流程,无需再安装其他软件。部分电脑最新版本无法启动,请下载老版本。下载最新版本下载老版......
  • linux makeAndCp 脚本编写执行 make 和 cp步骤
    0、makeAndCp.txt*(每行对应一个操作)makecprknn_personKp_demo/mnt/hgfs/shareFile1/rv1126/202210261、makeAndCp.sh#!/bin/bashwhilereadlinedoecho"startW:"echo$line$lineecho"endW!"done<makeAndCp.txt3、......
  • 全志v851s使用GPIO应用程序编写
    1.查看硬件电路图SCH_Schematic1_2022-11-23,查找合适的gpio作为使用pin在这里我们选取GPIOH14(注意目前开发使用这个pin作为触摸屏的pin脚,需要将触摸屏connect断开),因为可以通过排插使用杜邦线将其引出,用于连接别的设备。电路图pdf路径:Yuzukilizard/Hardware/Schematic/SCH_......
  • 批处理编写和用户管理
    一、批处理编写1.1批处理作用自上而下成批的处理每一条命令,直到执行最后一条!1.2如何创建批处理文件扩展名:.bat创建方法:新建一个记事本文件,然后将扩展名改为.bat注:修改扩展名时,需要将文件扩展名显示出来1.3批处理基本语法1.3.1 @echooff    作用:关闭回显功......
  • 【Nginx】valid_referers 参数绕坑指南
    Nginx提供了valid_referers参数用于检查url中refer参数的状态,首先看下官方配置:Syntax:valid_referersnone|blocked|server_names|string...;Default: —Context: server,location123能看到valid_referers总共有4种值可以使用,none、blocked、server_names、string。我......
  • H3C 鲲鹏服务器 银河麒麟 V10 SP1 安装指南
    H3C 鲲鹏服务器 银河麒麟 V10SP1 安装指南     资料版本:6W100-20220331             注意 由于产品版本升级或其他原因,本文档内容会不定期进行......