E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Systemverilog
关于Verilog/
SystemVerilog
中force的使用
force和release在程序中经常会遇到force和release,如下:addu_add(.a(a1),.b(b1),.c(c1));initial begin a1=2'b1; b1=2'b1; #20forceu_add.a=2'd2; #10releaseu_add.a;end对force和release的作用进行说明:在u_add模块中,a接口与a1相连,b接口与b1相连
北方孤寂的灵魂
·
2023-04-06 11:42
verilog
systemverilog
uvm
Verilog
数字验证
vim
UVM面试问题小结
systemverilog
主要适用于模块级/IP级验证,与上层衔接度没有uvm好,uvm是一个分层的测试平台,看起来比较复杂,但是把代码分而治之,比如里面有一些思想有sequence机制,之前sv
爱吃土豆的小小
·
2023-04-06 11:04
UVM
学习
stm32
【数字IC前端常见笔/面试问题】Verilog、
SystemVerilog
、UVM篇(附详细解答)
文章目录前言Verilog常见面试问题基础级别问题1.阻塞和非阻塞赋值之间的区别2.任务和函数之间的区别3.wire和reg之间的区别4.什么是Verilog中的generate块及其用途?5.while循环和do-while循环之间的区别。6.任务中自动关键字是什么意思?7.组合电路和时序电路之间的差异。8.触发器(flip-flop)与锁存器(latch)之间的差异。9.通过示例解释静态变量与
ReRrain
·
2023-04-06 11:52
#
面试
数字IC
SystemVerilog
UVM
UVM-1.1学习(二)——uvm_cmdline_processor
在由
systemverilog
搭建的验证环境中,我们可以使用系统函数$value$plusargs来获取仿真时的仿真参数。
kevindas
·
2023-04-05 09:34
芯片验证
uvm
IC验证——UVM学习
UVM是一种基于
Systemverilog
的验证方法学,其特征是提供用于基本验证结构和可调用的基础类库,可让验证工程师快速搭建可靠的验证框架。
KGback
·
2023-04-04 18:26
数字IC验证
UVM
UVM
UVM_COOKBOOK学习【Testbench Architecture】
关注微信公众号摸鱼范式,后台回复COOKBOOK获取COOKBOOK原本和译本PDF度盘链接TestbenchArchitectureUVMTestbenchArchitectureUVMtestbench是使用
SystemVerilog
空白MAX
·
2023-04-04 18:54
python
java
编程语言
spring
设计模式
IC验证培训——一种自动编写UVM testbench的方法
路科验证官网:路科验证-专注于数字芯片验证的系统思想和前沿工程领域EETOP路科首页:EETOP-路科验证-IC验证培训CSDN路科首页:CSDN-路科验证-IC验证培训
SystemVerilog
UVM
路科验证
·
2023-04-04 18:19
SV语言与UVM应用
testbench
IC验证培训
路科验证
SystemVerilog
UVM模板
UVM基础知识——各组件
一、UVM框架1.UVM是一个以
SystemVerilog
类库为主体的验证平台开发框架。也就是基于SV语言写的用于验证的代码库和对应的验证规范。
Flying_Bird089
·
2023-04-03 12:49
fpga开发
搭建一个UVM环境(一) 基本验证环境
interfaceuvm里面interface与
systemverilog
的是一样的,在这里就不做介绍;interfaceadder_if#(parameterDA_WID=10)(inputclk)logic
小胖子果果
·
2023-04-03 11:06
UVM自学记录
UVM
数字IC设计文章汇总
文章目录一、基础知识篇1.1基础总结1.2Verilog硬件描述语言1.3
SystemVerilog
1.4Linux1.5Markdown二、Verilog设计实例篇1.1小模块设计三、脚本语言3.1Makefile3.2TCL3.3Perl3.4Python
deilt
·
2023-03-30 02:37
fpga开发
系统架构
硬件架构
SystemVerilog
学习笔记2 ---《多维数组的遍历》
1.一维数组遍历数组遍历一般使用foreach或者使用for循环for和foreach都使用begin…end表示作用范围1.1foreachintarray[3]='{9,5,8};foreach(array[i])$display("array[%0d]=%d",i,array[i]);foreach循环相当于从数组的宽度的左端点,向数组宽度的右端点循环。intarray[3];等价于inta
llxxyy507
·
2023-03-29 07:19
SystemVerilog
sv多维数组
sv中foreach
【Verilog语法013】verilog多维数组(多维矩阵)的写法
有两种表示方法:一种是verilog语法的多维数组,另一种是
systemverilog
语法的多维数组。
qq_1615549892
·
2023-03-29 07:18
fpga开发
FPGA开发和IC开发如何选
个人根据了解总结了一下FPGA开发和IC开发在工作上的相同点和不同点:1、相同点:1)都要编写代码开发设计说明;2)使用verilog(现在VHDL应该很少了)进行代码开发;3)使用使用verilog/
systemverilog
FPGA自学笔记分享
·
2023-03-23 18:15
fpga开发
人工智能
SystemVerilog
新手入门笔记
SystemVerilog
在此基础上拓展了一种变量类型:logic类型,该变量类型可以取代wire型变量和reg型变量。
一条摸水鱼
·
2023-02-16 23:03
数字ic前端设计/FPGA笔记
1、理论知识点:这个里面包含数字ic设计前端笔试面试常考的所有的基础知识点(是我看了很多书逛了很多贴吧,辛辛苦苦整理的,详情看目录)2、语言知识点这部分主要还是verilog、毕竟c语言和
systemVerilog
Ghost丶莫惜
·
2023-01-13 14:37
fpga开发
数字验证学习笔记——
SystemVerilog
芯片验证22 ——功能覆盖率策略&覆盖组
一、功能覆盖率策略1.1收集信息而非数据对于一些设计,你需要关心的是合法的寄存器地址和非法的寄存器地址,可写的寄存器域和非法的寄存器域,而不是具体的寄存器地址数值。一旦关注的地方着眼于感兴趣的状态,而不是具体数值,那么这对于你如何定义功能覆盖率,以及如何收集信息会减轻很大的负担。设计信号如果数量范围太大,应该拆分为多个小范围再加上边界情况。1.2只测量需要的内容Verifier需要懂得,在使能功能
海纳百川13
·
2023-01-09 19:28
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证20 ——线程间的通信
一、线程间的通信测试平台中的所有线程都需要同步并交换数据。一个线程需要等待另一个。多个线程可能同时访问同一个资源。线程之间可能需要交换数据。所有这些数据交换和同步称之为线程间的通信(IPC)。1.1event事件Verilog中,一个线程总是要等待一个带@操作符的事件。这个操作符是边沿敏感的,所以它总是阻塞着、等待事件的变化。其他线程可以通过**->**操作符来触发事件,结束对第一个线程的阻塞。这
海纳百川13
·
2023-01-09 19:58
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证21 ——覆盖率类型
一、覆盖率类型覆盖率是衡量设计验证完备性的一个通用词语。随着测试逐步覆盖各种合理的组合,仿真过程过程会慢慢勾画你的设计情况。覆盖率工具会在仿真过程中收集信息,然后进行后续处理并且得到覆盖率报告。通过这个报告找出覆盖之外的盲区,然后修改现有测试或者创建新的测试来填补这些盲区。这个过程可以一直迭代进行,直到你对覆盖率满意为止。1.1覆盖率反馈回路可以使用一个反馈回路来分析覆盖率的结果,并决定采取哪种行
海纳百川13
·
2023-01-09 19:58
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证17 ——数组约束
一、数组约束1.1数组的属性约束多数情况下,数组的大小应该给定范围,防止生成过大体积的数组或者空数组此外还可以在约束中结合数组的其他方法sum(),product(),and(),or()和xor()。SV可以利用foreach对数组的每一个元素进行约束,和直接写出对固定大小数组的每一个元素的约束相比,foreach要更简洁。针对动态数组,foreach更适合于对非固定大小数组中每个元素的约束。c
海纳百川13
·
2023-01-09 19:28
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证18 ——线程的使用
一、线程的使用1.1程序和模块module作为SV从Verilog继承过来的概念,自然地保持了它的特点,除了作为RTL模型的外壳包装和实现硬件行为,在更高层的集成层面,模块之间也需要通信和同步。对于硬件的过程块,它们之间的通信可理解为不同逻辑/时序块之间的通信或者同步,是通过信号的变化来完成的。从硬件实现的角度来看,Verilog通过always、initial过程语句块和信号数据连接实现进程间通
海纳百川13
·
2023-01-09 19:28
验证学习
SV
学习
fpga开发
数字验证学习笔记——
SystemVerilog
芯片验证15 ——随机约束和分布
一、随机和约束1.1随机定向测试能找到你认为可能存在的缺陷,而随机测试可以找到你没有想到的缺陷。随机测试相对于定向测试可以减少相当多的代码量,而产生的激励较定向测试也更多样。1.2约束我们想要的随机自由是一种合法的随机,需要限定激励和合法范围。同时,伴随测试的进行,约束甚至应该“变形”,变得更趋于为测试得数值范围或者期待得数值范围。二、声明随机变量的类随机化是为了产生更多的驱动,因此在软件世界“c
海纳百川13
·
2023-01-09 19:27
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证10 ——类的成员
一、类和成员类是成员变量和成员方法的载体,之所以称为自洽体,是因为其变量和方法应符合‘聚拢’原则,即一个类的功能应该尽可能简单,不应承担过多的职责,更不应该承担不符合它的职责,这在设计模式被称为单一职责原则。类作为载体,也具备天生的闭合属性,将其属性和方法封装在内部,不会直接将成员变量暴露给外部,通过protected和local关键词来设置成员变量和方法的外部访问权限。所以封装属性在设计模式被为
海纳百川13
·
2023-01-09 19:27
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证13 ——虚方法
一、虚方法除了之前介绍的类的封装和继承,关于类的多态性也是必须关注的。正是由于类的多态性,使得用户在设计和实现类时,不需要担心句柄指向得对象是父类还是子类,只要通过虚方法,就可以实现动态绑定(dynamicbinding),或者在SV中称之为动态方法查找。我们将已经编译阶段就可以确定下来调用方法所处作用域得方式称之为静态绑定(staticbinding),而与之相对得是动态绑定。动态绑定指的是,在
海纳百川13
·
2023-01-09 19:27
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证1
一、芯片开发简化流程用户需求系统设计硬件设计功能验证后端综合二、验证人员工作验证设计文件是否按照功能描述文档实现验证会按照功能描述发送激励和比较结果验证一些边界情况(cornercondition).设计文件是否能处理一些错误情况三、验证面临的挑战如何穷尽所有的情况给设计产生激励何如在各种可能激励的情况下判断出不符合硬件描述的行为验证工具:仿真验证和形式验证复杂度:黑盒验证、白盒验证和灰盒验证四、
海纳百川13
·
2023-01-09 19:27
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证4 ——数据类型
1.结构体Verilog的最大缺陷之一是没有数据结构,在SV中可以使用struct语句创建结构,跟c语言类似。不过struct的功能少,它只是一个数据的集合,其通常的使用的方法是将若干相关的变量组合到一个struct结构定义中。伴随typedef可以用来创建新的类型,并利用新类型来声明更多变量。struct{bit[7:0]r,g,b;}pixel;//创建一个pixel结构体//为了共享该类型,
海纳百川13
·
2023-01-09 19:27
验证学习
SV
学习
数字验证学习笔记——
SystemVerilog
芯片验证23 ——数据采样
一、数据采样当你coverpoint指定采样一个变量或表达式时,SV会创建很多“仓(bin)”来记录每个数值被捕捉到的次数。这些bin是衡量功能覆盖率的基本单位。covergroup中可以定义多个coverpoint,coverpoint中可以自定义多个coverbin或者SV帮助自动定义多个coverbin。每次covergroup采样,SV都会在一个或者多个coverbin中留下标记,用来记录
海纳百川13
·
2023-01-09 19:21
验证学习
SV
学习
linux
人工智能
【数字钟实验2.0】Verilog/
SystemVerilog
【数字钟实验2.0】这次是用
systemverilog
/verilog来完成数字钟实验1.0中的数字钟功能(还增加了日期功能!)
Atopos_Yu
·
2023-01-06 16:13
fpga开发
vim system verilog语法高亮
"Vimsyntaxfile"Language:
SystemVerilog
"Maintainer:StephenHobbs"LastUpdate:WedJun1415:56:00BST2006"Builtonverilog.vimfromvim63
XtremeDV
·
2022-12-12 19:04
gvim
vim
system
verilog
systemverilog
vim
推荐FPGA入门书籍
一、前言 很多人在学习FPGA或者数字IC设计时,首先面临的问题必定是编程语言的选择,目前常用的硬件描述语言有三种,即VHDL,VerilogHDL,
systemverilog
。
归一大师
·
2022-12-05 13:58
FPGA
fpga开发
verilog
VSCode配置verilog环境(代码提示+自动例化+格式化)
目录Verilog-HDL/
SystemVerilog
/Bluespec
SystemVerilog
可实现功能:插件配置功能展示Verilog_Testbench可实现功能:
SystemVerilog
andVerilogFormatter
foggywalker
·
2022-12-03 08:39
编程软件安装和环境配置
vscode
fpga开发
ide
verilog符号 与或非 异或_verilog语言的异或
通过这次FPGA实验课让我明白了真正的编程不像是那些C语言小程序那么简单,为了这次实验算是绞尽脑汁,最后为了读懂程序,还去专门找了Verilog语言辅导书,......随即在2005年又发布了
SystemVerilog
1800
鞠起
·
2022-11-30 07:29
verilog符号
与或非
异或
SystemVerilog
调度机制与一些现象的思考
1、IEEE
systemverilog
.std.1800-20122、
SystemVerilog
EventRegions&RaceAvoidance&Guidelines================
kevindas
·
2022-11-28 07:30
芯片验证
IC学习笔记20——VCS的使用(二)VCS仿真基础知识
一、VCS工作过程VCS作为编译型仿真工具,工作过程主要分为两个大步骤,分别是编译和仿真编译:VCS把我们编写的Verilog、
SystemVerilog
和c++语言等代码经过
海纳百川13
·
2022-11-12 04:17
IC学习
学习
VCS User Guide学习笔记【使用精简版】
VCS_UG学习笔记除了说明性质的内容,关于命令和仿真,均是默认Verilog语言,暂不考虑
SystemVerilog
相关的内容。
_筱竹_
·
2022-11-12 04:29
工具使用
【前端验证】被动响应型uvm_model环境搭建——以握手型ram_model为例
因为我是从vmm入门的,而vmm方法学是更加接近于朴素的
systemverilog
验证思路,因此环境搭建比较散当然也比较灵活。
moon9999
·
2022-11-07 10:42
芯片前端验证
芯片
verilog
UVM
SystemVerilog
学习笔记5——随机约束和分布
目录随机约束和分布为何需要随机?为何需要约束?需要随机什么?声明随机变量的类什么是约束?权重分布约束块控制打开或关闭约束内嵌约束随机函数数组约束数组的属性约束随机化句柄数组随机控制随机约束和分布为何需要随机?芯片体积增大,复杂度越来越高,定向测试已无法满足验证的需求,而随机测试的比例逐渐提高;定向测试能找到认为可能存在的缺陷,随机测试可以找到意想不到的缺陷;随机测试的环境要求比定向测试复杂,需要激
菜鸡想要飞
·
2022-10-12 20:40
SystemVerilog
学习笔记
测试覆盖率
模块测试
功能测试
测试用例
SystemVerilog
与功能验证-学习笔记——第一章:功能验证技术与方法学概要(一)
什么是验证1.1.3验证平台可以做些什么1.1.4功能验证流程 本章从芯片设计流程入手,讨论功能验证在整个流程中的位置及其所涵盖的内容,并介绍目前流行的各种验证技术和验证方法学,最后介绍常用的验证语言
SystemVerilog
树下等苹果
·
2022-10-12 20:06
IC
systemVerilog
验证
数字验证学习笔记——
SystemVerilog
芯片验证7 ——验证环境的结构和组件
一.测试平台测试平台(testbeach)是整个验证系统的总称。它包括验证结构中的各个组件、组件之间的连接关系、测试平台的配置和控制。各个组件之间是相互独立的验证组件与设计之间需要连接验证组件之间也需要进行通信验证环境也需要时钟和复位信号的驱动二.硬件设计描述MCDF(多通道数据整形器):它可以将上行多个通道数据经过内部的FIFO,最终以数据包的形式送出。2.1MCDF结构框图2.2MCDF接口信
海纳百川13
·
2022-10-12 20:02
验证学习
学习
单片机
fpga开发
数字验证学习笔记——
SystemVerilog
芯片验证6 ——设计例化和连接
一.模块定义module为硬件域,在定义时需要标注方向、位宽和端口名。modulem_test(inputclk,inputrst_n,input[3:0]a,output[3:0]b);二.模块例化在上层例化底层模块,或者TB例化DUT时,均需要完成模块例化。例化时需要注意模块名、参数例化传递、例化名和端口例化对应。moduletb_test;regclk;regrst_n;reg[3:0]a;
海纳百川13
·
2022-10-12 20:01
验证学习
学习
fpga开发
数字验证学习笔记——
SystemVerilog
芯片验证5 ——过程块和方法
一.Initial和always在SV中同学们首先需要清楚哪些语句应该被放置于硬件世界,那些程序被放置于软件世界。硬件:module/endmoduleinterface/endinterface软件:program/endprogramclass/endclass1.1alwaysalways过程块是用来描述硬件时序电路和组合电路的,因此只可以在module或者interface中使用。1.2i
海纳百川13
·
2022-10-12 20:01
验证学习
学习
数字验证学习笔记——
SystemVerilog
芯片验证8 ——验证环境的结构和组件
一.激励发生器Stimulator(激励发生器)是验证环境的重要部件,在一些其他的场合中,它也被称为driver、BFM、behavior或者generator。Stimulator的主要职责是模拟与DUT相邻设计的接口协议,Stimulator不应该违反协议,但不拘束于真实的硬件行为,比真实的硬件行为拥有更丰富的激励,会使验证更充分。Stimulator的接口主要是同DUT之间连接,此外,也应该
海纳百川13
·
2022-10-12 20:11
验证学习
学习
数字验证学习笔记——
SystemVerilog
芯片验证2 ——数据类型
1.数据类型SV中引入一种新的数据类型logic,sv作为侧重于硬件的语言,并不是关心logic对应的逻辑被综合出来是reg还是wire。四值逻辑是属于硬件世界,二值逻辑是属于软件的世界即验证环境。Logic为四值逻辑:0、1、X(不确定态,不知道是1还是0)、Z(高阻态,没有被驱动)bit为二值逻辑:0、1按照4值逻辑和2值逻辑分类:四值逻辑类型:integer(32)、logic、reg、ne
海纳百川13
·
2022-10-12 10:16
验证学习
学习
systemverilog
之interface
----------------------感谢移知的SV课程------------在芯片的验证过程中,实施验证通常需要经过以下几个步骤:生成输入激励、捕获输出响应、决定对错、衡量进度、反复迭代。Verilog模块互联对Verilog来说,主要通过模块的端口(例化)实现模块之间的互联。例如:Verilog模块的端提供了一种描述设计中模块之间连接关系的方式,但不适用与芯片验证,在验证中有很多缺点:
龙卷风席卷停车场
·
2022-09-15 09:55
systemverilog
systemverilog
SystemVerilog
-Clocking
SystemVerilog
-Clocking在
SystemVerilog
中引入时钟块是为了解决在写testbench时对于特定时序和同步处理的要求而设计的。
Lanagun
·
2022-09-15 09:21
SystemVerilog
systemverilog
-interface(定义、modport、竞争与冒险、clocking、time region)
文章目录一、使用interface有什么好处?二、interface的定义和使用方法2.1代码示例2.1.1常见interface与module连接示例2.1.2常见interface与top层连接2.2modport2.3module和interface区别2.4program与module的区别与联系2.4.1program里面不能使用always2.4.2使用program需要注意的情况2.
zer0hz
·
2022-09-15 09:51
systemverilog
systemverilog
systemverilog
的interface内的信号和clocking块内的信号区别与调度
参考文献1:SetupandHoldtimeandclockingblockin
systemverilog
参考文献2:https://verificationguide.com/
systemverilog
sunvally
·
2022-09-15 09:47
Design
Verification
systemverilog
interface
delta
cycle
clocking
block
SystemVerilog
中interface时钟块的时序控制
systemverilog
引入了interface的概念将接口进行简化,interface中可以定义时钟块(clockingblock)来控制同步信号的时序。
kevindas
·
2022-09-15 09:47
芯片验证
【
SystemVerilog
项目实践】1.AHB-SRAMC(AMBA总线简介)
1、简单的系统芯片结构AHB-SRAM控制器在SOC芯片上的作用是:片上内存2、AMBA总线简介AMBA:高级微控制器总线体系,是已经规范好的一种在设计上高性能嵌入式微控制器时的一种片上通信标准。系统芯片中各个模块之间需要接口来进行连接,总线作为子系统之间共享的通信链路,多个slave的话就需要进行地址空间划分。这里我们用到的为AMBA2.0标准。根据AMBA标准定义了三种不同的总线AHB:高级高
Thomas-w
·
2022-09-14 12:34
#
AHB_SRAMC
学习
(5)呼吸灯
systemverilog
与VHDL编码
5呼吸灯
systemverilog
与VHDL编码1本章目录1)FPGA简介2)
SystemVerilog
简介3)VHDL简介4)呼吸灯verilog编码5)呼吸灯VHDL编码6)结束语2FPGA简介FPGA
宁静致远dream
·
2022-09-08 15:58
FPGA积沙成塔
VCS学习笔记(1)
VCS是一个高性能的、大容量的仿真工具,能够分析、编译和仿真Verilog、VHDL、混合HDL、
SystemVerilog
、OpenVera和SystemC设计描述,并提供一组仿真和调试功能来验证设计
aaaaaaaa585
·
2022-09-08 09:03
VCS
fpga开发
硬件工程
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他