SV环境构建(数据类型,模块,参数,接口)

本文详细介绍了System Verilog(SV)在验证方面的优势,包括数据类型、变量类型、模块定义与例化、参数使用及修改,以及接口的运用。SV提供抽象数据结构、面向对象编程、随机化激励和功能覆盖率等特性,提高了验证效率。文中还讲解了SV中的logic类型、参数化模块、接口定义及其modport使用,强调了接口在连接测试平台和设计单元中的关键作用。
摘要由CSDN通过智能技术生成

一、SV在验证方面的语言特性优势

SV(system verilog)是在verilog的基础上扩展出的新的语言,相比verilog与VHDL,在验证方面具有以下优势:

  1. 抽象的数据结构可以满足更高层的验证需要;
  2. 面向对象这种软件编程方式提供了更好的模块性,封装性和复用性;
  3. 用于验证部分的语言属性完全基于软件化的方式实现,使得验证一侧独立于设计;
  4. 约束化的随机激励可提高回归测试的收益;
  5. 功能覆盖率可量化功能验证点使得验证进度更易于反映;
  6. 属性检查提供专用分支语言属性;

二、数据类型

  1. verilog数据类型:
    wire(线网类型),主要用于连续赋值语句(assign),输出随输入变化即刻反映。
    reg(变量类型),主要用在过程快(initial,always),表示一定有触发,输出才会反映输入的状态。
  2. sv新引入数据类型:
    logic,可用于连续赋值语句,也可用于过程块,只会作为单纯的变量进行赋值操作(该类型变量只属于软件环境构建)

三、变量类型

  1. 按逻辑数值类型区分:
    四值逻辑类型(可表示0,1,x,z):integer,reg,logic,net-type(如wire,tri);
    二值逻辑类型(可表示0,1):byte,shortint,int,longint,bit;
  2. 按有无符号区分:
    有符号类型:byte,shortint,int,longint,integer;
    无符号类型:bit,logic,reg,net-type(如wire,tri);
    注:在变量运算中,尽量避免对两种不一致的变量进行操作而导致的而意外错误。编码时,将操作符左右变量转换为同一类型后再进行运算(从逻辑数值类型,符号类型,矢量位宽三个方面考虑)。

四、模块定义与例化

  1. verilog模块定义:
module dut_top0 ( clk, reset, req, cmd, addr, ack, rdata);
input          clk;
input          reset;
input          req;
input [1:0]    cmd;
input [39:5]   addr;
output ack;
output [2
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值