System Verilog学习笔记(二十)——TCL基础 它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有功能强大的固有的核心命令集由于TCL的解释器是用C/C++语言的过程库实现的,因此可以把TCL看作一个C库,包含用于扩展TCL命令的C/C++过程和函数,每个应用程序都可以根据自己的需要对TCL语言进行扩展扩展后的TCL语言将可以继承TCL核心部分的功能,包括核心命令、控制结构、数据类型、对过程的支持等;TCL良好的可扩展性使其能够很好地适应产品测试的需要。
System Verilog学习笔记(十八)——线程控制 发生器把激励传给代理时,环境类需要知道发生器什么时候完成任务,以便及时终止测试平台中还在运行的线程,这个过程就需要借助线程间的通信来完成。常用的线程间通信有事件控制、wait语句、SV信箱和旗语等。Verilog对语句有两种分组方式,begin…and或者fork…join。前者是顺序方式执行,而后者是以并发方式执行的。
System Verilog学习笔记(十七)——随机约束(2) 在约束块中可以调用函数来描述约束:用来指定变量的默认值和权重。如果用户在使用时,指定了外部约束对同一个变量做二次约束,或者用户定义了子类,也对同一个变量做二次约束时,那么硬约束可以“裹着”软约束,并不会导致随机数产生的失败。
System Verilog学习笔记(十六)——随机约束(1) 随机约束测试(CRT,constraine-random Test)即能够产生感兴趣的、想不到的测试向量,通过回归测试、替换随机种子的方式来提高单位测试用例的覆盖率收集效率。
System Verilog学习笔记(十五)——包的使用 为了使得可以在多个模块或者类之间共享用户定义类型,SV添加了包(package)。用户自定义的类型例如类、方法、变量、结构体、枚举类型等都可以在package…endpackage中定义。
System Verilog学习笔记(十三)——面向对象编程(1) new( )函数又称构造函数,既能分配内存,创建对象,又能初始化变量。默认情况下,将变量设置成默认数值——二值变量为0,四值变量为X。new函数不能有返回值,因为构造函数总是返回一个指向类对象的句柄,其类型就是类本身。
System Verilog学习笔记(八)——采样和数据驱动 为了避免在RTL仿真行为中发生的信号竞争问题,可以通过非阻塞赋值或者特定信号延迟来解决同步的问题。默认情况下,时钟对于组合电路的驱动会添加一个无限小时间()的延迟,而该延迟无法用绝对时间单位衡量,。在仿真器敲入命令“run 0”,是指让仿真器运行一个delta-cycle的时间。
System Verilog学习笔记(六)——SV设计特性 priority case表示至少有一个case选项满足要求;如果有多个case选项满足时,第一个满足的分支会优先执行;priority case的逻辑与if…SV提供了unique和priority的声明,结合case,casex和casez来实现case对应的硬件电路。SV可以通过’0,'1,'z,'x来分别填充0,1,z和x。unique case要求每次case选择必须只能满足一条case选项;unique case不能有重叠的选项,即多个满足条件的选项。unique case可以并行执行。
System Verilog学习笔记(五)——工具篇 System Verilog是编译型语言,需要使用专门的编译器,针对特定的平台,将源代码一次性编译成平台可执行的代码,并包装成平台能识别的可执行程序(simv)的格式。
System Verilog学习笔记(四)——Linux 操作指令 当前目录下的文件列表,-a表示显示所有的文件;文件颜色区分,用蓝色代表目录,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件,灰色代表其他文件。:打开目录,cd /etc表示进入/etc目录,在Linux中,“.”表示当前目录,“…”代表父目录,“~”表示用户的个人主目录。:复制目录或者文件,-f:如果目标文件或目录存在,先删除他们再拷贝,并不提示用户。:删除目录或文件,-f:删除文件或目录时不提示用户。:以树的形式显示指定目录下的内容,不带任何参数。:显示当前工作目录的路径,不带任何参数。
System Verilog学习笔记(三)——字符串类型 SV引入了string类型用来容纳的字符串。字符串类型变量的存储单元为,当变量长度为N,其字符成员索引值为。不同于C函数,字符串结尾没有空字符,即null字符“\0”。字符串的内存是动态分布的,无需担心内存空间管理。
System Verilog学习笔记(二)——自定义类型 *来创建结构体类型。为了使代码易读和维护,加“_t”的后缀表示是自定义类型。//表示枚举类型RGB可以拥有red、green、blue的三个数值。