已经了解了,CortexM0只有一个AHB-lite master,没有bus matrix

接下来还需要弄清decoder和AHB-lite的关系


目录

AHB协议

bus interconnection

CMSDK提供的IP

AHB emample slave

需要改动的地方

decoder:产生一个sel信号

AHB salve multiplexer:反馈给master

具体步骤

理解cmsdk example slave代码

添加到rtl目录中

vcs的filelist常用的选项

添加到filelist

修改Decoder

M0地址空间分配

代码编写

修改 slave mux

顶层模块修改

修改slave mux

修改decoder

例化example ahb slave

信号添加




AHB协议

bus interconnection

CMSDK提供的IP

AHB emample slave

提供了ahb interface 以及slave reg

需要改动的地方

decoder:产生一个sel信号

AHB salve multiplexer:反馈给master

具体步骤

理解cmsdk example slave代码

添加到rtl目录中

vcs的filelist常用的选项

-y 选项:在该目录下查找模块

-y <directory_pathname>
   Specifies a Verilog library directory to search for module definitions.

也就是将模块的定义放在这个地方

举例:

-y ../../../logical/cmsdk_apb_timer/verilog

在这个目录下存放的就是cmsdk_apb_timer.v模块

+incdir+选项:在该目录下查找`inlcude *****包含的文件

+incdir+<directory>
   Specifies the directories that contain the files you specified with 
   the `include compiler directive. You can specify more that one 
   directory, separating each path name with the + character.

举例:

+incdir+../verilog

在这个目录下查找模块中`include 包含的文件

+libext+选项:指定搜索的扩展名,使用-y选项的时候使用

+libext+<extension>
   Specifies that VCS only search the source files in a Verilog library 
   directory with the specified extension. You can specify more than one 
   extension, separating each extension with the + character.
   For example, +libext++.v specifies searches library files with no 
   extension and library files with the .v extension.
   Enter this option when you enter the -y option.

举例:

+libext+.v+.vlib

-y选项搜索的文件扩展名为.v文件

添加到filelist

首先将该该IP复制然后修改名称

然后在filelist文件中添加(可以手动添加文件,此时需要将三个.v文件都手动添加)

-y ../../../logical/cmsdk_ahb_eg_slave_my/verilog

修改Decoder

Abstract : This module performs the address decode of the HADDR from the
           CPU and generates the HSELs' for each of the target peripherals.

M0地址空间分配

这是M0推荐的地址空间分配

已经分配的地址空间为:

所以分配0xA000_0000~0xA000_0FFF(4K地址空间)

代码编写

在相应的位置添加如下代码

修改 slave mux

顶层模块修改

修改slave mux

参数

输入输出端口

修改decoder

参数定义

传参数

输入输出端口

例化example ahb slave

信号添加

哈哈,然后make compile进行编译,会发现有一些语法上面的错误,但是思路上是正确的~~~,把语法改变就可以了~~~

这样样例example slave就集成好了~~

对样例SoC集成example salve模块相关推荐

  1. 使用M0 DesignStart 的样例SoC(example system) - 3 verdi环境配置

    对样例SoC配置verdi,用其进行debug 目录 使用verdi快速启动,节省编译时间 使用verdi快速启动,节省编译时间 首先VCS能够工作的前提是有filelist(vcs使用-f参数), ...

  2. livy使用样例_hue 集成spark+livy

    hue 集成spark+livy 一.先决条件 安装hue.hadoop. 二.spark on yarn 安装 1.添加环境变量 vim /etc/profile SCALA_HOME=/opt/s ...

  3. ESB项目培训样例说明

    公司项目整体分为两类:一类是产品加交付类项目,另一类为产品加培训类项目.公司所有的解决方案都离不开ESB企业服务总线,所以不管是技术人员还是研发人员对ESB的产品功能都要非常了解,因为在涉及到ESB项 ...

  4. SAP MM 模块调研问卷样例

    SAP MM模块调研问卷样例 此问卷的目的是了解客户管理的现状以及管理水平,发现其中的问题及需改进之处,了解企业对现时管理咨询的需求,通过问卷的评估,对目前管理各方面作出描述,对客户需求作出分析,从而 ...

  5. 使用SALT-API进入集成开发的简单样例

    测试的时候,可以CURL -K,但真正作集成的时候,却是不可以的. 必须,不可以让TOKEN满天飞吧. 现在进入这个阶段了.写个样例先: import salt import salt.auth im ...

  6. SpringBoot专栏:集成mybatis以及restful风格样例演示(第8讲)

    重点讲解下restfull风格,然后快速集成下mybatis,最后会提供下项目实战中一年应用的样例,欢迎点评 什么是REST 一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件. ...

  7. HLS-Demo IOS 视屏直播样例

    from: https://github.com/yangchao0033/HLS-Demo/blob/master/README.md demo简介:如果觉得文章有用的话,请读者在github上点个 ...

  8. 推荐TensorFlow2.0的样例代码下载

    TensorFlow推出2.0版本后,TF2.0相比于1.x版本默认使用Keras.Eager Execution.支持跨平台.简化了API等.这次更新使得TF2.0更加的接近PyTorch,一系列烦 ...

  9. SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)...

    做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...

  10. ApiSix基础入门:协议解析-样例详解

    一 .http协议配置 1.反向代理测试 ①启动一个正常的web服务器 也可以使用已经安装的openresty #启动web服务器 默认80端口 /usr/local/openresty/bin/op ...

最新文章

  1. pip 指定 安装源
  2. java中用byte[]数组实现的队列和用Byte[]实现的队列实际占用空间对比
  3. .NET Core容器化开发系列(一)——Docker里面跑个.NET Core
  4. saltstack 管理mysql_saltstack自动化运维系列④之saltstack的命令返回结果mysql数据库写入...
  5. 掌控谈话~拔刺(说出你对我的指控)
  6. Ubuntu 16.04 安装phpmyadmin以及注意事项
  7. AndroidMVP
  8. linux max 函数,sched_get_priority_max()函数 Unix/Linux
  9. 嵌入式Linux系统编程学习之二十七线程的创建和退出
  10. 如何将python数据输入到excel中_如何使用python将大量数据导出到Excel中的小技巧之一...
  11. jdbc编程遇到文件上传
  12. lwip协议栈源码分析之pbuf
  13. C语言从入门到精通——初阶6 指针
  14. 仿宋GB_2312字体在wps,office中的安装下载使用
  15. mshflexgrid如何删除当前鼠标选择的行,并且一并删除行所对应的数据库中的记录
  16. Python将txt数据写入excel【分列】
  17. 将jmeter响应结果中部分数据保存到本地文件
  18. PUNCH图剖分浅析
  19. PAMI-2021:5篇顶级GNN论文
  20. MATLAB差影法的人体姿态识别

热门文章

  1. 异常:The JSP specification requires that an attribute name is preceded by whitespace
  2. 人生如逆旅,我亦是行人。—第五天
  3. 挑战七大排序算法-03选择排序
  4. 编写一个程序对Largest函数进行测试,找出一组数据的最大值
  5. node scripts/install.js 安装失败解决办法
  6. 华为荣耀畅玩7安卓系统升级为鸿蒙系统,华为EMUI系统迎来绝唱!内核升级为鸿蒙,荣耀被彻底放弃?...
  7. 面试官:说一下什么是熔断?什么是服务降级?
  8. Android app开发:代码切换移动数据走SIM1/SIM2
  9. mysql ndb集群_mysql的ndb集群
  10. workflow (1)