System Verilog clocking块

本文通过实例介绍了clocking块在Verilog HDL中的使用,强调了clocking块不适用于组合逻辑,因为组合逻辑的变化是即时的。通过对比图一和图二,展示了clocking块在上升沿采样时如何影响信号采样值,从而帮助读者理解其提前采样和延后驱动的概念。

注意:组合电路不能使用clocking块,组合逻辑信号的变化是立即的,不等待上升沿触发。

为了便于理解clocking块的提前采样、延后驱动,做图一图二对比说明:

仿真代码如下:

`timescale 1ns/1ps;
interface intf;
	bit clk;
	bit siga;
	clocking mon@(posedge clk);
		default input #1ns output #1ns;
		input siga;
		endclocking
endinterface

module tb;
	intf if0();
	initial forever #5ns if0.clk=!if0.clk;
	initial begin
	#12ns;
	if0.siga=1;
	#2.5ns;
	if0.siga=0;
	#12ns;
	if0.siga=1;
	#17ns;
	if0.siga=0;
	#12ns;
	if0.siga=1;
	#17ns;
	if0.siga=0;
	end
endmodule

由图一可以看出,1、interface输入输出的sign值不受其他影响。

由于mon是上升沿采样,导致12+1.5=13.5时,mon正在15ns上升沿提前一秒采样,mon.sign采样值为0。

 图一

由图二可以看出1、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值