队伍编号:CICC3280 团队名称:芯新星队
由于e203内部DTCM空间较小,所以本队针对DDR200T开发板进行针对e203的DDR3存储器扩展。
论坛中所给出的e203扩展DDR的方法大致分为两种,一种是直接将DDR存储器的接口使用ICB bridge与e203相接,一种是DDR接口使用AXI协议,再通过icb2axi模块进行DDR扩展,第一种方法参照该链接e203lus。
本队尝试第一种方法无果后,选择使用第二种方法,最终扩展并测试成功。具体流程如下:
E203在设计总线时采用的是独有的ICB总线架构,但由于ICB总线无法在vivado工程中直接连接外设,需要利用ICB to AXI bridge实现设备的跨接,可以利用E203源码中的ICB转接AXI的例子来实现AXI外接端口的搭建。
对于外接DDR,本队将外部DDR访存的地址空间设定为0xA000_0000~ 0xAFFF_FFFF,并且将ICB to AXI bridge接到了O6端口处
具体的芯片数据配置参考 Vivado 蜂鸟 e203 MCU200T/DDR200T 添加MIG IP DDR3控制器 RISC-V
基于DDR200T开发板原理图,找到所需要使用的DDR引脚,制成DDR.ucf文件方便在添加管脚约束时使用。在使用MIG IP核时,为了方便使用DDR产生的时钟,本队将clock period设置为400MHZ,使得DDR引出的clk时钟为100MHZ,通过该时钟分频出E203所需要的时钟频率(基于多次测试,本队将E203的时钟频率设置为20MHZ)。
扩展完后进行布局布线