Perl等脚本语言在IC设计中有哪些用处

作者&投稿:屈朱 (若有异议请与网页底部的电邮联系)
Perl等脚本语言在IC设计中有哪些用处~

Perl是Practical Extraction and Report Language的缩写,它是由Larry Wall设计的,并由他不断更新和维护,用于在UNIX环境下编程。
Perl具有高级语言(如C)的强大能力和灵活性。事实上,你将看到,它的许多特性是从C语言中借用来的。
与脚本语言一样,Perl不需要编译器和链接器来运行代码,你要做的只是写出程序并告诉Perl来运行而已。这意味着Perl对于小的编程问题的快速解决方案和为大型事件创建原型来测试潜在的解决方案是十分理想的。
Perl提供脚本语言(如sed和awk)的所有功能,还具有它们所不具备的很多功能。Perl还支持sed到Perl及awd到Perl的翻译器。
简而言之,Perl象C一样强大,象awk、sed等脚本描述语言一样方便。

Perl脚本可以用于生成有规律的代码,如SOC地址仲裁模块verilog代码、不同规格的CRC校验verilog代码、不同规格的FIFO代码。
在芯片设计过程中,所用到的FIFO数量很多,大于100多个很常见,甚至大于500个都是存在的。而不同规格的FIFO基本都是用最基础的RAM模块来搭建实现的,如果依靠人工编写,错误率高而且效率极其低下。因此,使用perl脚本编写不同规格的FIFO代码是可靠高效的方式。
快速生成testbench:在进行功能仿真的时候,需要编写测试案例testbench,可以利用perl脚本快速生成测试案例的大部分代码,手动添加少量verilog,即可快速完成testbench的编写,有效减少工作量。
Verilog代码自动对齐:verilog代码在人工编写时全靠手敲空格符会很累,并且效率低下,采用perl脚本一键对齐,效率高节省体力。
Module例化连接:有些module模块的输入输出信号有上百条,依靠手动添加会很繁琐,此时利用perl脚本生成例化模块可以有效提高效率,降低错误率。

一般来讲,作为一个IC前端设计的工程师,了解公司已有的Perl和Python工具即可。
Perl: 有同事熟悉Perl,用Perl编写脚本在目录里搜索含固定字符串的文件。然后所有AHB Backbone RTL代码都是用Perl脚本自动生成的。
Python: 有同事喜欢Python。用Python解析XML,利用预定义模版生成UPF文件。
Tcl/tk: 有一个同事喜欢用Tcl。他觉得clearcase原生命令不够人性,用Tcl按照自己的习惯重新写了一些命令。现在大家都在用。每个大模块的DfT设定非常相似,所以所有DfT有关的代码我们都用Tcl来生成,脚本也是这个同事写的。tk是Tcl的图形化界面。理论上你可以用它开发EDA工具。

tcl一般是工具语言,EDA工具都按这种格式下约束,tcl本身就是为了配合工具使用的,没有太大的独立价值。perl一般是黑科技,公司自己内部开发脚本,用来做一些极其强大的文字处理,减少重复性工作。比如修ECO,将小design整合成大design,自动跑各种随机化的仿真,极其有用。tcl没什么语法,谈不上掌握。perl需要认真学,越精通越好。

Perl等脚本语言在IC设计中有哪些用处
答:一般来讲,作为一个IC前端设计的工程师,了解公司已有的Perl和Python工具即可。Perl: 有同事熟悉Perl,用Perl编写脚本在目录里搜索含固定字符串的文件。然后所有AHB Backbone RTL代码都是用Perl脚本自动生成的。Python: 有同事喜欢Python。用Python解析XML,利用预定义模版生成UPF文件。Tcl/tk: 有一个同事喜...

