系统与设计
的意见

软件驱动测试FPGA原型

使用开发软件来驱动你的DUT的FPGA原型平台。

受欢迎程度

大多数人都同意是多么重要的FPGA原型测试和验证一个IP,子系统,或一个完整的SoC设计。设计之前taped-out可以验证速度接近实际操作条件与物理外设和设备连接到它,而不是仿真模型。同时,这些设计不是纯粹的硬件,但这些天把大量的硬件和软件的软件栈,所以co-verification置于高重要性等需求的验证计划。

然而,准备一个健壮的FPGA原型并不是一件容易的事情。它需要很强的硬件能力和花很多时间在实验室配置FPGA和所有必需的外围设备互连基板。更困难的是创建一个全面的测试场景包含程序来配置各种外设。编程数以百计的寄存器在适当的序列,然后对事件的反应,中断和检查状态寄存器是一个复杂的过程。在模拟的任务很简单,完全控制设计是保证,变得极其难以实现在一个FPGA原型。面对这一挑战,验证工程师经常一个微处理器或单片机的女儿卡连接到主要的FPGA板。您设计的IP或SoC子系统将与一些CPU总之,这样看起来自然。有一个CPU连接在一个FPGA设计实现促进以编程方式创建配置测试场景,使测试自动化。此外,软件开发人员现在可以重用的工作设备驱动程序的软件堆栈可以成为一个测试硬件的初始化过程的一部分。该软件可以成为一个初始化程序在硬件测试的一部分。 If that makes sense to you, then why not use an FPGA board that has all you need – both FPGA and the CPU?

最近Aldec宣布的可用性新的FPGA原型板以最大的Xilinx UltraScale XCVU440 FPGA与Xilinx zynq - 7000 XC7Z100可以用作主机和测试控制器。XC7Z100芯片的最大zynq - 7000系列,它结合了双核ARM cortex - a9与可编程的FPGA结构。这种方式,Aldec已经解决的需要,许多设计师和验证工程师要求紧凑和独立的嵌入式testbenches FPGA平台来实现软件驱动的。你可以看看董事会特性和规范Aldec网站:他-我们- 440


图1所示。Aldec他-我们- 440 FPGA原型

目前,让我向您展示如何使用此板创建软件testbenches驱动。

第一个问题你可能会是:“什么是UltraScale之间的互联和Zynq设备吗?“一睹框图显示有160痕迹FPGA互连常规I / o,可以用作LVDS(80对)还有4 GTX公司高速串行链路。此外,已经有许多标准接口连接到每个FPGA。通过使用一个回路电缆作为PCIe,您可以添加USB或千兆以太网两Xilinx设备之间的联系。最后,还有3融合连接器连接到UltraScale和一个连接到Zynq。虽然他们的主要功能是为扩张提供连通性的女儿卡,他们也可以用来增加两国fpga的I / o数量。


图2。Aldec他-我们- 440连接图

裸机编程testbench
常规inter-FPGA I / O连接可用的黑板上足以实现一个非常常见的测试用例和一个安巴AXI局部总线被桥接在两个设备之间使用Xilinx AXI Chip2Chip桥。Xilinx Vivado提供所有手段配置AXI Chip2Chip模块和集成的手臂Zynq皮层可编程系统测试设备的设计(DUT) Virtex UltraScale设备。的SelectIO LVDS PHY可能被配置为提供物理连接。这种方式,ARM核心被访问内存映射奴隶DUT的接口(S),那么它将能够执行总线读写转移。同样,你DUT的阿喜主界面(M)可以访问内存映射Zynq可编程系统的设备,例如DUT可以读取和写入数据/相同的DDR内存使用的CPU。我相信你已经有一些想法和场景为你testbench如果你有这样的功能。


图3。应用程序驱动DUT裸机

这就是在硬件方面的。同时,Xilinx SDK(软件开发工具包)工具生成相匹配的软件应用程序层上面描述的硬件配置。生成的API允许您处理AXI交易DUT的内存空间用一个简单的C函数调用。没有更多需要开始开发嵌入式testbench裸机。

Testbench应用在嵌入式操作系统中执行
上面描述的裸机方法为testbench配置提供了极大的灵活性,使testbench直接使用各种硬件资源。然而,的情况下用户只对表演感兴趣阿喜读/写操作到DUT端口和更重要的是带来了不同的测试用例快速而不用担心底层硬件配置。等用户,Aldec提供预配置的实现Zynq设备优化运行嵌入式Linux操作系统。Linux控制标准外围设备连接到Zynq装置,如以太网或USB。这些接口是启动和运行,董事会可以在线在企业局域网和你可以测试你的设计不花一分钟在嘈杂的实验室。为了创建testbench您可以使用用户级C API或示范应用程序从文件读取阿喜读/写命令或接收以太网的套接字。

在硬件方面,只需连接你的DUT Proto-AXI模块提供的Aldec实现连接与嵌入testbench在Zynq运行。


图4。嵌入式系统驱动DUT

总结
景观设计迅速改变通过嵌入式软件的数量不断增加,对异构多处理器设计的操作是至关重要的。同时,设计验证方法越来越依赖软件。是明智的重用尽可能多的软件开发人员的工作来验证硬件。

软件驱动的验证方法可以大大缩短你的时间表,特别是从模拟是一个FPGA原型环境。部署FPGA硬件验证的主要障碍是它的安装和维护的复杂性。这就是为什么Aldec开发了集成解决方案,提供了一个可编程的手臂核心和最大Xilinx FPGA UltraScale单板。使软件驱动的验证更加容易Aldec为裸机和嵌入式linux驱动testbenches提供样本设计。



留下一个回复


(注意:这个名字会显示公开)

Baidu