您的位置 首页 知识

Xilinx 开源TCL库正式发布

用于共享工具命令语言脚本的开源库已发布在GitHub.com上。在过去五年里,赛灵思把战略重点放在设计方法和工具上,通过提供业界最先进、最全面的开发环境,解决生产力问题,加快设计周期,促使产品更快上市

用于同享东西指令言语脚本的开源库已发布在GitHub.com上。

在曩昔五年里,赛灵思把战略重点放在规划办法和东西上,经过供给业界最先进、最全面的开发环境,处理生产力问题,加速规划周期,促进产品更快上市。

即使新一代Vivado规划套件和归纳全面的UltraFast规划办法能够进步生产力,但运用当今的All Programmable器材展开规划作业依然面对许多应战。规划人员有必要将数百个高度参数化的IP核、数十万个可放置的方针和数百万个逻辑单元与赛灵思All Programmable FPGA、3D IC和SoC完美集成。跟着规划人员不断拓展杂乱规划的边境,需求应对的状况也千变万化。

跟着本年4月份Vivado 2014.1版别的发布,赛灵思正在预备一个用于同享东西指令言语(TCL)代码的开源库,这一行动无疑在进一步进步规划人员生产力方面又前进了一大步。这个名为“赛灵思TCL库”的开源库能够明显简化查找和同享其他工程人员开发的TCL(发音为“tickle”)脚本。凭借Tcl,这些脚本能够扩展Vivado规划套件强壮的中心功用,然后进步生产力,简化运用。“Tcl库”对用户社区敞开,经过发布对别人或许有用的Tcl代码,让一切规划人员获益。

日趋杂乱的规划

Vivado规划套件树立在敞开的可扩展数据模型上。作为一种开源体系,要想进步生产力,其间一个要害便是进步东西的智能化水平,供给更多定制选项和剖析功用,以便规划人员更全面了解并充分运用东西,完结最佳规划。

自2012年Vivado规划套件推出以来,用于履行各种规划使命的Tcl脚本呈现出爆炸性开展。Tcl是Vivado XDC束缚言语的根底,因而把握和运用Tcl对规划人员来说越发重要。

运用Tcl指令能够交互式地开发和优化时序束缚,节约编译时刻,削减调试作业量。其间心指令可进行方针查询,并据以供给定制陈述和完结极为精密的东西操控。运用Vivado规划东西还能够开发自己的DRC和Lint检查,协作高度定制化的流程即可完结更优异的成果质量或是更快的运转时刻。规划人员运用Tcl还能够经过工程改变指令(ECO)操作进行针对性的规划改变。

TCL带来的生产力改进,代码创立的快捷性和代码的易读性,使之成为同享有用代码的抱负挑选。到现在这种同享还首要处于自发阶段,选用电子邮件和用户论坛办法。部分企业也现已在内部树立自己的TCL库,供自己项目运用。

现在赛灵思经过自己全新的“赛灵思Tcl库”,让Tcl同享迈上新的台阶。

欢迎运用Tcl库

赛灵思Tcl库供给多种样例,用于演示怎么编写定制陈述,操控特定东西行为,进行定制网表改变,与仿真、归纳、时序与功耗剖析及lint东西等第三方电子规划主动化(EDA)东西集成。

Tcl库可从Vivado集成规划环境(IDE)本地拜访,便于用户直接从东西内部挑选和装置称为“运用程序”(app)的Tcl脚本集。装置完结后,这些运用程序的指令好像Vivado规划套件内置的指令相同,可经过协助指令检查其用法。Vivado规划套件运用Tcl的规范封装东西支撑不同版别的运用程序,故即使有更新的版别发布,只需单击鼠标即可挑选晋级。

赛灵思Tcl库的意图是运用与Linux开发环境相同的办法,简化由用户社区开发和支撑的优质Tcl脚本的查找和运用。Tcl脚本编写与挑选IDE按钮比较略微高档一些。但它易于学习和把握。有很多技能文档和用户攻略具体介绍Tcl API供给的具体指令,详情请拜访china.xilinx.com/support。

下面具体介绍从赛灵思Tcl库装置和运用Tcl运用程序的办法。

image001.jpg

图1:Vivado IDE中的Tcl库对话框为装置运用程序和阅读指令供给便利。

装置和运用

在初次发动Vivado IDE时,规划人员能够经过“Getting Started”页面上的图标拜访赛灵思Tcl库。规划人员也能够转到东西菜单(Tools Menu),挑选“Xilinx Tcl Store”菜单选项。此刻会弹出库对话框,供给可供装置的运用程序清单(图1)。

