电子说
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条评论
快来发表一下你的评论吧 !