perl脚本运用:002循环打印

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、脚本的使用

  1. 复制个代码保存为rr_print.pl文件中
  2. 将rr_print.pl放置在Linux环境中的一个目录下:
  3. 在terminal终端中设置执行权限: chmod a+x  rr_print.pl
  4. 在terminal终端中执行命令:perl rr_print.pl

perl脚本运用:002循环打印