阅读运用程序清单时,能够看到每个运用程序下又有一个指令清单(Tcl中称为“procs(进程)”),列出了可供履行的指令。能够检查每个运用程序及每个运用程序中每个进程的介绍,了解其功用。点击装置按钮就能够装置和注册运用程序,随后能够好像Vivado规划套件本地指令相同显现和运用。运用程序装置结束后,每次发动Vivado规划套件它都会主动加载,无需每翻开一个新的界面都装置一次运用程序。

进程有命名规矩,运用Tcl中名为“命名空间”的东西。指令的称号看似比正常的Tcl指令稍显杂乱,一起内嵌有“::”字符。例如xilinx::ultrafast::check_pll_connectivity用于对赛灵思器材中的时钟修正模块进行衔接检查。该命名规律的意图是确保Tcl代码的唯一性以及一个运用程序中的某个进程不会与另一个运用程序中的同名进程产生冲突。命名空间是Tcl的规范特性。

运转运用程序指令的办法是键入包括命名空间在内的进程的完好合法称号,并有挑选地输入任何要求的指令行参数,就和其它Tcl指令相同。因为这些指令运用规范命名空间,也可挑选导入指令到大局空间中。假如不好任何其他指令称号产生冲突,这个办法是适用的。这样能够省略命名空间限定符,只运用进程称号。在上面的比如中,假如把UltraFast运用程序导入大局命名空间,无需命名空间限定符即可直接调用check_pll_connectivity指令。

规划人员只需单点运用程序具体介绍部分中的“Uninstall App”超链接,就能够卸载运用程序。别的,点击“Refresh”按钮便可更新运用程序目录。Tcl库目录由第三方网站保管,与Vivado版别无关,因而可随时更新运用版别。目录更新后,Vivado东西会占用少量资源履行运用程序清单同步。假如有更新后的已装置运用程序可用,请运用“Update”按钮来获得。Vivado规划套件会仿制并同步该运用程序的最新版别,完结其装置。为防止产生装备操控问题,更新只依据规划人员的要求装置。对介意安全性,不愿意让Vivado规划套件随时从自己的网络防火墙外同步的用户,能够运用一个参数禁用目录同步功用。

运用赛灵思Tcl库的Tcl运用程序简略且便利。赛灵思的方针是鼓舞世界各地的开发团队运用和同享Tcl库,进步生产力。库中只显现任何给定运用程序的最新版别,规划人员只能装置或晋级到所支撑的最新版别。当然充分利用的最好办法是确保有丰厚的有用代码库。赛灵思在库中植入了一整套十分有用的实用东西和集成脚本,可供用户当作范本研讨,把握怎么构建自己的可重用Tcl脚本。

运用赛灵思Tcl库的Tcl运用程序简略且便利。赛灵思的方针是鼓舞世界各地的开发团队运用和同享Tcl库,进步生产力。

向Tcl库供给代码

有两种途径可向Tcl库供给代码,让脚本供一切的Vivado规划套件用户运用。第一个途径是修正现有的运用程序。第二个途径是开发新运用程序,然后提交新运用程序恳求。要供给代码给Tcl库,用户需求对用于版别操控的软件开发东西有必定了解,或至少有学习志愿。

每个运用程序都由一个人操控,一般是编写大部分代码的人,也称为“运用程序担任人”。赛灵思库在全体上由赛灵思操控,且赛灵思公司担任保护把运用程序发布到公共域的流程,以坚持各运用程序之间的根本一致性。赛灵思职工起着质量确保“守门员”的效果。

想要修正现有运用程序或添加新运用程序的“供给人”可与“守门员”和运用程序责任人协作,遵从与其他开源项目相同的流程,完结提交作业。在代码保管网站上有个维基(wiki)用于把这个流程构成文档。

一切代码提交都应满足根本要求。赛灵思尽量让随时或许产生变化的根本要求项目坚持简练,一起确保合理的用户体会。下面是用户需求遵从的根本运用程序要求:

遵从根本的编码办法攻略,把进程与不运用或拜访大局变量的指令行参数协作运用。

在进程内包括根本文档,用于描绘进程的功用、运用的指令行参数和回来的成果。

确保代码经过语法检查和Vivado规划套件供给的lint东西的检查。

对每个进程至少进行一次根本测验,确保代码的运转和行为根本契合预期。

GITHUB上的TCL库

