没有合适的资源?快使用搜索试试~ 我知道了~
Lab06_CPU总线接口支持1
需积分: 0 0 下载量 17 浏览量
2022-08-03
21:46:10
上传
评论
收藏 821KB PDF 举报
温馨提示
试读
11页
1. addr[1:0]=2’b00 时,可能的组合: 2. addr[1:0]=2’b01 时,可能的组合: 3. addr[1:0]=2’b10 时,可能的
资源详情
资源评论
资源推荐
1
版本历史
文档更新记录
文档名:
Lab06_CPU 总线接口支持
版本号
V0.1
创建人:
计算机体系结构研讨课教学组
创建日期 :
2017-11-20
更新历史
序号
更新日期
更新人
版本号
更新内容
1
2017/11/20
邢金璋
V0.1
初版。
文档信息反馈: xingjinzhang@loongson.cn
2
1 实验六 CPU 总线接口支持
在学习并尝试本章节前,你需要具有以下环境和能力:
(1) 较为熟练使用 Vivado 工具。
(2) 一定的 CPU 设计与实现能力。
通过本章节的学习,你将获得:
(1) AXI 协议的知识。
(2) CPU 总线接口设计的知识。
在本章节的学习过程中,你可能需要查阅:
(1) 参考资料“AMBA 总线协议”。
(2) 课本上总线知识。
在开展本次实验前,请确认自己知道以下知识:
(1) 总线协议的握手的概念。
(2) AXI 协议中握手信号 ready 和 valid 的概念。
(3) AXI 协议 5 个通道的概念。
(4) AXI 协议各控制信号的意思。
本次实验有以下几个坑,请在碰到问题时注意查看:
(1) 对 AXI 接口的 ar、aw、w 通道,如果 master 先置上了 valid,但没有收到对应的 ready,也就是握手失败
了,但这时不能更改该通道的其他信号。比如 arvalid 置上时,未看到 arready,master 不能更改 araddr。
也就是 AXI 一旦发起请求,就不能撤销或更改请求,直至请求握手完成。
(2) 但是第一阶段我们设定的类 SRAM 接口,却只保证 req&addr_ok 有效时,也就是握手成功时,addr 和
wdata 是有效的。其他时候,即使 req 有效,但 addr_ok 为 0,addr 和 wdata 也是 x。这样的设定虽然对
第一阶段实验而言比较麻烦,却方便了第二阶段的实现。
(3) Lab6 上板运行时,可以根据拨码开关更改随机种子。所以有可能上板运行时,更改了随机种子,测试就
跑不过了。这一情况在第一阶段可能比较少碰到,但在第二阶段应该会普遍碰到。一旦碰到,就需要仿
真设定相同随机种子,来仿真复现该错误进行 debug。
以下几点,第一阶段可能碰不到,但第二阶段可能会碰到,最好可以提前考虑下:
(1) AXI读写分类,对先写后读,可能读先完成的。也就是先写后读,且写读同一地址,如果在写为收到 b 通
道时就发出了读的 ar 通道,那就有可能读出旧值,这是不正确的。类似的,先读后写,且读写同一地址,
读未完成,写就发出了,那有可能读到写后的值,这也是不正确的。
1.1 实验目的
1. 掌握片上总线的一般性原理。
2. 掌握总线接口与 CPU 内部流水线之间的相互关系。
1.2 实验设备
1. 装有 Xilinx Vivado、MIPS 交叉编译环境的计算机一台。
2. 龙芯体系结构教学实验箱(Artix-7)一套。
3
1.3 实验任务
为 myCPU 增加 AXI 总线支持,完成功能测试,并支持运行一定的应用程序。
本次实验分两周完成,第一周(2017 年 11 月 28 日检查),需要完成:
(1) 完全带握手的类 SRAM 接口到 AXI 接口的转换桥 RTL 代码编写。
(2) 通过简单的读写测试。
第二周(2017 年 12 月 5 日检查),需要完成:
(1) CPU 顶层修改为 AXI 接口。CPU 对外只有一个 AXI 接口,需内部完成取指和数据访问的仲裁。
(2) 集成到 SoC_AXI_Lite 系统中。
(3) 完成功能测试。
(4) 在 myCPU 上运行 lab4 的电子表程序,要求能实现相同功能。
1.4 实验环境
本实验第一周的实验环境如下(黄色部分为实验内容),记为 cpu_axi_ifc_dev。
模拟CPU读写序列
类SRAM-AXI转换桥
模拟取
指端口
模拟数
据端口
AXI接口的RAM(随机延迟)
类SRAM
Slave端
类SRAM
Slave端
AXI
Master端
类SRAM
Master端
类SRAM
Master端
AXI
Slave端
图 1-1 cpu_axi_ifc_dev 环境示意
本实验第二周的实验环境基于 ucas_CDE_v0.3,其中的 mycpu_verify 的环境不再使用 SoC_Lite 系统,而是使
用 SoC_AXI_Lite 系统,该系统如下(黄色部分为实验内容)。生成 golden_trace 的部分与原先相同,依然基于
SoC_Lite。测试程序为 lab5_func_2 的更新,本次只有一块 RAM,只用加载 inst_ram.coe 即可(功能测试程序与数
据段)。
剩余10页未读,继续阅读
UEgood雪姐姐
- 粉丝: 32
- 资源: 319
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0