核间交叉矩阵模块作为系统的第一层总线结构,实现处理器核之间的高速通信,AXI总线的交叉网络作为第二层总线结构,实现核与片上外设模块之间的连接,slave接口可直接连接高速设备,构成设计的第三层总线结构。要求基于AXI协议设计交叉矩阵模块,实现多个主从设备之间的数据传输,完成将AXI总线上的三路读写请求进行仲裁及路由功能。
在此基础上增加适当的功能模块以拓展模块设计复杂度,如APB配置寄存器模块、AXI2AHB bridge模块等,要求实现的交叉矩阵模块具有创新性和一定复杂度,评估设计模块的面积、功耗、数据吞吐量及AXI接口复杂度等信息。具体说明及要求如下:
1.根据提供的模块功能需求及划分完毕的子模块设计要求,完成交叉矩阵模块的设计框图,框图中应包含具体的信号信息,数据流及控制流方向标识。
2.交叉矩阵模块功能描述及子模块划分描述如下:
交叉矩阵模块主要分为仲裁器、switch、Master与Slave接口等模块,支持outstanding transaction、incrementing burst、wrapping burst、out of order、interleaving及4K边界处理。
其中axi slave interface模块实现axi各个通道分别存入fifo, 各自输出一个数据流;axi master interface模块实现axi通道数据流转为axi各个通道数据传至下层,arbiter模块实现轮询响应不同模块request信号;switch模块实现slave ports与master ports之间的路由功能。
附加模块:
(1)AXI2AHB bridge:完成AXI协议到AHB协议的接口转换。
(2)APB config:寄存器配置模块,根据具体情况完成错误上报中断及其他寄存器功能设计。
3.在设计及仿真自测流程完毕的基础上,后端flow完成基于Innovus的APR环境搭建,完成设计初始化并检查网表、时序等,完成FloorPlan阶段对芯片面积规划以及IO port的摆放,完成时钟树单元及NDR绕线规则的指定、配置CTS相关参数及设置,配置Route相关option及参数并完成最终绕线,完成postRoute阶段的优化工作,完成PR之后的STA相关工作。要求完成后端基本流程实现,并经过多次优化,输出netlist、def和lib等文件。
4.interface description
Port | width | direction | description |
clk | 1 | input | system clk |
rst_n | 1 | input | system reset,active low |
AW channel | |||
s0_awvalid | 1 | input | Slave 0 AW channel valid |
s0_awready | 1 | output | Slave 0 AW channel ready |
s0_awaddr | 32 | input | Slave 0 AW channel address |
s0_awlen | 4 | input | Slave 0 AW channel length |
s0_awsize | 3 | input | Slave 0 AW channel size |
s0_awburst | 2 | input | Slave 0 AW channel burst type |
s0_awid | 4 | input | Slave 0 AW channel id |
W channel | |||
s0_wid | 4 | input | Slave 0 W channel id |
s0_wdata | 32 | input | Slave 0 W channel data |
s0_wstrb | 4 | input | Slave 0 W channel strb |
s0_wlast | 1 | input | Slave 0 W channel last |
s0_wvalid | 1 | input | Slave 0 W channel valid |
s0_wready | 1 | output | Slave 0 W channel ready |
B channel | |||
s0_bid | 4 | output | Slave 0 B channel id |
s0_bresp | 2 | output | Slave 0 B channel response |
s0_bvalid | 1 | output | Slave 0 B channel valid |
s0_bready | 1 | input | Slave 0 B channel ready |
AR channel | |||
s0_arvalid | 1 | input | Slave 0 AR channel valid |
s0_arready | 1 | output | Slave 0 AR channel ready |
s0_araddr | 32 | input | Slave 0 AR channel address |
s0_arlen | 4 | input | Slave 0 AR channel length |
s0_arsize | 3 | input | Slave 0 AR channel size |
s0_arburst | 2 | input | Slave 0 AR channel burst type |
s0_arid | 4 | input | Slave 0 AR channel id |
R channel | |||
s0_rid | 4 | ourput | Slave 0 R channel id |
s0_rdata | 32 | output | Slave 0 R channel data |
s0_rresp | 2 | output | Slave 0 R channel response |
s0_rlast | 1 | input | Slave 0 R channel last |
s0_rvalid | 1 | output | Slave 0 R channel valid |
s0_rready | 1 | input | Slave 0 R channel ready |
上述表格中列出Slave 0的端口信号示例,其余从机与主机接口信号基本一致,根据具体实现模块在设计文档中进行补充说明即可。
5.项目支持
主办方提供服务器及仿真相关环境支持,包括:
(1) 项目初级、中级阶段所需EDA工具支持:VCS、Verdi;AMBA协议文档参考;
(2) 项目高级阶段所需TSMC 65nm工艺库相关文件;EDA工具支持:VCS、Verdi、Design Compiler、Prime Time、StartRc、Formality、innovus等;AMBA协议文档参考。
1. 作品PPT及项目总结报告(团队介绍、团队分工、项目研发情况、设计方案的概要说明、项目成果说明);
2. 设计方案(模块功能介绍、模块设计架构图、功能划分等)及RTL代码文件,仿真波形文件及分析报告 ,要求至少实现outstanding transaction、incrementing burst功能;
中级/分赛区决赛:
1. 作品PPT及项目总结报告(团队介绍、团队分工、项目研发情况、设计方案的概要说明、项目成果说明);
2. 设计方案(模块功能介绍、模块设计架构图、功能划分等)及RTL代码文件,仿真波形文件及分析报告,要求至少实现outstanding transaction、incrementing burst、wrapping burst及out of order功能;
3. 附加模块及功能设计:AXI2AHB bridge及APB config模块设计方案及RTL代码文件,仿真波形文件及分析报告;可额外设计支持interleaving。
高级/全国总决赛:
1. 作品PPT及项目总结报告(团队介绍、团队分工、项目研发情况、设计方案的概要说明、项目成果说明);
2. 设计方案(模块功能介绍、芯片架构图、功能划分等)及RTL代码文件,仿真波形文件及分析报告,要求至少实现outstanding transaction、incrementing burst、wrapping burst、out of order及4K边界处理等功能;
3. 附加模块及功能设计:AXI2AHB bridge及APB config模块设计方案及RTL代码文件,仿真波形文件及分析报告;可额外设计支持interleaving。
4. 后端输出netlist、def和lib等文件,综合面积不超过0.3平方毫米;
以上提交内容应对照评分规则,根据自己作品的情况合理规划设计报告、设计内容以及现场答辩和演示的内容,以便评审专家更好的理解作品。
初级/初赛
内容 | 分值 | 评分依据 |
1.完成交叉矩阵模块的设计框图 | 10分 | 1.输出交叉矩阵模块的设计框图,要求设计框架结构清晰;数据流、控制流标识准确;port及子模块交互信号标识完整。(10分) |
2.完成子模块功能实现及RTL代码设计 | 60分
| 1.输出子模块spec文档及RTL代码文件,功能仿真无误,要求有仿真结果说明及详细分析。(20分) 2.各子模块重点控制信号在设计文档中应有时序说明及设计思路详解。(10分) 3.评估AXI接口的功能复杂度及数据流,获得部分分数,要求支持outstanding能力至少为3,incrementing burst长度最大256拍。(30分) |
3.答辩和现场演示 | 30分 | 1.表述清晰度和流畅度。(10分) 2.项目成果展示中的问答表现。(10分) 3.输出答辩PPT及总结报告文件。(10分) |
中级/分赛区决赛
内容 | 分值 | 评分依据 |
1.完成交叉矩阵模块的设计框图 | 10分 | 1.输出交叉矩阵模块的设计框图,要求设计框架结构清晰;数据流、控制流标识准确;port及子模块交互信号标识完整。(10分) |
2.完成子模块功能实现及RTL代码设计 | 40分
| 1.输出子模块spec文档及RTL代码文件,功能仿真无误,要求有仿真结果说明及详细分析。(10分) 2.各子模块重点控制信号在设计文档中应有时序说明及设计思路详解。(10分) 3.评估AXI接口的功能复杂度及数据流,获得部分分数,要求支持outstanding能力至少为3,incrementing/wrapping burst长度最大256拍。(20分) |
3.完成附加子模块功能实现及RTL代码设计 | 20分 | 1.输出附加子模块spec文档及RTL代码文件,功能仿真无误。(10分) 2.各子模块重点控制信号在设计文档中应有时序说明及设计思路详解。(10分) |
4.答辩和现场演示 | 30分 | 1.表述清晰度和流畅度。(10分) 2.项目成果展示中的问答表现。(10分) 3.输出答辩PPT及总结报告文件。(10分) |
高级/全国总决赛
内容 | 分值 | 评分依据 |
1.完成交叉矩阵模块的设计框图 | 10分 | 1.输出交叉矩阵模块的设计框图,要求设计框架结构清晰;数据流、控制流标识准确;port及子模块交互信号标识完整。(10分) |
2.完成子模块功能实现及RTL代码设计 | 30分
| 1.输出子模块spec文档及RTL代码文件,功能仿真无误。(5分) 2.各子模块重点控制信号在设计文档中应有时序说明及设计思路详解。(5分) 3.评估AXI接口的功能复杂度及数据流,获得部分分数,要求支持outstanding能力至少为3,incrementing/wrapping burst长度最大256拍。(20分) |
3.完成附加子模块功能实现及RTL代码设计 | 10分 | 1.输出附加子模块spec文档及RTL代码文件,功能仿真无误。(5分) 2.各子模块重点控制信号在设计文档中应有时序说明及设计思路详解。(5分) |
4.完成交叉矩阵模块后端物理实现流程 | 30分 | 1.完成后端基本流程,并展示优化方案。(5分) 2.输出netlist、def和lib等文件。(10分) 3.评估模块的时序、功耗、面积以及物理设计规则等是否满足signoff要求,基本要求综合频率达到200Mhz,面积不超过0.3平方毫米。进阶要求满足以上3项要求且综合频率大于200MHz以及按照实际面积排序最小。(15分) |
5.答辩和现场演示 | 20分 | 1.表述清晰度和流畅度。(8分) 2.项目成果展示中的问答表现。(8分) 3.输出答辩PPT及总结报告文件。(4分) |
1. 参加企业命题杯赛的作品,杯赛出题企业有权在同等条件下优先购买参加本企业杯赛及单项奖获奖团队作品的知识产权。
2. 大赛组委会和杯赛企业对参赛作品提交的材料,在大赛相关环节中有使用权和展示权。
3. 参赛项目可以参考现有公开发表的文献和论文内容,但应当在技术论文和答辩PPT中注明来源,且不能将参考的内容作为自己作品的创新部分。