赛灵思Tcl库保管在名为GitHub.com的第三方网站上。该库运用版别操控东西来确保散布开发作业以可控办法进行。这个进程的要害便是Git,一种常见的开源散布式版别操控东西,常用于Linux。假如要拜访Tcl库以提交和测验代码,能够在GitHub.com上注册一个免费账号,装置和设置Git。GitHub供给供Windows PC机运用的Git东西装置版别。Linux机器一般现已装置有,或是可经过规范软件包装置。GitHub供给辅导资料,协助用户入门Git。

用户注册得到GitHub账号后,就能够按下列进程向Tcl库供给代码:

1. 仿制赛灵思Tcl库主库。这样能够在用户的测验环境(Sandbox)中创立一个本地复本,便于用户在本地开发和测验,防止给其他运用程序形成影响。

2. 遵从依照运用程序称号及企业或GitHub称号建立的指引,把自己的新代码放在正确的目录中。运用规范Git添加指令。

3. 运用本地库中的Vivado规划套件,调用注册代码和生成Catalog.xml文件所需的指令。这是用户所需的三个文件之一。另两个是软件包索引文件和Tcl索引文件。

4. 在另一个方位翻开Vivado规划套件,转到本地库,然后测验自己的运用程序。运转Linter和本地测验,直至对一切运转状况满足停止。

5. 承认修正,并供给信息扼要介绍所做的改动。

6. 发送恳求答应提交代码到tclstore@xilinx.com的电子邮件。阐明是否想要创立新运用程序,预备怎么命名该新运用程序。假如想要修正现有运用程序或是把代码供给给现有运用程序,应清晰阐明。别的需求获得运用程序担任人的答应。

7. 运用Web阅读器转到GitHub.com,宣布拉恳求。这样会正式发动把用户供给的代码合并到库中的流程。应适当与“守门员”和运用程序担任人协作,经过GitHub和电子邮件处理任何问题。

8. 祝贺!协助咱们是一件高兴的作业。

image002.jpg

图2:赛灵思Tcl库提交运用程序的作业流程历经几个非接连进程

图2所示的是提交运用程序的作业流程示意图。

细枝末节

赛灵思Tcl库归于开源库,没有为商业化供给的代码或用供给的代码收费供给机制。提交给Tcl库的运用程序能够经过开源项目中常用的BSD答应证,供各类衍生著作免费运用。为便于供给的代码被咱们承受和发布,向Tcl库供给的代码应包括BSD答应证的版别。假如有企业或用户不想把自己的知识产权发布到公共域,Vivado规划套件也可照搬宣布拉恳求前测验作业所选用的机制,为本地版别的Tcl库供给支撑。

此外因为该项目运用GitHub进行保管,提交人在注册账号时有必要赞同GitHub的服务条款,因为这归于第三方服务。

运用程序库中的运用程序由用户社区开发和支撑。这意味着赛灵思技能支撑部未承受过与该功用有关的训练,无法回答与Tcl代码有关的问题。请直接把这些运用程序的支撑性问题提交到赛灵思用户论坛上。假如发现代码段中存在的缺点或问题,能够直接在GitHub.com项目中存案并盯梢。因为这归于开源开发形式,咱们鼓舞用户修正这些问题,改进代码质量,为一切用户谋福,就好像Linux相同。

开展规划

Vivado 2014.1版别推出Tcl库仅仅一个开端。赛灵思本年将不断改进Tcl库,执行其查找运用程序和进程的才能,简化功用查找作业。赛灵思将供给一种无需装置运用程序即可阅读和检查源代码的途径。此外赛灵思还考虑供给一种点评机制,用户可鉴定一星到五星等级,并可挑选供给书面评语。这样便于人们为较受欢迎的代码留下反应定见。

赛灵思还预备依据运用类别供给挑选功用,完结更好的分类。例如按仿真、归纳、完结、项目和网表实用东西分类。跟着库规划越来越大,赛灵思或许会添加分类数量,丰厚运用程序类别,以表现提交的代码的多样性。

赛灵思期望尽量简化运用程序的提交作业,因而或许会探究让用户经过电子邮件提交Tcl脚本的途径,然后尽量削减支撑作业量,防止绕道GitHub。这个进程的无控性质与现在的装置计划不对接,故仅仅作为比如介绍。

世界各地有不计其数的用户在运用Vivado规划套件,有数以百计的企业现已选用UltraFast规划办法。赛灵思Tcl库供给了一个新的开源项目,旨在让赛灵思、赛灵思协作伙伴和客户之间同享Tcl脚本,然后能够进一步进步规划人员生产力。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/287913.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部