• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 其它相关 > 正文

    ZYNQ,在SoC,IP,验证方案的设计与实现

    来源:六七范文网 时间:2023-05-04 21:50:10 点击:

    陶青平,尚国庆,朱清

    (中国电子科技集团公司第五十八研究所,江苏 无锡 214035)

    SoC 是一种集成化芯片,相比于传统的芯片,SoC 芯片有着很多的优势,它拥有可靠性高、体积小、功耗低、集成度高等特点[1]。现在很多智能设备中都有它的身影,如手机处理器芯片华为的麒麟9000、高通的骁龙888等,甚至一些定制化特殊需求的芯片也都采用SoC 技术。SoC 的硬件通常基于IP 模式设计[2],所以SoC 的流行同时也催生了各种各样的IP 设计,尤其带有标准总线协议的IP,可方便地嵌入到SoC 芯片中。在SoC 设计中,片上总线的概念[3]相当重要,目前比较常见的几种总线有:AXI 总线[4-5],目前应用最广泛的、高性能的片上总线;
    AHB 总线,目前应用最为广泛的高性能低功耗总线,ARM 的Cortex-M 系列大多采用这种总线;
    APB 总线,主要应用于低带宽周边外设之间,如UART、SPI 等。

    众所周知,既然SoC 的设计离不开IP 的支持,在这些IP 在未集成到SoC 之前,需要对其进行验证仿真。尤其那些带有总线接口的IP,验证者除了要了解这个IP的功能,还必须对各种总线协议比较熟悉,这无疑增加了验证的困难。传统的方案是MCU+FPGA 实现方案,或者类似FPGA 原型验证的架构[6]。不仅要求在设计硬件上有很高的要求,如MCU 与FPGA 之间的通信,尤其是并行通信方式[7],而且有可能会要求验证者将一些总线协议进行转换,如XINTF 转成APB 总线协议、EMIF 接口转成APB 总线协议等,这就对验证者的技术提出了更高的要求。原型验证架构方式还需要搭载一个核的实现,不够便捷。通过上述分析,发现一般传统的方案对硬件和软件的设计能力要求都比较高,而且任何一方有问题的话,调试起来也比较费时费力,甚至有可能导致硬件重做,耽误项目进度。

    本文提出的方案设计与实现利用ZYNQ 的先天优越性,ZYNQ 本身就是集ARM+FPGA架构[8],PS 是ARM端,PL 是FPGA端,PL 可用来放待验证的IP,PS 可根据需要进行裁剪。PS 与PL 的通信方式可采用一种标准的AXI4 通信[9],这种通信方式提供了一些通用的可行的桥进行转换,如AXI 转APB、AXI 转AHB 等都有成熟的桥方案,大大减少了硬件的设计复杂度和成本,对软件的要求也不高。

    根据测试不同的IP 功能可以构建出一个最符合测试该IP 的系统架构,且软硬件可裁剪。由于ZYNQ 的PS和PL 部分均可灵活配置,对于一些简单的IP,如UART、I2C、SPI等,由于这些IP 在ZYNQ 的PS 端均有实现,便可通过EMIO 功能,将PS 端的引脚引入到PL端,就可以将放在PL 端的待测IP 的管脚与EMIO 端进行连接,无需外接子板便可进行协议验证。如果是带有标准接口的IP,Xilinx 官方提供一些AXI 转AHB、AXI 转APB 的桥,这些总些接口都是大多数SoC 芯片方案采用的接口,利用这些桥便可方便地搭建系统架构,而无需和传统方案一样去关心总线时序如何转化的问题,让开发者和验证者着重关心具体IP 的验证。方案架构如图1 所示。

    从图1 中可以看出,基于不同的IP,可以选择不同的测试通路,一条路径是待测试的DUT 通过EMIO 进行通信(如I2C、UART、SPI 等),PS 端的AXI 通过配置DUT寄存器,使能DUT 功能,再通过与PS 端的EMIO 进行互联测试,PS 可根据测试的结果判断,完全不需要额外的连线措施;
    另一条是PS 端通过AXI 与DUT 进行通信,有需要时外部再连接外设子板配合测试。这两条路径均省去了传统的MCU+FPGA 方案的物理连线的步骤,节约PCB 的制作成本,测试结果可利用PS 的UART 打印送给PC端,实现自动化一键测试需求。

    2.1 ZYNQ 介绍

    Zynq-7000 系列[10]是具有双核ARM(Cortex-A9)芯片的FPGA。ARM 处理器部分即文中提及的PS(Processing System)集成了DDR2/3/LPDDR2 存储器控制器、以太网网口、USB 控制器、SD 卡、SPI、UART、Flash Memory Interface等外设;
    可编程逻辑部分即文中提及的PL(Programmable Logic),如XC7Z045-FFG900-3 是采用Kintex-7 架构,其具有350 000 个逻辑单元(相当于52 万门的电路)、218 600的LUTs、437 200 个寄存器、2 180 KB 的集成RAM、900个18×25 硬件乘法器。这些资源对实现大部分IP 的功能绰绰有余,而且ZYNQ 平台为嵌入式系统的实现提供了极大的灵活性,可通过Vivado 对其资源进行筛选。图2 为ZYNQ 的资源框图。

    图2 中EMIO、32 bit GP AXI Master Ports、32 bit GP AXI Slave Ports、HP AXI Slave Ports 和AXI ACP Slave Ports可与所测试DUT 进行通信连接。

    2.2 SoC IP 封装

    SoC IP 封装就是将待测试的IP 进行必要的重新打包封装,如果测试的IP 没有对应的接口,需将接口与待测试的IP 一起封装。在封装IP 的过程中有两处地方需特别注意的地方:一处是在Ports and Interfaces处,这里可以对所封装的IP 的一些标准接口进一步规范,如APB 接口、AHB 接口等,以使下一步连接时线比较清晰;
    另一处则是在Addressing and Memory,如果待测IP用到了地址映射,需添加Add Memory Map 和Add Address Blocks,并将封装好的IP 集成到ZYNQ 平台上进行连接测试。

    2.3 软件设计实现

    将各个封装好的IP 与ZYNQ 通过接口连接好,生成bit 文件,将生成好的硬件通过Vivado 工具导出。启动SDK 软件设计有两种方式:一种通过Vivado 启动SDK;
    另一种打开SDK 软件,导入刚才导入的硬件hdf。SDK软件根据硬件的不同提供良好的板级支持包,程序的大体框图业已写好,只需测试者把想要测试的测试向量加入到框架中去或者直接通过PC 端传入测试向量。

    本文通过rdc IP 的测试来验证方案的正确性和优越性。

    旋变模块rdc IP 的接口是APB 从机接口,与APB 主机总线接口连接。该模块IP 的功能是接收SD(Sigma-Delta调制)类型的AD 数据格式。通过这些数据计算出旋变的转速和角度。通过APB 接口配置其工作模式,读取数据的转速和角度信息。其端口信息如表1 所示。

    表1 rdc IP 的端口信号

    从表1 中可以看出,该模块需要一工作时钟pclk,这可以由PS 的FCLK_CLK0(100Mhz)提供;
    一基础时钟xclk_rom,可由PS 的FCLK_CLK1 提供;
    其他时钟可经过分频,反相得到,如表2 所示。

    表2 时钟生成频率

    APB 接口可通过axi_apb_bridge 与axi_interconnect 连接到PS 端的M_AXI_GP0 上。PS 端通过此端口可配置rdc IP 的配置参数。

    sin、cos 数据可通过PS 端将数据存放在PL 例化的双口RAM中,在该设计中利用AXI_bram_ctrl 和blk_mem_gen双端口,一端通过PS 写入数据,另一端则PL 可通过其读出写入的数据提供给IP 核作激励。并通过PS 的GPIO 的上升沿产生中断,通知rdc_driver 模块数据传输完成,可向rdc IP 发送sin、cos 数据作为IP 的激励向量。其中sin、cos 数据为事先准备好的SD 类型的数据。

    最终的Block Design 的设计图如图3 所示。

    硬件完成后,生成hdf 文件和bit 文件,启动SDK,进行软件设计,PS 软件端的代码主要为接收由PC 端通过串口发送的测试向量,并将其存放在PL 中的SRAM 中;
    接收完成后通知PL 向IP 输入测试向量,PS 读取IP 的寄存器的测试结果返回到PC 端判断测试是否正确。其软件设计流程如图4 所示。

    对比传统的方案,本文以DSP+FPGA 方案为例,DSP与FPGA 通过EMIF 接口通信,FPGA 端除了需要实现rdc IP,还必须对EMIF 通信接口时序进行转换,转成相应的APB 接口,验证者需了解这两种的时序关系,对验证者的设计水平提出了更高的要求。二者方案对比如表3 所示。

    从表3 中可以看出,传统方案从硬件到软件的实现比本文的方案都要复杂得多,且费时费力,而本文的方案中除了基本的ZYNQ 平台外,并未需要到其他外设,而且减少了PCB 板级的布局布线,且在资源重复利用上相对于传统的验证方案通用性更加灵活,减少了针对测试不同的IP 所带来的制作成本的提供,提高验证效率。

    表3 方案对比

    本文介绍了一种ZYNQ 在SoC IP 验证方案的设计与实现,并通过验证rdc IP 的实际案例说明方案的可行性。与传统的MCU+FPGA 方案或者是原型验证架构对比,本方案在硬件的搭建、PCB 制作的成本上以及软件测试的优越性和便利性上更胜一筹,特别是带有标准接口的SoC IP 的测试。随着SoC 芯片设计的流行,各种各样的IP 设计的需求也日益增加,本文所提验证手段既简单又灵活方便,可为SoC 芯片验证提供参考。

    猜你喜欢 外设总线向量 向量的分解新高考·高一数学(2022年3期)2022-04-28聚焦“向量与三角”创新题中学生数理化(高中版.高考数学)(2021年1期)2021-03-19一种基于CAN总线的误码测试方法电子制作(2018年11期)2018-08-04DCOM在混合总线自动测试系统的应用电子制作(2018年8期)2018-06-26基于AVR单片机的RS485工业总线开发设计电子制作(2018年2期)2018-04-18向量垂直在解析几何中的应用高中生学习·高三版(2016年9期)2016-05-14向量五种“变身” 玩转圆锥曲线新高考·高二数学(2015年11期)2015-12-23宝马F02车总线系统汽车维护与修理(2014年10期)2014-02-28外设天地行情现代计算机(2009年9期)2009-12-02外设天地行情现代计算机(2009年5期)2009-08-27

    推荐访问:验证 方案 设计