论文部分内容阅读
Xilinx推出的Zynq全可编程平台,包含了以硬核处理器为核心的处理器系统与可编程逻辑两大部分,二者通过内部高速互连总线进行互联。这样的结构使得整个芯片在性能、功耗、成本、灵活性、可扩展性等方面表现出突出的优势,为嵌入式的发展提供了有力的支援。PCI(Peripheral Component Interconnect)总线,历经多年的发展完善,凭借其高性能和稳定性,在计算机领域得到了广泛的应用。本文希望在Zynq平台上实现主机与PCI子卡的相互通信。本文的内容主要分为三部分:第一部分是对背景知识研究介绍。对论文中所涉及到的AXI(Advanced eXtensible Interface)、PCI、PLB(Processor Local Bus)三种总线协议的特点、信号含义和总线常见事务类型的时序以及项目所采用的Zynq-7000平台的组成结构、特点等方面进行了深入研究。第二部分是对项目中核心设计部分的介绍。为了实现主机与PCI子卡的相互通信,需要PCI主桥的支持。在深入研究了国内外相关资料的基础上,本文最终确定了采用IP(Intellectual property)复用的技术方式,通过AXI-PLB接口转换模块和PLB-PCI主桥IP,来实现主桥功能,对AXI总线与PCI总线进行分割与管理。这种设计方式不但降低了设计难度,增强了设计的稳定性和可靠性,且AXI-PLB接口转换模块的实现,也利于将其它基于PowerPC的IP移植到ARM平台上,有很好的复用价值。AXI-PLB接口转换模块基于状态机控制,实现了对AXI和PLB两种总线上事务进程的匹配与转换,文中对状态机的跳转情况以及跳转条件进行了详细说明。除此之外,对设计中使用的PLB-PCI主桥IP的功能、结构特点等方面进行了深入研究。最后搭建验证平台对整个AXI-PCI主桥逻辑进行仿真验证。第三部分是对基于Zynq-ZC706系统构建的介绍,包括硬件平台构建和软件平台构建两部分。硬件平台的构建主要包括硬件平台工程的建立、地址分配、IP复用、综合、时序收敛、实现等过程。软件平台的构建主要包括裸机程序的开发和调试等。本文通过插入ILA核(Internal Logic Analyzer)的方式对裸机程序进行了调试,并对调试结果进行了详细的分析,最终论证了设计的正确性,为基于Zynq与PCI接口的设计提供了一种切实可行的解决方案。