在實(shí)際的芯片項(xiàng)目中,AMBA中AXI/AHB/APB BUSMATRIX總線矩陣被普遍應(yīng)用。對(duì)于這些BUSMATRIX如果 自己手動(dòng)寫,會(huì)花費(fèi)很多的工作量。通常我們對(duì)這些BUSMATRIX是通過工具進(jìn)行配置和生成。
下面介紹一套BUSMATRIX總線矩陣生成工具 gen_abma.
gen_amba是一組用于生成AMBA總線Verilog-HDL的程序,其中包括AMBA AXI、AMBA AHB和AMBA APB。
gen_amba_axi:用于多主機(jī)和多從機(jī)的AMBA AXI總線生成器,支持AMBA AXI4和AXI3。
gen_amba_ahb:用于多主機(jī)和多從機(jī)的AMBA AHB總線生成器。
gen_amba_apb:用于生成AMBA AXI或AHB的AMBA APB總線橋接器生成器。
gen_amba_axi
它生成AMBA AXI switch
$ ./gen_amba_axi -h [Usage] ./gen_amba_axi [options] -M,--master=num num of masters (default: 2) -S,--slave=num num of slaves (default: 2) -D,--module=str module name (default: "amba_axi_mXsY") -P,--prefix=str prefix of module (default: none) -O,--output=file output file name (stdout if not given) -3,--axi3 force to use AXI3 (AIX4 by default, if not given) -g,--verbose=num verbose level (default: 0) -v,--version print version -l,--license print license message
-h print help message
'--prefix'選項(xiàng)用于在內(nèi)部模塊中使用前綴,這樣可以通過防止多個(gè)定義模塊的警告在同一設(shè)計(jì)中使用多個(gè)AXI總線。
'--axi3'選項(xiàng)強(qiáng)制生成AMBA AXI3,該選項(xiàng)使用'AxLENG[3:0]'、'AxLOCK[1:0]'和'WID[..]',而不使用'--axi3'選項(xiàng)時(shí),'gen_amba_axi'生成AMBA AXI4。
gen_amba_ahb
這個(gè)產(chǎn)生AMBA AHB bus.
$ ./gen_amba_ahb -h [Usage] ./gen_amba_ahb [options] -T,--lite AMBA AHB-lite -M,--master=num num of masters (default: 2) -S,--slave=num num of slaves (default: 2) -D,--module=str module name (default: "amba_ahb_mXsY") -P,--prefix=str prefix of module -O,--output=file output file name (stdout if not given) -g,--verbose=num verbose level (default: 0) -v,--version print version -l,--license print license message -h print help message note: amba_ahb_lite_s? for -M 1
'--prefix'選項(xiàng)用于在內(nèi)部模塊中使用前綴,這使得可以在同一設(shè)計(jì)中使用多個(gè)AHB總線,通過防止多個(gè)定義模塊的警告。
gen_amba_apb
這個(gè)產(chǎn)生 AMBA AHB2APB或者AXI2APB
$ ./gen_amba_apb -h [Usage] ./gen_amba_ahb [options] -X|H,--axi|ahb make "axi_to_apb" or "ahb_to_apb" (axi if not given) -S,--slave=num num of APB ports (default: 2) -D,--module=str module name (default: "axi_to_apb_sX" or "ahb_to_apb_sX") -P,--prefix=str prefix of sub-module name (none if not given) -O,--output=file output file name (stdout if not given) -g,--verbose=num verbose level (default: 0) -v,--version print version -l,--license print license message -h print help message
'--prefix'選項(xiàng)使用前綴為內(nèi)部模塊命名,從而可以在同一設(shè)計(jì)中使用多個(gè)APB總線,并防止多個(gè)定義模塊的警告。
嘗試下效果
AXI內(nèi)部部分狀態(tài)機(jī)
AHB2APB接口信息
AHB2APB內(nèi)部部分狀態(tài)機(jī)
審核編輯:黃飛
-
總線
+關(guān)注
關(guān)注
10文章
2851瀏覽量
87847 -
狀態(tài)機(jī)
+關(guān)注
關(guān)注
2文章
490瀏覽量
27438 -
橋接器
+關(guān)注
關(guān)注
0文章
77瀏覽量
45332
原文標(biāo)題:干貨!介紹一套AMBA BUSMATRIX總線矩陣生成腳本工具!
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論