System Verilog基础(一)】的更多相关文章

学习文本值和基本数据类型的笔记. 1.常量(Literal Value) 1.1.整型常量 例如:8‘b0 32'd0 '0 '1 'x 'z 省略位宽则意味着全位宽都被赋值. 例如: :] sig1; assign sig1 = '1; //sig1 = 8'b11111111 1.2.实型常量 支持小数或者科学型表示,例如:3.14 2.0e3 real a = 3.14; 1.3.字符串常量 前后用双引号引起来,和C语言有不同,字符串末尾不是"\n". string s = &q…
这一篇笔记主要记录Procedural,Process,Task and function,Interface和Communication中值得注意的点. 1.Procedural 写testbench的时候,除了tb与硬件交互的地方使用非阻塞赋值,tb里面其他地方一律用阻塞赋值,OK logic [:] d0,d1; initial begin d0 <= ; $display("d0 value %0d",d0); //d0=x;logic在未被初始化的时候是x d1 = ;…
http://www.cnblogs.com/loves6036/p/5779691.html 数字芯片和FPGA的验证.主要是其中的功能仿真和时序仿真. 验证中通常要搭建一个完整的测试平台和写所需要测试用例.而verilog这种硬件描述语言是出于可综合成电路的目的设计出来的,所以它在书写测试平台和测试用例是不够方便的(测试平台和用例不需要综合成电路).而SV正是由于它不需要满足可综合性,所以它变得非常灵活,它引入了面向对象语言的概念.在验证方面,如果说verilog是C语言的话,那SV就是C+…
从刚接触System Verilog以及后来的VMM,OVM,UVM已经有很多年了,随着电子工业的逐步发展,国内对验证人才的需求也会急剧增加,这从各大招聘网站贴出的职位上也可以看出来,不少朋友可能想尽快掌握这些知识,自学是一个好办法,我结合自己的亲身经历和大家谈谈初学者如何能尽快入门,继而成为一名合格的IC验证师. 1.首先来谈谈仿真工具,无非就是Synopsys, Cacence Mentor三大公司的vcs, incisive, modelsim,其实还有些稍小一些公司象aldec公司的Ri…
在verilog中,使用disable声明来从执行流程中的某一点跳转到另一点.特别地,disable声明使执行流程跳转到标注名字的声明组末尾,或者一个任务的末尾. verilog中的disable命令用法有很多,下面是一个简单的例子,解释了disable的作用范围: // find first bit set within a range of bits always @* begin begin: loop integer i; first_bit = ; ; i<=; i=i+) begin…
类型转换 verilog中,任何类型的任何数值都用来给任何类型赋值.verilog使用赋值语句自动将一种类型的数值转换为另一种类型. 例如,当一个wire类型赋值给一个reg类型的变量时,wire类型的数值(包括四态数值,电平强度,多驱动解析)自动转换为reg类型(有4态数值,但没有电平强度和多驱动解析). 如果一个real类型被赋值给一个reg类型的变量,浮点数值自动截取为reg字长能够表达的整型数值. 下面这个例子里面,使用临时变量将一个浮点类型结果转换为一个64比特整型值,然后将这个整型值…
system verilog中新加了很多幅值语句,虽然都只适用于阻塞幅值,但是在某些场合中非常实用. 下面是一段有意思的代码,覆盖了一些用法. package definitions; typedef enum logic [:] {ADD,SUB,MULT,DIV,SL,SR} opcode_t; typedef enum logic {UNSIGNED, SIGNED} operand_type_t; typedef union packed { logic [:] u_data; logi…
[第一季]CH06_FPGA设计Verilog基础(三) 一个完整的设计,除了好的功能描述代码,对于程序的仿真验证是必不可少的.学会如何去验证自己所写的程序,即如何调试自己的程序是一件非常重要的事情.而RTL逻辑设计中,学会根据硬件逻辑来写测试程序,即Testbench是尤其重要的.Verilog测试平台是一个例化的待测(MUT)模块,重要的是给它施加激励并观测其输出.逻辑模块与其对应的测试平台共同组成仿真模型,应用这个模型可以测试该模块能否符合自己的设计要求. 编写TESTBENCH的目的是为…
[第一季]CH05_FPGA设计Verilog基础(二) 5.1状态机设计 状态机是许多数字系统的核心部件,是一类重要的时序逻辑电路.通常包括三个部分:一是下一个状态的逻辑电路,二是存储状态机当前状态的时序逻辑电路,三是输出组合逻辑电路.通常,状态机的状态数量有限,称为有限状态机(FSM).由于状态机所有触发器的时钟由同一脉冲边沿触发,故也称之为同步状态机. 根据状态机的输出信号是否与电路的输入有关分为Mealy型状态机和Moore型状态机. 1.Moore型有限状态机:是指那些输出信号仅与当前…
[第一季]CH04_FPGA设计Verilog基础(一) 4.1 Verilog HDL 代码规范 u 项目构架设计 项目的构架用于团队的沟通,以及项目设计的全局把控 u 接口时序设计规范 模块和模块之间的通过模块的接口实现关联,因此规范的时序设计,对于程序设计的过程,以及程序的维护,团队之间的沟通都是非常必要的. u 命名规则 1.顶层文件 对象+功能+top 比如:video_oneline_top 2.逻辑控制文件 介于顶层和驱动层文件之间 对象+ctr 比如:ddr_ctr.v   3.…