Verilog編碼過程中會(huì)存在有規(guī)律的代碼,其中不少代碼不適合用for循環(huán)實(shí)現(xiàn)。如MAC、PCS模塊里就有很多重復(fù)有規(guī)律的模塊例化,此時(shí)使用Perl循環(huán)打印能夠提高效率,減少筆誤。
1.腳本原理
將要例化的代碼賦值給變量inputdata,將需要替換的例化模塊數(shù)字寫成#b,將信號(hào)名稱寫成#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.腳本的使用
1)復(fù)制個(gè)代碼保存為rr_print.pl文件中
2)將rr_print.pl放置在Linux環(huán)境中的一個(gè)目錄下:
3)在terminal終端中設(shè)置執(zhí)行權(quán)限:chmod a+x rr_print.pl
4)在terminal終端中執(zhí)行命令:perl rr_print.pl 本文中的案例很簡(jiǎn)單,大家完全可以實(shí)現(xiàn)更加復(fù)雜的代碼打印,例如使用多個(gè)for循環(huán)嵌套再加上一些條件判斷,足以滿足大部分日常需求。
審核編輯:湯梓紅
-
Linux
+關(guān)注
關(guān)注
87文章
11207瀏覽量
208717 -
Verilog
+關(guān)注
關(guān)注
28文章
1343瀏覽量
109925 -
代碼
+關(guān)注
關(guān)注
30文章
4722瀏覽量
68231 -
腳本
+關(guān)注
關(guān)注
1文章
387瀏覽量
14811
原文標(biāo)題:Perl的應(yīng)用:打印有規(guī)律的代碼
文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論