Cadence Skill语言简介与理解

一、Skill语言简介

Cadence SKILL语言是一种高级的、交互式的编程语言,它是Cadence软件平台用于二次开发和自动化设计流程的关键工具。SKILL语言基于LISP(List Processing)语言发展而来,用于开发Cadence Design Systems的EDA(电子设计自动化)工具套件中的定制脚本和宏。它是一种功能强大的脚本语言,用于自动化和扩展EDA工具的功能,包括Virtuoso、Encounter、Allegro等。

以下是SKILL语言的一些主要特点:

  1. 交互性:SKILL提供了一个交互式环境,允许用户在Cadence的Command Interpreter Window(CIW)中直接输入和执行命令。
  2. 数据结构:SKILL以列表(list)作为其核心数据结构,这与LISP语言的特点一致,使得它在处理复杂数据结构时非常灵活。
  3. 函数式编程:SKILL支持函数式编程范式,允许用户定义和使用高阶函数,以及通过函数传递函数作为参数。
  4. 内置函数:Cadence为SKILL提供了大量的内置函数,这些函数可以操作设计数据结构,如网络(nets)、实例(instances)、单元(cells)等。
  5. 扩展性:SKILL语言具有强大的扩展能力,用户可以根据需要开发新的函数和应用程序,以扩展Cadence工具的功能。
  6. 应用广泛:SKILL语言在Cadence工具中应用广泛,包括布局(layout)、原理图(schematic)、仿真(simulation)和数据后处理(post-processing)等。
  7. 易于学习:对于有编程背景的用户来说,学习SKILL语言相对容易,尤其是那些熟悉LISP或函数式编程的用户。
  8. 脚本自动化:SKILL可以编写脚本来自动化复杂的设计任务,提高设计效率和减少人为错误。
  9. 与Cadence工具集成:SKILL与Cadence的设计工具集紧密集成,使得用户可以在Cadence环境下无缝使用SKILL进行设计和开发。
  10. 文档和社区支持:Cadence提供了详尽的SKILL语言参考手册和用户指南,同时有一个活跃的社区和论坛,用户可以在其中获取帮助和分享经验。

二、skill API函数理解

Skill API函数案例解析:

dbOpenCellViewByType( 
	{ gt_lib | nil }            # separated choice argument, must choose one
	t_cellName                  # required argument
	lt_viewName 
	[ t_viewTypeName            # optinal keyword argument
	[ t_mode 
	[ d_contextCellView ] ] ] 
	) 
	=> d_cellView / nil         # return value

第一个参数:必须从列出的参数中选择一个;

第二、三个参数:必选参数;

第四、五、六参数:可选参数;

三、SKILL API Finder使用

使用API Finder:

路径:Tools-> SKILL API Finder

输入需要查询的函数,点击“Go”;

双击,展示详细解释。

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
多年以来,Cadence 公司的 CAD 工具 一直是世界上使用最广泛,功能最强大的IC设计工具。而为了应对IC的复杂度越来越高, 设计的困难度也越来越高的情况,Cadence的CAD整合开发环境也越来越庞大,所提供的功能也日益强大,造成使用者在维护及管理上的一大负担。再则, 每一家的设计公司的在设计的流程中多多少少都会有一些小步骤,无法用 Cadence 工具提供的基本做法来达成; 或者是不同公司的工具之间资料转换的问题。工程师遇到此类问题可能需要通过人工的方式去完成连接设计流程中相连的两个步骤; 或是干脆去开发一些小软件来完成这些特定的工作,而此时使用者可能会面临如何将自己开发的软件的I/O 与Cadence 工具的整合环境相连结的问题。一般的做法是产生一些资料档来做资料交换的中介,这些资料档的格式可能是 Cadence 支持的一标准数据格式,也可以是使用者自订的数据格式。这样子是一种间接的做法,因为使用者无法直接去存取 Cadence 环境的内部资料,所以在处理上的弹性会小很多,也较不方便。 为了方便使用者使用整个 CADENCE tools 的整合开发环境,以解决上述的困扰,CADENCE 公司遂发展了 SKILL 语言。 SKILL 是一种高级的、交互式的语言,是用于 CADENCE tool 的整合开发环境内的命令语言(command language)。 SKILL 采用人工智能语言 LISP 的语法为蓝本,再加上常用的 C 语言的部份语法设计而成。 SKILL 语言提供许多的接口函数,能让使用者可以编程直接去存取CADENCE 整合环境内的电路资料内容; 也可以让使用者去开发将自己开发的应用程式并入CADENCE tool 的整合环境里。有了 SKILL 言,使用者可以让 CADENCE tool 更充份地融入整个设计流程之中,减少琐碎 的人工转换时间,提升公司的生产力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值