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