【SystemVerilog笔记(三)】接口和时钟块

1、接口
  • 将有关信号封装在一个接口(interface)中,进行模块连接时无需众多分散的端口。
  • interface的端口列表只需定义时钟、复位等公共信号或者干脆不定义任何端口信号,而在变量列表中定义DUT与TB连接相关的logic变量。
  • interface例化方式同module相同。
2、时钟块
  • 在仿真时,为尽量避免时序电路中时钟和驱动信号的时序竞争问题,需尽量给出明确的驱动时序和采样时序,这就需要借助时钟块实现。
  • 默认情况下,时钟对组合逻辑电路的驱动会存在一个无限小时间的延迟。下为示例,clk2和d均由clk驱动产生,通过在"Expanded Time Deltas Mode"下查看可知,这两个信号的产生相对于clk均存在着一个很小的延迟。在这里插入图片描述
  • 时钟块可以定义在interface、module和program中,同一个变量在不同时钟块中可以声明不同方向。
clocking clk_ex @(posedge clk);    //上升沿驱动或采样
  default input #2ns output #2ns;  //默认情况在时钟上升沿前2s对输入采样,后2s对输出驱动
  input in1, in2;
  output negedge q;     //在时钟下降沿进行输出驱动,覆盖上方条件
endclocking
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SystemVerilog是一种硬件描述语言(HDL),用于设计和验证数字电路。SystemVerilog具有丰富的特性,适用于各种设计和验证任务。以下是SystemVerilog入门笔记的一些重点内容。 首先,了解SystemVerilog的基本语法是很重要的。SystemVerilog继承了Verilog的语法,同时加入了一些额外的特性,如数据类型、类和接口等。熟悉这些语法规则对于编写有效的代码至关重要。 其次,了解模块端口的概念。SystemVerilog中的模块是最基本的构建单元,而端口则是模块与外部环境之间的接口。了解如何定义和使用模块端口是编写可重用代码的关键。 另外,掌握数据类型和运算符是必不可少的。SystemVerilog支持多种数据类型,如整数、浮点数、逻辑值等,同时也提供了丰富的运算符,如加法、减法、逻辑运算符等。这些知识对于设计和验证数字电路非常重要。 此外,了解时序控制和并发控制是必要的。SystemVerilog提供了多种时序控制和并发控制的语法和特性,如always、initial和fork/join语句等。掌握这些知识对于设计复杂的数字电路至关重要。 最后,了解Verilog验证中的一些基本概念也是很重要的。例如,了解如何使用assert语句进行断言检查、如何使用coverage语句进行覆盖率分析等。 总之,SystemVerilog入门需要掌握其基本语法、模块端口、数据类型和运算符、时序控制和并发控制,以及一些基本的验证概念。这些知识是成为一名合格的SystemVerilog工程师所必备的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值