技术栈
systemverilog
lj想拿50w
3 天前
systemverilog
·
ic验证
systemverilog刷题小记
// 队列拼接 int a[$] = {1,2}; int b[$] = {3,4}; a = {a, 5}; // [1,2,5] b = {a, b}; // [1,2,5,3,4]
bitlogic
6 天前
verilog
·
systemverilog
·
scope
·
verification
·
fpga & design
·
lifetime
·
并发线程
理解 SystemVerilog 中的循环与并发线程
除了常见的module、interface、class、task以及function等等,另外,begin-end block 和 fork-join block 也是一个 scope(这里的 fork-join block 包括fork-join、fork-join_any和fork-join_none),如下示例,在匿名块中也可以声明变量,该变量只在当前匿名块或者其内部嵌套的 scope 中是可见的:
m0_71354184
1 个月前
systemverilog
systemverilog中的force,release和assign
assign 语句用于为 wire 类型的信号提供连续赋值。它建立了一个驱动源,根据右侧表达式的值持续驱动 wire 信号。
m0_71354184
2 个月前
systemverilog
systemverilog中的priority if
在 SystemVerilog 中,priority - if是一种条件判断结构。它和普通的if - else语句类似,但在条件评估和错误检查方面有自己的特点,主要用于按顺序评估多个条件,并且对不符合预期的情况进行报错。报错如下两点
apple_ttt
3 个月前
fpga开发
·
fpga
·
systemverilog
·
uvm
SystemVerilog学习——构造函数new
在 SystemVerilog 中,new 是一个构造函数,用于创建类的实例(即对象)。它在面向对象编程(OOP)中起着重要作用,负责实例化一个对象并进行初始化。与传统编程语言(如 C++ 或 Java)中的构造函数类似,new 用来初始化对象的成员变量或执行必要的准备工作。
apple_ttt
3 个月前
fpga开发
·
fpga
·
systemverilog
·
uvm
SystemVerilog学习——虚拟接口(Virtual Interface)
虚拟接口(Virtual Interface) 是 SystemVerilog 中的一种重要特性,用于在类中引用一个接口类型的变量,允许类在运行时动态绑定不同的接口实例。虚拟接口使得类可以与硬件接口交互,而不依赖于接口的具体实现,从而提供更大的灵活性和可重用性。
那么菜
3 个月前
systemverilog
第18篇 :关于SystemVerilog中的约束随机机制(一)
与传统的定向测试相比,随机测试可能更为有效。通过指定约束条件,用户可以轻松创建能够发现难以触及的边界情况的测试。SystemVerilog允许用户以简洁、声明式的方式指定约束条件。然后,这些约束条件会由一个求解器进行处理,该求解器会生成满足约束条件的随机值。
hh199203
6 个月前
c语言
·
systemverilog
·
dpi-c
systemverilog中的DPI-C用例介绍
本文主要基于VCS内置的三个关于DPI-C的使用用例,记录一下DPI-C的使用方法。测试用例的路径为$VCS_HOME/doc/examples/testbench/sv/。测试用例包括:dpi_longint,dpi_packed_array,dpi_structure。
逍遥xiaoy
8 个月前
systemverilog
·
uvm
SystemVerilog测试框架示例
这里是一个完整的SystemVerilog测试框架示例,包括随机化测试和详细注释。这个完整的SystemVerilog测试框架包括顶层模块、接口、事务、驱动器、监视器、代理、环境和测试用例,并使用随机化功能生成输入信号。每个模块和类都有详细注释,解释其功能和作用。可以根据具体的DUT和测试需求对代码进行进一步的扩展和修改。
谷公子的藏经阁
9 个月前
设计模式
·
systemverilog
·
uvm
·
芯片验证
·
design pattern
设计模式在芯片验证中的应用——迭代器
迭代器设计模式(iterator)是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等数据结构) 的情况下遍历集合中所有的元素。
wjh776a68
10 个月前
linux
·
fpga开发
·
systemverilog
·
xilinx
·
pcie
基于PCIE4C的数据传输(三)——使用遗留中断与MSI中断
本文继续基于PCIE4C IP核实现主机(RHEL 8.9)与FPGA(Xilinx Ultrascale+HBM VCU128开发板)间DMA数据传输时的中断控制。本文分为三个部分:FPGA设计、驱动程序设计、上板测试。
wjh776a68
1 年前
fpga开发
·
verilog
·
systemverilog
·
xilinx
·
rs422
【RS422】基于未来科技FT4232HL芯片的多波特率串口通信收发实现
串行通信接口常常用于在计算机和低速外部设备之间传输数据。串口通信存在多种标准,以RS422为例,它将数据分成多个位,采用异步通信方式进行传输。 本文基于Xilinx VCU128 FPGA开发板,对RS422串口通信进行学习。 根据用户手册ug1302,128中采用了一款来自未来科技(Future Technology Devices International Ltd.)的USB转UART的芯片FT4232HL(芯片手册)。 FT4232HL芯片能够将USB接口转化为4个串口通道,并支持配
一只迷茫的小狗
1 年前
systemverilog
systemverilog/verilog文件操作
Verilog具有系统任务和功能,可以打开文件、将值输出到文件、从文件中读取值并加载到其他变量和关闭文件。
apple_ttt
1 年前
fpga开发
·
fpga
·
systemverilog
·
芯片验证
SystemVerilog学习(0)——目录与传送门
SystemVerilog学习(1)——验证导论-CSDN博客文章浏览阅读403次。SystemVerilog自学,验证系统概述,什么是SVhttps://blog.csdn.net/apple_53311083/article/details/133953016
一只迷茫的小狗
1 年前
systemverilog
systemverilog:interface中端口方向理解
(1)从testbench的角度看,tb中信号的输入输出方向与interface中信号输入输出方向一致: (2)从DUT角度看,DUT中信号输入输出方向与interface中信号输入输出方向相反。简单图示如下:
apple_ttt
1 年前
fpga开发
·
fpga
·
systemverilog
·
芯片验证
SystemVerilog学习(8)——包的使用
目录一、包的定义二、导出包的内容1、可以通过域的索引符::号直接引用2、可以指定索引一些需要的包中定义的类型到指定的容器中
apple_ttt
1 年前
fpga开发
·
fpga
·
systemverilog
·
芯片验证
SystemVerilog学习 (10)——线程控制
在实际硬件中,时序逻辑通过时钟沿来激活,组合逻辑的输出则随着输人的变化而变化。所有这些并发的活动在Verilog 的寄存器传输级上是通过initial和 always块语句、实例化和连续赋值语句来模拟的。为了模拟和检验这些语句块,测试平台使用许多并发执行的线程。在测试平台的环境里,大多数语句块被模拟成事务处理器,并运行在各自的线程里。 SystemVerilog 的调度器就像一个交通警察,总是不停地选择下一个要运行的线程。 每个线程总是会跟相邻的线程通信。在下图中,发生器把激励传递给代理。环境类需要知道发
apple_ttt
1 年前
fpga开发
·
fpga
·
systemverilog
·
芯片验证
SystemVerilog学习 (9)——随机化
目录一、概述二、随机化2.1、如何简单地产生一个随机数2.1.1 利用系统函数产生随机数2.1.2 urandom()
apple_ttt
1 年前
fpga开发
·
fpga
·
systemverilog
·
芯片验证
SystemVerilog学习 (5)——接口
验证一个设计需要经过几个步骤:但是,我们首先需要一个合适的测试平台,并将它连接到设计上。测试平台包裹着设计,发送激励并且捕获设计的输出。测试平台组成了设计周围的“真实世界”,模仿设计的整个运行环境。例如,一个处理器模型需要连接到不同的总线和器件,这些总线和器件在测试平台中就被建模成总线功能模型。一个网络设备连接到多个输人和输出数据流,这些数据流根据标准的协议建模。一个视频芯片连接到送入指令的总线,然后根据写入内存模型的数据重建图像。这里的核心概念是除了待测设计(DUT,Design Under Test)
一只迷茫的小狗
1 年前
systemverilog
Systemverilog中使用interface连接testbench和dut的端口
1.dut的端口声明如下,文件名为top.v:2.定义interface接口,文件名为top_if.sv;