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