![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SystemVerilog学习
文章平均质量分 94
如筏喻者
这个作者很懒,什么都没留下…
展开
-
【路科V0】systemVerilog基础1——数据类型
数据类型Verilog语言两种基本的数据类型:变量类型(variables)【reg,integer和time等变量类型可以用来存储组合逻辑或者时序逻辑的值。】线网类型(nets)【例如wire,wor,wand和其它线网类型用来连接硬件模块,以及提供特殊的线网驱动解决方案。】这两种类型都是四值逻辑,即可表示0、1、X和Z值。线网类型(nets)线网用于建模硬件设计中的连接线路,而线网的值由线网驱动器所决定。(驱动器可以是门或模块的实例,或者连续赋值的输出。)在这个路科课程中,线网类型用的转载 2022-05-19 11:25:57 · 564 阅读 · 0 评论 -
[转载]SystemVerilog与C/C++语言的接口(SystemVerilog DPI C++)
SystemVerilog DPI C++SystemVerilog DPI (Direct Programming Interface) is an interface which can be used to interface SystemVerilog with foreign languages. These Foreign languages can be C, C++, SystemC as well as others.DPI allows the user to easily call转载 2022-04-25 20:01:40 · 419 阅读 · 0 评论 -
[转]MCDF实验——Lab5
Lab5主要完成如何定义覆盖率,如何从验证计划到测试用例的实现,最后再到覆盖率的量化。验证量化分为代码覆盖率和功能覆盖率。一、编译在编译过程中,需要对于设计相关的文件设置额外的覆盖率编译选项。只选中与设计相关的文件点击右键,选择compile->compile properties,在弹出设置栏的coverage一栏中,如图选择以下选项,然后点击OK。完成所有文件的编译“Compile All”。这一步将在编译DUT文件时生成代码覆盖率的模型。二、仿真在仿真窗口(transcrip转载 2021-12-06 09:30:30 · 1394 阅读 · 0 评论 -
[转]MCDF实验——Lab4
在之前的Lab3中,通过一个初具规模的MCDT的验证环境,学习到:验证环境按照隔离的观念,应分为硬件DUT,软件验证环境,和处于信号媒介的接口interface。对于软件验证环境,需要经历建立阶段(build),连接阶段(connect),产生激励阶段(generate)和发送激励阶段(transfer),只有当所有的激励发送完毕并且比较完全之后,才可以结束该测试。从Lab4开始,要验证更大的子系统,即MCDF。与MCDT相比,MCDF主要添加了寄存器控制和状态显示功能,同时也添加了一个重要的数据转载 2021-12-06 09:29:36 · 1263 阅读 · 0 评论 -
[转]MCDF实验——Lab3
Lab3将在Lab2的基础上使用随机约束和环境结构来改进完善实验代码。Lab3中将对generator和initiator之间的数据生成和数据传输的处理进行改进,还将完善何时结束测试,将其主动权交于generator而不再是test组件。在组件结构方面,在原有的initiator、generator、agent、test组件的基础上,再加上monitor和checker,并且使其构成一个有机的整体,最终可以通过在线比较数据的方式完成对MCDT的测试。一、随机约束实验要求:继承Lab2的大部分代码,基转载 2021-12-05 18:53:59 · 753 阅读 · 0 评论 -
[转]MCDF实验——Lab2
Lab2主要是使用之前学习的接口、仿真开始和结束、类以及包的使用,来优化Lab1的验证结构。将逐渐从使用硬件盒子过渡到使用接口和软件盒子(class)来验证设计一、接口的使用相比于之前的代码,这次将验证组件和DUT之间通过接口来连接,所以验证组件chnl_initiator的端口变得非常“干净”,即chnl_intf。在使用接口之前需要定义接口chnl_intf和内部的接口,同时也要声明一个时钟块,它的功能是为了消除可能存在的竞争问题,确保时钟驱动数据之间有一定的延迟,以便于DUT顺利采样。引入接口转载 2021-12-05 17:00:39 · 811 阅读 · 0 评论 -
[转]MCDF实验——Lab1
验证结构框架结构图时钟信号分别送给chnl0_init、chnl1_init、chnl2_init和MCDT,chnl0_init、chnl1_init、chnl2_init这4个是硬件模块module可以例化,然后跟MCDT之间通过各个线网直接连接。4个模块的数据来自于4个动态数组。相比于Lab0来讲,Lab1把chnl_write()、chnl_idle()等一些方法封装到了一个硬件模块initiaor里面,不用通过传id来确定哪个通道进行数据传输,而是通过例化相对应的initiaor来进行。转载 2021-12-05 17:03:17 · 909 阅读 · 1 评论 -
[转]MCDF实验——Lab0
MCDF实验一、MCDF功能描述二、设计结构三、接口描述1、系统信号接口2、通道从端接口3、整形器接口4、控制寄存器接口四、接口时序1、通道从端接口时序2、整形器接口时序3、控制寄存器接口时序五、寄存器描述1、地址0x00 通道1控制寄存器 32bits 读写寄存器2、地址0x04 通道2控制寄存器 32bits 读写寄存器3、地址0x08 通道3控制寄存器 32bits 读写寄存器4、地址0x10 通道1状态寄存器 32bits 只读寄存器5、地址0转载 2021-12-05 17:02:12 · 630 阅读 · 0 评论