用python脚本在 ADS2024 update2 的眼图仿真结果上添加eye mask

该文章已生成可运行项目,

ADS 眼图仿真加入eye mask的方法

1、tran 仿真,调用eye_probe 组件,勾选use eye mask,然后添加自己编辑的“xx.msk”文件,仿真结束后,可以从仿真数据中调用
2、DDR sim 仿真,调用eye_probe 组件,在DDR4 mask中填入mask的width和height,在measurement栏中,将DDR4MaskMargin 加入仿真,仿真结束后,可以从仿真数据中调用
3、调用memory probe,修改VIH_xx(AC),VIH_xx(DC)可以修改mask的高度,修改Tcivw可以修改mask的宽度
4、在DDS中,插入mask

如果想修改mask的值,1,2,3方法都需要再重新跑一次仿真。
第4种方法可以直接在仿真结果中反复修改。
ADS2024 update2 的DDS加入的python脚本的接口,方法4实现起来就非常轻松了。

脚本代码

脚本会自动找到所有的rect_plot 而且在添加mask前,会先删除原先的所有mask。
下面是添加方框mask的脚本,以LPDDR5 mask为例:
LPDDR5 DQ MASK

LP5 spec上要求DQ MASK:
tIVW1 =0.35 UI
tIVW2 =0.18 UI
vIVW =0.1V(bit_rate <=6.4Gbps)/0.08V(bit_rate >=7.5Gbps)

import pathlib
import keysight.ads.dds.experimental as dds
ds_file_path = pathlib.Path(__file__).parent.resolve()
dds_file_name = "xxx" #DDS file name
dds_file = dds.open_dds_file(dds_file_name )

bit_rate = 8.533e9
ui = 1/bit_rate
vIVW = 0.08			# mask height(V)
tIVW1 = 0.35		# mask width(ui)
tIVW2 = 0.18		# mask width(ui)
vref = 0.13			# mask ref_v(V)
offset1 = 0 	# (ui)

# rec_mask
rec_x1 = ui - tIVW1/2 * ui + offset1 * ui
rec_x2 = ui + tIVW1/2 * ui + offset1 * ui
rec_y1 = vref + vIVW/2 
rec_y2 = vref - vIVW/2 

# polygon_mask 6 side
pol6_x1 = ui-tIVW1/2*ui + offset1 * ui
pol6_x2 = ui-tIVW2/2*ui + offset1 * ui
pol6_x3 = ui+tIVW2/2*ui + offset1 * ui
pol6_x4 = ui-tIVW1/2*ui + offset1 * ui
pol6_y1 = vref + vIVW/2 
pol6_y2 = vref 
pol6_y3 = vref - vIVW/2 
pol6_mask_list = [
[pol6_x1, pol6_y2],
[pol6_x2, pol6_y1],
[pol6_x3, pol6_y1],
[pol6_x4, pol6_y2],
[pol6_x3, pol6_y3],
[pol6_x2, pol6_y3],
]
for page in dds_file.pages:
	for obj in page.objects:
		if dds.ObjectType.is_plot(obj):
			if dds.ObjectType.is_rect_plot(obj):
				for mask in obj.masks:
					mask.delet_object()
				if tIVW2:
					obj.add_polygon_mask("mask1", pol6_mask_list)
				else:
					obj.add_rectangle_mask("mask1", rec_x1, rec_y1, rec_x2, rec_y2)
本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值