0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

芯片项目之BUSMATRIX总线矩阵生成工具应用

sanyue7758 来源:处芯积律 2024-03-21 10:08 次阅读

在实际的芯片项目中,AMBA中AXI/AHB/APB BUSMATRIX总线矩阵被普遍应用。对于这些BUSMATRIX如果 自己手动写,会花费很多的工作量。通常我们对这些BUSMATRIX是通过工具进行配置和生成。

下面介绍一套BUSMATRIX总线矩阵生成工具 gen_abma.

gen_amba是一组用于生成AMBA总线Verilog-HDL的程序,其中包括AMBA AXI、AMBA AHB和AMBA APB。

gen_amba_axi:用于多主机和多从机的AMBA AXI总线生成器,支持AMBA AXI4和AXI3。

gen_amba_ahb:用于多主机和多从机的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'选项用于在内部模块中使用前缀,这样可以通过防止多个定义模块的警告在同一设计中使用多个AXI总线。

'--axi3'选项强制生成AMBA AXI3,该选项使用'AxLENG[3:0]'、'AxLOCK[1:0]'和'WID[..]',而不使用'--axi3'选项时,'gen_amba_axi'生成AMBA AXI4。

df4f96ee-d576-11ee-a297-92fbcf53809c.png

gen_amba_ahb

这个产生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'选项用于在内部模块中使用前缀,这使得可以在同一设计中使用多个AHB总线,通过防止多个定义模块的警告。

df6a2f4a-d576-11ee-a297-92fbcf53809c.png

gen_amba_apb

这个产生 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'选项使用前缀为内部模块命名,从而可以在同一设计中使用多个APB总线,并防止多个定义模块的警告。

df7a9290-d576-11ee-a297-92fbcf53809c.png

尝试下效果

AXI BUSMATRIX 接口信息

df834cc8-d576-11ee-a297-92fbcf53809c.png

AXI内部部分状态机

dfa4bd2c-d576-11ee-a297-92fbcf53809c.png

AHB2APB接口信息

dfb588c8-d576-11ee-a297-92fbcf53809c.png

AHB2APB内部部分状态机

dfc470a4-d576-11ee-a297-92fbcf53809c.png

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 总线
    +关注

    关注

    10

    文章

    2706

    浏览量

    87218
  • 状态机
    +关注

    关注

    2

    文章

    486

    浏览量

    27182
  • 桥接器
    +关注

    关注

    0

    文章

    61

    浏览量

    45280

原文标题:干货!介绍一套AMBA BUSMATRIX总线矩阵生成脚本工具!

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    用MCUXpresso调试其它工具生成项目

    用MCUXpresso调试其它工具生成项目
    的头像 发表于 10-31 16:42 254次阅读
    用MCUXpresso调试其它<b class='flag-5'>工具</b>链<b class='flag-5'>生成</b>的<b class='flag-5'>项目</b>

    什么是生成矩阵

    什么是生成矩阵生成矩阵的行向量{gi}  是线性无关的,是码字集合这个k 维线性子空间的基底。由此可见,任何一个码字都是行向量的线性组合。对于系统码来说,其
    发表于 05-30 16:05

    请教!这种总线矩阵键盘如何确定总线地址?感谢!

    本帖最后由 zlkjgs 于 2016-1-6 00:48 编辑 请教!这种总线矩阵键盘如何确定总线地址?感谢!
    发表于 01-03 23:12

    如何在这种总线矩阵键盘中确定总线的地址?

    请教!这种总线矩阵键盘如何确定总线地址?感谢!
    发表于 09-09 00:02

    《电子DIY》《单片机实践项目基于51单片机的打地鼠设计与制作

    51单片机。“Proteus仿真”,“电子DIY”,“毕业设计”,“课程设计”,“实物制作”,“单片机”,“学习”,“教学视频”,“C语言”,“汇编语言”《单片机实践项目基于51单片机的打地鼠设计与制作(Proteus仿真,4*4点阵,LCD1602,
    发表于 07-20 06:46

    AHB总线矩阵构成

    主系统由 32 位多层 AHB 总线矩阵构成,可实现以下部分的互连:● 八条主控总线:— Cortex™-M4F 内核 I 总线、D 总线
    发表于 08-05 07:51

    总线矩阵是如何对系统总线和DMA进行仲裁的

    STM32的中断源有哪些呢?总线矩阵是如何对系统总线和DMA进行仲裁的?
    发表于 11-08 08:45

    STM8S芯片项目驱动层的相关资料推荐

    pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录STM8S全解析系列文章5---STM8S芯片项目
    发表于 01-27 08:31

    介绍一种芯片AES加密密钥生成工具

    芯片AES加密密钥生成工具前言:嵌入式单片机开发,为了防止别人将芯片内的代码读取出来通过反编译手段拿到源码,常用的手段是对芯片和烧录文件进行
    发表于 02-14 06:43

    怎样使用CMSDK去生成总线矩阵

    LTS系统环境下展开介绍,可以是虚拟机,可以是WSL。第一步在终端中执行或者直接在cmsdk_busmatrix/文件夹下打开终端第二步进入xml文件夹,根据使用CMSDK搭建CortexM3SoC文章中
    发表于 07-06 11:14

    PrimeCell高性能矩阵(PL301)技术概述

    (PL301)技术参考手册。 IP的这种组合提供了对其他AMBA接口协议的支持,包括AHB-Lite和APB。 使用基于AMBA Designer图形用户界面(GUI)的配置工具来设计您的母线矩阵。 然后,您可以在以下位置生成
    发表于 08-22 06:22

    状态机代码生成工具

    状态机代码生成工具状态机代码生成工具状态机代码生成工具状态机代码
    发表于 11-19 15:12 9次下载

    LCD图形生成工具

    LCD图形生成工具
    发表于 12-01 16:44 13次下载

    芯片AES加密密钥生成工具

    芯片AES加密密钥生成工具前言:嵌入式单片机开发,为了防止别人将芯片内的代码读取出来通过反编译手段拿到源码,常用的手段是对芯片和烧录文件进行
    发表于 12-09 14:36 6次下载
    <b class='flag-5'>芯片</b>AES加密密钥<b class='flag-5'>生成</b><b class='flag-5'>工具</b>

    虚拟串口生成工具

    虚拟串口生成工具
    发表于 04-28 13:56 5次下载