ADS AEL脚本入门:自定义电感与变压器的绘制

1. ADS AEL脚本简介

在设计匹配电路时,如果PDK中未提供合适的电感与变压器,需要自行绘制,这会花费大量时间重复绘制。为提高绘制效率,我编写了一些AEL脚本,实现了电感和变压器的自动绘制。AEL是ADS内置的脚本语言,能够自动化版图绘制、参数化器件设计、批量处理与修改和自定义工具开发。
在这里插入图片描述

2. AEL基础函数

下面总结了绘制变压器你可能最少用到的AEL函数介绍, 更多函数请参考ADS帮助文档.

2.1 基础图形函数

// 1. 设置当前绘制层
de_set_layer(layerNum);  // 设置当前工作层

// 2. 绘制路径
de_set_path_width(pathWidth);  // 设置路径宽度
de_set_path_corner(DB_SQUARE_CORNER);  // 设置拐角类型
de_add_path();  // 开始路径绘制
de_add_point(x, y);  // 添加路径点
de_end();  // 结束路径绘制

// 3. 绘制矩形
db_add_rectangle(context, layerId, 
                x1, y1,  // 左下角坐标
                x2, y2); // 右上角坐标

2.2 版图操作函数

// 1. 选择与删除
de_select_all();  // 选择所有图形
de_deselect_all();  // 取消所有选择
de_delete();  // 删除选中图形
de_select_range(x1, y1, x2, y2);  // 选择指定范围内的图形

// 2. 图形变换
de_move(dx, dy);  // 移动图形
de_rotate(centerX, centerY, angle);  // 旋转图形
de_chop(x1, y1, x2, y2);  // 创建中空区域

// 3. 层操作
db_get_layerid(context, layerName, "drawing");  // 获取层ID
db_get_layer_number(layerId);  // 获取层号

2.3 环境与数据操作

// 1. 设计上下文操作
de_get_current_design_context();  // 获取当前设计上下文
de_get_design_context_from_name(strcat(lib_name, ":", cell_name, ":layout"));  // 获取指定单元的设计上下文
de_show_context_in_new_window(context);  // 在新窗口中显示设计上下文

// 2. 端口(Pin)操作
db_create_pin(context,     // 设计上下文
             x, y,         // 端口位置
             angle,        // 端口角度(0,90,180,270)
             layerId,      // 端口所在层
             pinNumber,    // 端口编号(可选)
             pinName);     // 端口名称(可选)

// 3. 参数操作
dm_item_get_parm_names(itemDefP);  // 获取单元的参数名列表
de_set_item_parameters(itemInfo, params_list);  // 设置单元的参数

// 4. 项目操作
de_init_item(strcat(lib_name, ":", cell_name, &
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值