被称作“胶水语言”的PERL,在芯片设计和验证中可以这样使用

最近在做一个验证环境的自动化生成脚本,在写的过程中,随着对PERL认知程度的增加,越感到它的强大之处,今天我们来谈一谈这门语言。

被称作“胶水语言”的PERL,在芯片设计和验证中可以这样使用

PERL(Practical Extration and Reporting Language)

PERL是Practical Extration and Reporting Language的缩写。它是一种通用的应用广泛的编程语言, 凡是其他编程语言能够使用的场合, 它都可以使用。它的最为特殊的优点是能把各种应用软件工具连接在一起, 因此也被称作“胶水语言”。

被称作“胶水语言”的PERL,在芯片设计和验证中可以这样使用

PERL的特点

PERL的特点主要有以下几个方面:

  1. 与脚本语言一样,Perl不需要编译器来运行代码,要做的只是写出程序,并告诉Perl来运行;
  2. Perl语言是UNIX系统上最常使用的数据处理工具。该语言本来的目的就是为了取代UNIX中的sed(或awk)与shell的结台。在UNIX系统中,Perl语言提供了强有力的搜索字符串模式的功能。它有很多文件搜索命令,使用这些命令可以非常方便地从文件中进行信息检索,并可将这些命令相互结合来完成所需的任务;
  3. Perl语言是一种编程语言,它能非常方便地处理和加工数据,并含有非常丰富的函数,覆盖了输入/输出、字符串处理和数组处理等各方面,可以使用Perl语言来编写出实用和简洁的程序;
  4. Perl语言拥有与C语言十分类似的运算符和流程控制,并被大多数人所熟悉,降低编写程序的难度;
  5. 因为其设计的初衷是为了处理文本,所以其在文本处理方面的能力十分强悍。这一特点就决定了PERL特别适合在芯片设计和验证中使用;
  6. 支持模块化。这使得PERL可以非常灵活的被调用。

PERL的使用

在设计和验证过程中,PERL都能发挥强大的功能。

在逻辑设计中,能够用PERL程序对HDL语言做扩充,加快编码过程,并能减少人工的失误。还能用PERL产生部分代码,尤其是生成需要较复杂计算、规律性强而又容易出错的代码。例如常用的always@(posedge clk or negedge rst_n),配对产生的begin-end,a0~a100的操作等等,都可以使用PERL,来直接生成。

在芯片的开发周期中,验证时间占70%以上,这说明了验证工作量十分巨大。例如激励的产生、批量测试的数据比较等工作,往往具有数据量大,操作繁琐,易出错的特点。如果用PERL程序进行处理,能够将上述复杂的操作变成简单的命令,且具有以下特点:

  1. 不容易出错,如果有错误,只需要修改程序,不用改动源码;
  2. 良好的数据一致性,用程序生成的数据可以保持一致性,要纠错变更则统一改变, 不会留下死角;
  3. 自动的数据转换程序,可以输出符合Verilog要求的任何数据表示法, 不需要人工转换;
  4. 自动的数据取整,可以根据需要,对结果进行取整操作,四舍五人、上取整、下取整等等;
  5. 自动位宽计算,程序可以自己计算或者指定,所需的总线位宽, 不需要人工进行计算;
  6. PERL程序可以生成一个个独立的function, 然后由主控程序用module进行引用;
  7. 可以串联整个验证过程,使验证过程自动化,减少人为介入,保证验证过程的正确性,并加快验证速度。

在芯片设计过程中,良好的代码规范,以及程序结构,对保证RTL代码质量,方便代码review十分重要。比如:

  1. begin-end的缩进;
  2. 行末尾分号的对齐;
  3. inputoutput port的对齐;
  4. regwire信号声明的对齐;

类似于上面的这些工作,都可以通过PERL,批量处理,且处理结果很好。

被称作“胶水语言”的PERL,在芯片设计和验证中可以这样使用

小结

在芯片行业,不仅仅是PERL,还有CshTclPython等这些脚本语言的广泛使用,使得工作人员摆脱了很多重复性,且易出错的工作,提升了工作质量和工作效率,所以学习一门脚本语言,就显得非常有必要了。

展开阅读全文

页面更新:2024-05-24

标签:芯片   逻辑设计   语言   胶水   字符串   批量   脚本语言   文本   命令   强大   过程   代码   操作   程序   数据   工作   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top