IC技术圈期刊 文章分类

类别: FPGA(370) 前端(233) 验证(174) 后端(128) 嵌入式(9) 自动化(22) 模拟(23) 求职就业(164) 管理(11) 软件(26) 按月份
微信公众号:硅芯思见
仅向大家分享在芯片设计、验证的学习、工作过程中遇到的各种问题,以及一些个人的想法,希望大家互相学习补充!
SystemVerilog中的event到底怎么回事儿
#验证  #event  #triggered 
在SystemVerilog构建测试平台时,经常会用到event来实现多个进程之间的同步处理,例如一个进程处于等待某事件发生,当该事件发生了那么对应的进程将会被执行。但是有时候我们会遇到明明已经触发了事件,为什么对应的进程还处于挂起等待状态呢?该文将示例说明。
硅芯思见
generate常用用法
#验证  #generate 
本文示例generate常用用法
硅芯思见
SVA概述
#验证  #sva 
这里,你可以对SVA有一个快速的了解,但是需要你自己coding下文中示例加深印象
硅芯思见
SystemVerilog中超级英雄super
#验证  #systemverilog  #super 
SystemVerilog的OOP编程中,经常需要使用super这个关键字,主要用于子类访问父类中的属性和方法。当然并不是在所有情况下都需要使用super,一般情况下如果子类对于父类中的属性或者方法进行overriden,那么此时如果要引用父类中被overriden的属性或者方法时,就需要明示super。
硅芯思见
SystemVerilog中传说的DPI
#验证  #systemverilog  #dpi 
本文示例DPI-C的基本用法
硅芯思见
SystemVerilog中队列的越界访问
#验证  #SystemVerilog  #queue 
通过示例说明SystemVerilog中的队列越界访问及注意事项
硅芯思见
SystemVerilog中有界无界的队列
#验证  #SystemVerilog  #queue 
示例SystemVerilog中有界和无界队列的使用注意事项
硅芯思见
动态数组的创建不一定非要new[]
#验证  #SystemVerilog  #dynamic_array 
通过示例说明动态数组的一些使用方法
硅芯思见
SystemVerilog中clocking block中的输入偏差和输出偏差
#验证  #SystemVerilog  #Interface  #Skew 
示例说明SystemVerilig中interfae中clocking block的输入输出偏差
硅芯思见
SystemVerilog中格式化输出域宽(field width)如何设置
#前端  #SystemVerilog  #Field Width 
在使用$display等方法格式化显示数据时,经常需要指定显示数据的对齐方式,一般情况下会在百分号(%)和指定基数之间通过指定域宽(field width)实现要显示数据的对齐格式。本文将示例field width在格式化显示中的使用方法。
硅芯思见
SystemVerilog中相互“嵌套”的队列和动态数组
#验证  #SystemVerilog  #Queue  #Dynamic array 
本文示例实现队列和数组之间的相互嵌套存储
硅芯思见
SystemVerilog类中方法定义在类外的那些事儿
#验证  #SystemVerilog  #extern  #method 
在SystemVerilog中所有类的方法都可以定义于类内,也可以定义于类外。一般将比较复杂的方法的实现放在类外,这样可以增加代码的可读性,而比较简单的方法在类内实现。本文通过示例说明外部方法使用注意事项
硅芯思见
SystemVerilog中program提前结束仿真
#验证  #SystemVerilog  #program 
在SystemVerilog中,增加了program...endprogram用于将测试代码集成在其中,从而区分RTL设计代码和测试平台代码在time-slot中执行的区域,其与module...endmodule用法类似,但是还是有些差异,如果使用不当可能会出现一些不期望的问题,本文将主要针对program提前结束仿真的行为与module进行对比说明。
硅芯思见
SystemVerilog中unpacked数组的assignment pattern
#验证  #SystemVerilog  #Assignment 
本文示例SystemVerilog中unpacked数组的赋值方式
硅芯思见
SystemVerilog中的生命周期lifetime
#验证  #SystemVerilog  #lifetime 
本文通过示例带着读者一并了解SystemVerilog中的生命周期到底是怎么回事,并且给出了对应的使用总结
硅芯思见
硅芯思见:SystemVerilog类中的静态方法和属性
#验证  #SystemVerilog  #Static Method 
在SystemVerilog中关于方法有两种“static”,一种是具有静态生命周期的方法(参见《SystemVerilog中的生命周期lifetime》),另一种则是静态的方法,两种“static”方法在声明时“static”关键字所处的位置是不同的,本文将主要针对静态方法进行说明。在SystemVerilog中,类中方法的生命周期是动态的(automatic lifetime),不能将类中的方法声明为具有静态的生命周期,但是可以将类中的方法声明为静态方法(static method),那么这种静态方法有哪些特点和使用注意事项呢?本文我们将通过示例进行说明。
硅芯思见
你知道get_coverage和get_inst_coverage得到的都是什么覆盖率吗
#验证  #SystemVerilog  #get_coverage  #get_inst_coverage 
在SystemVerilog中提供了大量的用于获得coverage的方法,方便了用户进行功能覆盖率的收集,比较常见的主要有:$get_coverage、get_coverage和get_inst_coverage,那么这几种get coverage得到的到底是什么coverage彼此之间有什么差异呢?本文将通过示例说明。
硅芯思见
硅芯思见:covergroup中的weight如何有效影响覆盖率
#验证  #coverage  #weight 
在衡量统计覆盖率时,经常需要根据对covergroup或者coverpoint的关注程度对其设置对应的权重(weight),从而可以影响到总体的覆盖率。而在SystemVerilog中,weight一般情况下可以通过两种方式进行设置,分别是type_option.weight和option.weight,那么这两种方式在设置时有什么差别呢?本文将通过具体示例说明这两种设置weight的方式如何影响到覆盖率的分布情况。
硅芯思见
硅芯思见:【165】SystemVerilog中的关联数组那些事儿
#验证  #SystemVerilog  #关联数组 
在SystemVerilog中,我们知道可以使用动态数组实现数组元素个数的动态分配,即随用随分,其中元素在数组中的索引是连续的,但是如果要实现数组元素访问时不采用连续索引的话,采用动态数组和定宽数组就不是很合适,容易造成空间的浪费,为此在SystemVerilog中引入了关联数组(Associative Array),实现了一种查找表,该查找表的索引可以根据用户需要指定,不限于整形,其内存空间直到使用时才会分配,即只针对写入的元素分配存储空间,其使用方式类似于Perl等其他语言中的哈希结构。关联数组与其他数组表面上的不同主要体现在数组的索引上,非关联数组的索引一般都是整型变量,而关联数组的索引可以是任何的数据类型。下面我们将通过示例说明关联数组是如何定义和常用的方法如何使用。
硅芯思见
初识interface class
#验证  #SystemVerilog  #interfaceclass 
大概2012年的时候,IEEE1800-2012中增加了一个新的特性,即interface class横空出世,通过接口类实现想要被继承的方法的声明,然后在需要使用该方法的实现类中实现这些接口类的方法,从而可以在同一个实现类中,可以同时实现多个不同接口类中的方法,但是这并不是我们理解的多重继承,应该算作一种多重实现。
硅芯思见