SystemVerilog基础知识 2.1 interface介绍

SystemVerilog2.1:Interface基础与应用
SystemVerilog的接口(interface)提供了一种组织和复用设计信号的方法,简化大型设计的建模和验证。logic数据类型允许在assign语句中驱动信号,支持4值逻辑。modport定义接口信号的方向,便于在不同组件间使用。接口可以包含任务、函数、参数、变量、功能覆盖和断言,提高抽象层次。clockingblock用于指定信号相对于时钟的采样和驱动时机,帮助管理测试bench中的时序。参数化的接口允许自定义宽度等参数。

SystemVerilog 2.1 Interface介绍

SystemVerilog在Verilog语言基础上扩展了"接口” (interface) 结构,接口给模型提供了一种新的方式,通过使用接口可以简化大型复杂设计的建模和验证。
接口是把模块信号封装起来的方法,所有相关的信号都封装起来形成interface block,因此接口可以在其他项目中复用。并且在其他验证组件中链接到DUT会更简单。

例子

APB信号封装在以下的interface中。

interface apb_if (input pclk);
    logic[31:0]   paddr;
    logic[31:0]   pwdata;
    logic[31:0]   prdata;
    logic         penable;
    logic         pwrite;
    logic         psel;
endinterface 

为什么信号类型是logic?

logic是新的数据类型,让你可以通过assign来驱动信号。在verilog中,我们只能在procedural block中驱动reg类型,在assign中驱动wire。
连接到DUT的信号需要支持4值逻辑,因此X/Z信号可以被采集。如果这些信号连接到bit类型信号,X/Z信号将会被采集为0,信号的X/Z状态会丢失。

怎么定义port方向?

interface信号可以被于不同的验证组件,包括DUT中,modport可以用来定义信号方向。不同modport定义可以传递到不同的验证组件,因此对于不同的验证组件可以定义不同的输入-输出方向。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值