Robei赛题分析

基于Robei EDA工具的IP设计

基于国产Robei EDA工具,从架构原码开始设计,打造安全可控的数字IP,并基于该IP进行评分。

http://univ.ciciec.com/nd.jsp?id=880#_jcp=1

赛题解读

通过Robei EDA工具设计实现一款或者多款接口IP、应用于总线上的协处理器如Codec,加速器等,甚至开发RISC-V内核IP等均可以参加比赛。要求低速IP满足APB/Wishbone总线接口,高速IP满足AXI/Wishbone接口协议。

关键点:IP 总线 功能模块

是什么?

IP核:工业级的可复用组件,在这里称之为IP核的话,设计的时候需要注意其稳定性验证、接口完备、文档规范。

**通信总线:**总线协议是一组规则和标准,用于在计算机系统或嵌入式系统中的不同硬件设备之间进行数据通信,典型应用为IIC、SPI等。

总线类型典型应用场景关键特征
APB低速低功耗外设控制2-phase传输,无流水线
AXI高性能数据传输5通道分离,支持乱序执行
Wishbone开源SoC支持多种拓扑结构

**功能模块:**模块在收到指令后根据==寄存器配置和数据==执行的一系列操作,如通过编码译码、调制解调等完成音频调制和电机控制等。

怎么做

细读题目我们发现,设计的IP核需要同时满足两个核心要素:总线接口部分与功能接口部分。

即内部实现需包含的基本要素如下:

简单的总线协议解析逻辑(APB/AXI状态机)

要求能够实现IP与SoC系统间的标准化通信,包括以下基本设计要点:

协议合规性遵循时序和信号规范,如AXI协议中VALID/READY握手信号的同步机制。
状态机设计三段式状态机划分APB的IDLE、SETUP、ACCESS三态转换。
译码机制寄存器状态映射寻址地址的策略
错误处理在程序卡飞的时候可以自动复位

功能接口模块

要求实现特定领域的功能,可以选择的方向有:

计算型视频编解码/神经网络推理
控制型电机驱动/PWM波形生成
接口型传感器数据融合/无线协议转换

在设计时同样需要注意功能在算法上的实现(并行结构)、数据流的处理、状态机的使用以及异常状态的处理。

配置寄存器组(设置功能参数)

在IP核的外部和内部要求提供灵活可控的用户接口,基本需要包括以下:

控制寄存器启停控制/工作模式选择
参数寄存器设置算法系数/阈值参数
状态寄存器返回处理进度/错误代码
数据缓冲区输入输出数据暂存区

高手在完成上述基本设计后可以尝试进行一些功能上的优化增强鲁棒性**==(队伍特色,不一定要有用但是可以吹牛逼)==**,如地址译码模块应支持动态映射策略,通过参数化配置适应不同系统的地址空间布局,同时实现多设备环境下的精准寻址;将32位寄存器划分为多个功能域,支持位级读写掩码操作(参考子网掩码);数据通路设计引入乒乓缓冲区消除处理瓶颈。

大家可以发挥想象力自由发挥,这点能抓住现场老师的话还是挺加分的,前提是基本功能的正常实现

以上内容在设计文档中需要详细叙述。

==选题参考:一个能够支持APB总线的高端智能机器人控制IP核== 可以选择自己擅长的应用领域来构建类似的IP结构。

赛题任务要点

初赛

完成度要求不高,能够通过RobeiEDA实现IP的仿真即可,题目允许多设计配套使用的几个IP
设计文档的撰写注意规范和格式,可以多多参考企业公布的技术文档或使用手册
工程文件代码和命名等整理得规范一些
PPT在保证内容易懂结构清晰的时候可以适当美化
视频可以多拍几遍,注意效果的呈现,讲解内容的语气语调
初赛提交材料:IP设计文档、PPT介绍、IP工程文件、5分钟讲解视频。

分区赛

需要使用初赛设计的IP核在Robei八角板上进行功能验证与演示
在比赛前要提前演练一下演示流程,把握时间
提前准备一下评委可能会问的问题,挑重点
PPT在保证内容易懂结构清晰的时候可以适当美化
提前考虑比赛出现的各种情况,现场的管理可能不会特别规范
要求:对IP进行PPT演示(5分钟)、板级演示(3分钟)、问题回答(2分钟)。

国赛

把设计出来的IP应用到针对自身特定应用场景的设备雏形。同时重点发掘IP在实际应用中遇到的问题,并对其修正提升
除了FPGA开发IP核之外还需要其他外设的使用,发挥想象力和钞能力,能进到国赛的话其他人很可能会更卷
提前考虑比赛出现的各种情况,现场的管理可能不会特别规范
要求:PPT演示(5分钟)、实物演示(5分钟)、问题回答(5分钟)。

推荐学习路线与分工

RobeiEDA不好用,很难用,大家在开发过程中使用Vivado开发和验证再在最后移植到RobeiEDA上实现功能即可.

把Verilog基础打好后先学总线协议的使用和开发,能够有一个能够熟练调用和修改的总线协议模块,随后确定自己小组的设计目标,通过一个或一组IP核能够实现怎样的功能,然后在网上找一个相似项目进行修改,或者通过现有模块来重构成一个新的项目,备赛过程中注意协作。

三个人可以每个人负责IP核中不同的模块经过测试之后没问题后整合到一起,文档和PPT最好可以有一个人来专门负责(不是说全部一个人写)。

重点处理跨域协同问题,时钟域交叉处理推荐使用异步FIFO进行数据同步,兼容性设计可通过总线封装层实现,例如设计AXI4-Lite到AXI3的协议转换接口。验证阶段可以进行全系统高压测试,模拟多主设备并发访问场景,确保IP核在复杂环境下的稳定运行。这些可以作为一些亮点