论文部分内容阅读
随着近年来信息技术产业飞速发展,电路的集成度与复杂度成指数性增长,SoC技术应运而生,片上总线技术的出现为SoC设计做出了重要贡献。然而当前片上总线的设计流程涉及多种开发语言与环境,专业跨度大且开发门槛高,一般需要多人协作完成,导致设计周期越来越长,成为了阻碍集成电路快速发展的重要瓶颈。基于面向对象的敏捷设计成为了国际超大规模集成电路的发展趋势和主流。本文致力于当前市场占有率最高的AXI4总线协议的研究,基于Python语言,分别对AXI-Full、AXI-Lite、AXI-Stream三种类型总线的主从接口进行了设计与实现,并基于验证方法学建立了全面的功能验证,最后为神经网络算法IP核LeNet-5添加AXI4总线接口,设计成协处理器,并为其设计Python驱动,部署到FPGA中正确运行。整个设计流程打破了高级语言与底层硬件之间的界限。本文具体研究内容如下:1、研究AXI4总线协议标准,分别对AXI-Full、AXI-Lite、AXI-Stream三种类型总线的特点、通道结构与信号、握手机制及基本读写传输时序过程进行详细分析与比较,提出了基于Python硬件描述的AXI4总线接口敏捷设计流程。2、研究硬件设计开源框架Py HCL,基于Python语言,分别设计实现了AXI-Full、AXI-Lite、AXI-Stream三种类型总线的主从接口,并在Vivado软件中建立读写通信仿真测试。3、研究硬件验证开源框架Py UVM,基于Python语言和UVM验证方法学,分别对AXI-Full、AXI-Lite、AXI-Stream三种类型总线的主从接口进行了全面的功能验证,覆盖率均达到100%。4、研究开源框架PYNQ,基于神经网络算法IP核LeNet-5,为其添加AXI4总线接口设计成协处理器,同时设计Python驱动,向上提供更友好的操作接口,并将协处理器部署到PYNQ-Z2开发板中正确运行。本文基于Python硬件描述的AXI4总线接口设计与实现,采用高级语言替代了复杂繁琐的片上总线设计流程,实现了Python全栈开发,极大地降低了硬件开发的门槛,为集成电路的敏捷设计提供了新思路。