Vivado 系统生成器工具能方便地接入平台设计,从而可充分利用开发板接口和处理系统。
FPGA 的应用不断拓展,同时FPGA 设计流程也随之不断演进。我们不再将FPGA 用作简单的胶合逻辑,甚至不再作为信号处理链的核心,用以将IP 与专有后端接口集成。相反,FPGA 正在转变为可编程片上系统,其中包含作为处理器外设的硬件以及在强大APU 上运行的高级软件。这种架构就是我们所说的赛灵思All Programmable SoC。
为了充分发挥这种全新流程的优势,我们需要将设计方法从FPGA 早期的自上而下RTL 转变为以IP 开发和标准化连接(例如ARM® 的高级可扩展接口 (AXI))为中心的自下而上流程。随着接口从定制接口发展为通用接口,我们就可以花更少的精力来验证数据路径与平台设计之间的交互。
赛灵思DSP 系统生成器(SystemGenerator for DSP)同样也得到了发展。该工具是Vivado® 设计套件的一部分,其通过将DSP 数据路径整合到用Vivado IP Integrator 工具构建的平台设计中,打造出全新的自下而上设计方法。我们仔细看看系统生成器(System Generator)实现的设计自动化如何帮助高性能设计充分利用平台连接功能。
构建All Programmable平台框架
通过定义用来存放数据路径的平台框架,我们可以启动全新的设计流程。Vivado 工具套件能识别开发板;我们将利用开发板自动化功能构建新的平台设计。
图1 –将处理系统连接到板级接口的平台框架实例
如图1 所示,平台设计或平台框架的基本组成包括:处理器级和开发板级接口,以及将其组合在一起的逻辑。我们将平台框架作为系统级设计的基础(即外壳),这给我们的数据路径提供了空间。模块和连接功能自动化通过IP 外设将处理系统连接到板级接口。封装在IP Catalog 中的DSP数据路径或软件加速利用赛灵思Designer Assistance 自动化功能方便地连接到我们的处理器平台框架中,进而连接到外部器件接口。
创建作为可输入IP的数据路径
我们的最终目标是让数据路径能进入All Programmable 平台框架。如果要从头开始,我们可以用标准化接口创建数据路径。如图2 所示,只需将网关端口迅速标记为AXI4-Lite 接口,或者对端口进行命名以匹配标准连接(如Simulink® 图上的AXI4-Stream),这样,System Generator 为Vivado IP Catalog 打包设计时就会为设计添加额外逻辑并将通用信号收集到接口内。
图2 – 自动将网关导入AXI4-Lite和AXI4-Stream接口
不过,我们利用一种新设计方法,使用平台框架定制一个可集成到All Programmable 设计的插件。我们使用自动化功能确定平台设计中现有哪些接口,哪些接口与开发板关联,以及哪些接口可为DSP 数据路径创建插件。既然我们的目标是将数据路径转换为可连接至平台框架的IP,因此我们不需要关注板级接口,而是关注标准化AXI 接口。开发板上的每个不关联接口转变为System Generator 网关。这些网关在System Generator 中充当简单信号,当我们将平台设计导出到IP Catalog 时,这些网关会生成用以连接平台设计的AXI 接口。
如实例所示,AXI4-Lite 接口创建独立的读/ 写信号,在导出到Vivado 工具套件时共享通用的可寻址寄存器接口。简单的复制- 粘贴使我们在地址偏移位置通过相同接口获得更多用于处理器的直接寄存器。同时,我们可自动生成软件驱动API 以读/ 写寄存器。
如果平台设计中提供AXI4 -Stream 接口,System Generator 会向模型添加正确匹配的网关。AXI4-Stream 接口极其灵活并包含很多信号。ACLK 时钟源与该接口相关联,但该信号直接作为这部分数据路径的抽象系统时钟。TVALID 信号表示接口有效。其他信号为可选信号。System Generator 会将初始流接口中的信号添加到我们的模型,不过我们可以通过删除或添加信号来满足内部要求。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)