电子说
Verilog编码过程中会存在有规律的代码,其中不少代码不适合用for循环实现。如MAC、PCS模块里就有很多重复有规律的模块例化,此时使用Perl循环打印能够提高效率,减少笔误。
1.脚本原理
将要例化的代码赋值给变量inputdata,将需要替换的例化模块数字写成#b,将信号名称写成#a,采用匹配替换的方式将#a和#b替换依次替换成1、2、3
#!/usr/bin/perl
use strict;
my $inputdata =
"
clk_mux2 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.脚本的使用
全部0条评论
快来发表一下你的评论吧 !