数字IC设计脚本编程系列——Perl基本概念

Posted 数字芯片实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字IC设计脚本编程系列——Perl基本概念相关的知识,希望对你有一定的参考价值。


在IC设计中,Perl是一种用于文本处理的脚本语言。


Perl是一种解释型语言,这意味着不需要编译就可以直接运行。


如果你的系统安装了perl。 输入以下命令可以看到关于Perl的版本信息,例如:


Perl脚本是一个文本文件,可以直接在命令行中执行

 perl script.pl

来执行perl程序。


PERL─语法概述


Perl程序由一系列从顶部至底部的声明和语句(例如循环,子程序和其他控制结构等)组成。


每个简单的语句都必须以分号(;)结尾。

 

我们可以通过交互式模式来执行Perl脚本:

数字IC设计脚本编程系列——Perl基本概念


也可以通过脚本模式执行Perl脚本:

数字IC设计脚本编程系列——Perl基本概念



在执行Perl脚本之前,要更改脚本文件的执行权限,通常是:

 

$chmod 755 hello.pl

 

然后执行 ./hello.pl


数字IC设计脚本编程系列——Perl基本概念


可以在任何普通的文本编辑器中创建Perl脚本。


作为Perl的规定约定,必须使用.pl.PL文件扩展名保存Perl文件。Perl文件名可以包含数字,符号和字母,但不得包含空格。在空格的位置使用下划线(_)代替。

 

 

考虑下面的一个Perl脚本:

数字IC设计脚本编程系列——Perl基本概念


这是因为Perl中单引号和双引号存在差异。双引号中可以解释变量和特殊字符(如换行符 n),而单引号则不能。查看下面示例,用于打印该变量的值:

数字IC设计脚本编程系列——Perl基本概念

PERL─数据类型

标量:标量是简单的变量。它们前面有一个美元符号($)。

数组:数组是从0开始使用数字索引访问的有序列表。它前面有一个“@”符号。

哈希表:哈希表是使用键访问的无序键/值对集合。它前面有百分号(%)。



PERL─变量


 

变量用于存储值。这意味着创建一个变量就是在内存中根据变量的数据类型保留一些空间。


因此,我们将在Perl中使用三种类型的变量。标量变量跟在美元符号($)之后,它可以存储数字,字符串。数组变量以符号@开头,它可以存储有序的标量列表。Hash变量以符号%开头,用于存储键/值对的集合。

 

Perl将每个变量类型保存在单独的命名空间中。所以不用担心同名不同类型变量之间的冲突。这意味着$ foo@foo是两个不同的变量


Perl中等号(=)用于为变量赋值。

=运算符左边的操作数是变量的名称,右边是存储在变量中的值。 例如:

$age = 25 ; #An integer assignment$name = “John Paul” ; #A string$salary =1445.50 ;         #Afloating point

 

这里25“John Paul”1445.50是分别给$age$name$salaryvariables分配的值。


标量可能是整数,浮点数,字符,字符串。它可以是任何东西,但只有一个元素。

以下是使用标量变量的简单示例:

数字IC设计脚本编程系列——Perl基本概念


数组是存储有序列表的变量。数组变量前面有(@)标志。下面是一个使用数组变量的简单示例,通过变量进行引用:

@ages = (25 , 30 , 40) ;@names = (“John Paul” , “Lisa” , “Kumar” );print "$ages[0] = $ages[0]
";print "$ages[1] = $ages[1]
";print "$ages[2] = $ages[2]
";print "$names[0] = $names[0]
";print "$names[1] = $names[1]
";print "$names[2] = $names[2]
";

我们在$符号之前使用了符号来打印它。


数字IC设计脚本编程系列——Perl基本概念


哈希是一组键/值对。哈希变量前面有百分号(%)符号。

使用哈希变量名称后跟“键”引用哈希的单个元素。

下面是一个使用哈希变量的简单示例:

%data = (‘John Paul’ , 45 , ‘Lisa’, 30 , ‘Kumar’, 40) ;print "$data{'John Paul'} = $data{'John Paul'}
";print "$data{'Lisa'} = $data{'Lisa'}
";print "$data{'Kumar'} = $data{'Kumar'}
";

数字IC设计脚本编程系列——Perl基本概念

数字IC设计脚本编程系列——Perl基本概念







以上是关于数字IC设计脚本编程系列——Perl基本概念的主要内容,如果未能解决你的问题,请参考以下文章

cpu设计过程

perl在IC领域应用—复制多行通配符替换为数字

数字ic验证|SoC的功能验证

数字ic验证|SoC的功能验证

数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例

如何通过Perl脚本随时随地得知项目进展状态--Perl 发送邮件