Perl等脚本语言在IC设计中有哪些用处
答:Perl是Practical Extraction and Report Language的缩写,它是由Larry Wall设计的,并由他不断更新和维护,用于在UNIX环境下编程。Perl具有高级语言(如C)的强大能力和灵活性。事实上,你将看到,它的许多特性是从C语言中借用来的。与脚本语言一样,Perl不需要编译器和链接器来运行代码,你要做的只是写...

Perl脚本在数字IC设计中有哪些应用
答:Perl脚本可以用于生成有规律的代码,如SOC地址仲裁模块verilog代码、不同规格的CRC校验verilog代码、不同规格的FIFO代码。在芯片设计过程中,所用到的FIFO数量很多,大于100多个很常见,甚至大于500个都是存在的。而不同规格的FIFO基本都是用最基础的RAM模块来搭建实现的,如果依靠人工编写,错误率高而且效率...

IC设计需要懂UNIX, Shell/perl/tcl 及 C/C++ 语言吗?为什么有单位招聘IC...
答:shell perl tcl等脚本语言,是为了批处理用的,很多仿真的什么的,如果自己一个一个做肯定很慢,用脚本写好了,提交上去了,让代码在服务器上慢慢跑,自己就可以休息了。(如regression等,这完全是为自己好,让你自己一个一个点提交,恶心死了,对于许多不关注的信息,用perl筛选下,自己看自己需要关...

数字ic设计怎么入门?
答:脚本语言如Makefile、Perl、Python、Shell和Tcl,以及EDA工具的掌握,如撰写Makefile进行项目管理,利用Perl处理复杂任务,Python的灵活性,以及Shell的高效执行,都是不可或缺的技能。基础的电子电路知识,如数电模电和电路分析,以及数据结构的理解,都是数字IC设计的必备基础。精通Linux操作系统,熟练掌握Vim...

IC怎么设计,需要用到有关软件开发的语言吗
答:1、如何设计的话你需要看一下介绍IC设计流程的书,很多的,一两句话肯定说不清楚的。2、软件开发的语言要用到的。需要matlab进行算法验证,需要c语言进行测试,需要c++编写测试界面,需要perl语言进行文件管理,需要tcl编写综合脚本等等,用到的很多。但是我觉得没必要都学的,因为在一个小组里面进行明确...

IC设计工程师的职业要求
答:教育培训:微电子、电子相关专业本科以上。工作经验:具有一定的模拟电路基础,有数模混合电路设计经验;良好的电子电路分析能力;具有soc的设计和验证的经验;精通Verilog,Tcl,C,Perl等设计语言;具有团队协作和良好的沟通能力。在IC设计行业, 人才同样是分层次的, 目前国内的大部分设计人员还属于一个很基础...

如何成为IC验证工程师,需要具备哪些能力?
答:必备技能包括:逻辑思维敏锐,对Verilog、SVA等设计验证语言的精通,Python或Perl等脚本语言的应用,以及对常见通信协议的熟悉。此外,验证流程的理解和平台搭建能力也是必不可少的。对于入门者,学习验证技能并非易事,投入时间和精力成本较高。因此,选择专业培训课程并注重实践显得尤为重要。求职过程中,项目...

IC设计职位介绍之“数字后端设计工程师”
答:由于数字后端工程师需要跑一些自动化的任务,所以掌握必要的脚本语言也是必须的,比如掌握下面知识就显得比较重要:Verilog TCL Perl Python 所有的技术类岗位,主要看的两点就是:专业技能(skills)和项目经验(experience)。所以除了上面列的这些技能,你能实际做过一两个项目,哪怕是一些小模块的后端设计...

芯片设计岗位职责
答:1、负责SOC模块设计及RTL实现。2、参与SOC芯片的子系统及系统的顶层集成。3、参与数字SOC芯片模块级的前端实现,包括DC,PT,Formality,DFT(可测)设计,低功耗设计等。4、负责数字电路设计相关的技术节点检查。5、精通TCL或Perl脚本语言优先。岗位要求:1、电子工程类、微电子类相关专业硕士研究生以上学历;5...