设计类—BusMatrix生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、工具下载
  • 二、文件说明
  • 三、脚本配置说明
    • 1.BuildBusMatrix使用
    • 2.配置项说明
    • 2.地址remap
  • 总结


前言

在实际芯片项目中,BUSMARTIX总线矩阵一般不会手写,全部是工具配置生成的。本文就以ARM家的开源工具简单说下总线矩阵的生成方法。


一、工具下载

下载链接: https://download.csdn.net/download/lhr1127/86507234

二、文件说明

文件名称 功能描述
README.txt 脚本说明文件
bin/BuildBusMatrix.pl 总线矩阵生成perl脚本
bin/lib perl脚本使用lib文件夹
verilog/src 总线矩阵源代码
verilog/built 生成的总线矩阵代码目录
xml/example2x3_*.xml 2x3full xml配置文件

三、脚本配置说明

1.BuildBusMatrix使用

可使用如下命令生成代码:
使用xml文件夹中的example2x3_full.xml配置文件生成总线代码。

> cd logical/cmsdk_ahb_busmatrix
> bin/BuildBusMatrix.pl -help
> bin/BuildBusMatrix.pl -xmldir xml -cfg example2x3_full.xml -over -verbose

2.配置项说明

配置名称 功能描述
architecture_version AHB版本
arbitration_scheme 仲裁机制:burst/fixed/round
routing_data_width 数据位宽
routing_address_width 地址位宽
user_signal_width 用户信号位宽
bus_matrix_name busmatrix总线名称
input_stage_name 输入部分代码名称
matrix_decode_name 矩阵解码部分代码部分名称
output_arbiter_name 输出仲裁代码部分名称
output_stage_name 输出部分代码名称

2.地址remap

在地址remap中有三种定义:move、alias和none

配置名称 功能描述
move 地址段重映射,跳转至新地址段
alias 地址段重映射过程中,保持不变
none 地址段不重映射

REMAP有4个bit,bit="x"表示REMAP受第x比特控制,当REMAP[x]=0时不重映射,当其为1时进行地址重映射


总结

BusMatrix脚本使用方法就介绍到这里,掌握了本节内容就可快速生成BusMatrix代码。

你可能感兴趣的:(设计类,pip)