用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的脚本。

import pathlib
import keysight.ads.dds.experimental as dds

ds_file_path = pathlib.Path(__file__).parent.resolve()

dds_file_name = "xxx" #DDS file name
bit_rate = 1e9
ui_time = 1/bit_rate
Vcivw = 0.1			# mask height(V)
Tcivw = 0.2			# mask width(ui)
vref = 0.5			# mask ref_v(V)
offset_x = 0.07 	# (V)
x1 = ui_time - Tcivw * ui_time + offset_x * ui_time 
y1 = vref + Vcivw 
x2 = ui_time + Tcivw * ui_time + offset_x * ui_time 
y2 = vref - Vcivw  
dds_file = dds.open_dds_file(dds_file_name )

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()
				obj.add_rectangle_mask("rec1",x1,y1,x2,y2)



下面是添加任意形状mask的脚本:

还没写,先占个坑
  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值