提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
在实际芯片项目中,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代码。