Perl循环打印有规律的Verilog代码
Verilog编码过程中会存在很多有规律的代码,如MAC、PCS模块里就有很多重复有规律的模块例化,此时使用Perl循环打印能够提高效率,较少失误。
1.脚本原理
将要例化的代码赋值给变量inputdata,将需要替换的例化模块数字写成#b,将信号名称写成#a,采用匹配替换的方式将#a和#b替换依次替换成1、2、3
#!/usr/bin/perl
use strict;
my $inputdata =
"
npe_clk_mux2 npe_clk_mux2_inst#b
(
.clkin0 (pma_tx_clk#a ),
.clkin1 (ser_tx_clk#a ),
.sel (clk_mux_sel ),
.clkout (ser_tx_clk_out#a )
);
";
my $num = 3 ;
foreach (0..$num)
{
my $inputdata_out = $inputdata ;
$inputdata_out =~ s/#a/$_/eg ;
$inputdata_out =~ s/#b/$_/eg ;
print $inputdata_out ;
}
2、脚本的使用
- 复制个代码保存为rr_print.pl文件中
- 将rr_print.pl放置在Linux环境中的一个目录下:
- 在terminal终端中设置执行权限: chmod a+x rr_print.pl
- 在terminal终端中执行命令:perl rr_print.pl
|
请发表评论