SV中的super, this, package关键字,以及UVM中的phase概念
super关键词常用来调用父class中的方法、变量等,而this关键词往往是在当前class中声明函数时调用当前class的变量。package主要是为了增加代码复用性,简洁性而出现的。而UVM中的phase相当于一个阶段,主要是用来起到同步UVM中所有component执行的作用。
从Hello world初步理解UVM工作机制
UVM是目前最流行的一种搭建Testbench验证DUT的方法论,其是基于SystemVerilog的,所以这一套方法中充分利用了SystemVerilog作为OOP语言的三大特性(继承,封装,多态)。UVM为验证提供了整个搭建TB的框架,将每一个部分分离,使得协同合作变得更加高效,通过标准库,让搭建TB的时候直接继承标准库,并通过`uvm_component_utils(my_env) 这种宏定义的形式将当前自定义的environment放在整个tb的合适位置。
SystemVerilog枚举类型(enumeration)使用
枚举类型同数组一样都是一种数据类型,枚举是用于定义一组值,其中每一个值都对应的name,本文主要记录为什么使用枚举,怎么定义一组枚举值,怎么使用枚举类型,以及声明枚举类型时需要注意的三个点。
SystemVerilog中13种数据结构理解
SV中的十三种基本数据结构分别是:
SV引入的7种数据结构:logic bit byte shortint int longint shortreal
Verilog中自带的6种数据结构:reg net integer real realtime time
序列检测状态机fsm的DUT和Testbench编写过程
状态机常是用来描述电路中某些特定元器件在工作的时候所涉及到的状态转变以及条件。其是目前在硬件描述中应用最广泛的一种操作模型之一,几乎每一个数字系统都可以被定义成一个状态机。这里以一个序列检测的例子简单说明状态机编写的思考过程。
vim/Gvim简单快捷键,.vimrc配置
vim是一个高效的文本编辑软件,如果能高效的使用其快捷键将能极大的减少日常重复繁琐的工作。本文简单总结vim的几种快捷键。vim的学习一定要循序渐进,先学会20来个命令,后面再一点一点的加,这样会很大的减少学习过程中的挫败感,而且日常使用的可能20个就足够了,当有需求了(感觉到有很多重复的操作时)再搜索下看是否有相关的解决办法。
共计 29 篇文章,4 页。