资讯动态
资讯资讯
- 了解PCB布局中的阻抗计算和截面特征
- 有哪些基本标准电容器变得稀缺?
- 如何处理微控制器上未使用的引脚?
- 教你最基础的PCB线路排版常识
- PCB设计中焊盘的重要考虑因素:预防焊盘凹凸
- 德州多层2020十大正规网赌网址:pcb过孔的三种分类
- 印制十大赌博正规澳门平台的IPC标准目录(一)
- 塘厦多层2020十大正规网赌网址:详解PCB板设计工艺十大缺陷
- 重庆多层2020十大正规网赌网址:为什么pcb生产时会预留工艺边
- 东营多层2020十大正规网赌网址:PCB设计中敷铜处理经验
- 深圳多层2020十大正规网赌网址:多层pcb2020十大正规网赌网址制作流程
- 印制十大赌博正规澳门平台术语总汇中英文之基材的材料(三)
- 如何利用平面的PCB叠层设计实现阻抗管理
- 挑选pcb高频板的四大因素
- pcb高频板布线时需注意的四个点
- 如何在十大赌博正规澳门平台轮廓内设计刚性柔性PCB?
- pcb电路设计的一大进步,进入健身领域
- 采用物联网PCB的模块化设计理念有哪些优势?
- pcb高频板是怎么定义的 高频十大赌博正规澳门平台的参数
- 选择pcb多层2020十大正规网赌网址工厂的四大注意事项
联系大家
联系人:李晓秋
手机:18938888028
地址:深圳市宝安区福永锦灏大厦10楼
行业资讯
使用QuickPlay进行App定义的FPGA计算 最新的FPGA设
尽管一些最新的FPGA设计方法结合了高级综合(HLS)工具和App编程语言(如OpenCL,C和C ++)简化了任务,并没有消除对专业FPGA设计专业常识的需求。需要一种高级工作流程,允许App工程师将FPGA用作App定义的计算平台,而无需硬件设计的痛苦。为满足这一需求,此类工作流应该能够:
从纯App代码创建功能硬件
合并现有硬件IP块,如果
推断并创建所有支撑硬件(接口,控制,时钟等)。
支撑使用商用,现成的十大赌博正规澳门平台和自定义平台
通过构造确保生成的硬件正确,从而消除硬件调试
仅支撑使用标准App调试工具调试功能块
考虑一个包含两个基本功能的App算法:将数据处理成一个函数,然后发送到另一个函数进行进一步处理。从App的角度来看,这个实现就像调用Function1(),然后单独调用Function2()一样简单,使用指向要处理的数据位置的指针。
图1对数据实行的功能
实施此类在没有正确的硬件抽象工具流程的基于FPGA的硬件平台上的算法将要求App开发人员提出类似于图2中的硬件设计(其中内核1和内核2各自相应)功能1和功能2的硬件实现。
图2使用双功能算法的详细硬件实现传统的FPGA工具
硬件设计需要包括控制平面和数据平面。控制平面是实行引擎,它生成时钟和重置,管理系统启动,编排数据平面操作,并实行所有内务处理功能。数据平面实例化并连接处理元素,内核1和内核2,以及读取数据和写入处理数据所需的必要I/O接口。在图2中所示的示例中,这些接口是以太网和PCI Express(PCIe)。
熟悉的挑战
没有特定硬件专业常识的App开发人员可以使用高级综合工具(如 Vivado HLS )生成内核1和内核2,以编译App函数Function1()和Function2( )用C或C ++编写的VHDL或Verilog的FPGA硬件描述。但是,使用HLS工具无法生成设计的非算法元素,如接口,控制,时钟和复位。需要硬件设计人员将其创建为自定义IP。获取这些元素并连接它们的工作带来了另一个挑战,因为某些元素可能不容易获得,或者可能具有不同类型或大小的接口以及不同的时钟要求,特定的启动顺序等等。
实施设计同样面临严峻挑战。这些包括将设计映射到所选FPGA平台的资源,生成适当的约束,并确认在FPGA硬件上进行逻辑综合和实现后满足这些约束。即使是十大赌博正规澳门平台的硬件设计人员也可能需要数周才能在新的FPGA硬件上实现最简单的设计。
新方法
PLDA集团是嵌入式电子系统和IP的开发商,它创建了QuickPlay,允许App开发人员完成这些任务,从而在FPGA硬件上部分或全部实现CPU的应用程序。在这种以App为中心的方法中,设计人员首先开发硬件引擎的C/C ++功能模型,然后使用标准C/C ++调试工具验证功能模型。然后指定目标FPGA平台和I/O接口(PCIe,以太网,DDR,QDR等),最后编译和构建硬件引擎。
为了使这个过程无缝工作,必须保证生成的硬件引擎与原始App模型的功能相同。这意味着模型必须是确定性的,因此它将产生与硬件相同的结果,无论硬件实现运行得多快。不幸的是,大多数并行系统遭受不确定性实行。例如,多线程App实行取决于CPU,OS,以及在同一主机上运行的非相关进程。多次运行相同的多线程程序可能会有不同的行为。
硬件中的这种非确定性需要在电子波形级别调试硬件引擎本身。这将破坏针对App开发人员的工具的目的,但QuickPlay的数据流模型保证了确定性实行,而不管实行引擎如何。该模型由并发功能组成,称为内核,与流通道通信,这与App开发人员如何在白板上绘制应用程序相关联。任何内核的内容都可以是任意的C/C ++代码,第三方IP,甚至是HDL代码。
QuickPlay设计流程非常简单,如图3所示。
图3QuickPlay编译和实行流程
仔细研究设计流程
第1阶段:纯App设计。 FPGA设计是通过在C中添加和连接内核,并使用开发App指定通信通道来创建的。 QuickPlay IDE提供了一个C/C ++库和API来创建内核,流,流端口和内存端口,以及读取和写入流端口和内存端口。
第2阶段:功能验证确保App模型正常工作。该模型在桌面上编译并使用测试程序实行,该测试程序将数据发送到输入,从而验证输出的正确性。
阶段3:然后从App模型生成FPGA硬件。在此阶段,使用简单的下拉菜单选择目标FPGA平台和映射到设计输入和输出端口的物理接口。
阶段4:系统实行类似于功能验证,除了FPGA设计在选定的FPGA板上运行,而主机应用程序仍在App中运行。实际数据可以流入和流出FPGA板。在此阶段可以运行比在功能验证期间更多的测试。
阶段5:系统调试。即使在硬件中实行功能后发现错误,也无需在硬件级别进行调试,因为QuickPlay可确保App模型与硬件实现之间的功能等效。App版本中也存在硬件版本中的任何错误。
阶段6 :(可选)优化。虽然QuickPlay构建的整个基础架构在性能和利用率方面都非常高效,但设计的整体质量将取决于用户创建的内核的质量。由于通用C代码不会产生最有效的硬件实现,因此App开发人员可以遵循一些技术和指南来大大提高HLS生成代码的效率。进一步优化也可以通过使用Vivado HLS或在HDL中重新编码某些内核来完成。
摘要
这种简单的方法为大量App工程师开放了基于FPGA的计算,他们现在可以使用熟悉的技术在App中进行建模,然后构建系统和硬件测试。目前还没有其他工具采用这种方法,也没有提供App工程师可以在源级别专门设计和调试的框架。
生成的硬件效率也使QuickPlay成为硬件工程师寻找的好工具通过让QuickPlay处理平凡的硬件设计任务来节省数周或数月的设计工作,同时他们专注于真正的增值:处理内核。
QuickPlay的数据流计算模型使其成为理想的选择大量的FPGA应用,无论是纯CPU协同处理,CPU采集数据的预处理还是后处理,还是仅涉及不涉及CPU的系统(网络,广播,视觉,医疗等应用)无线,HPC等。)
资讯资讯
-
2020-04-15
PCB热应力试验的做法
-
2020-04-15
十大赌博正规澳门平台厂的PCB维修方法
-
2020-04-15
揭秘以太网接口在2020十大正规网赌网址厂里的十大赌博正规澳门平台上的实现
-
2020-04-15
汽车2020十大正规网赌网址绿漆上PAD如何测试?
-
2020-04-15
十大赌博正规澳门平台设计后期检查的几大要素
-
2020-04-15
PCB十大赌博正规澳门平台维修中怎样带电测量?
-
2020-04-15
2020十大正规网赌网址厂如何解决多层PCB设计时的EMI问题
-
2020-04-15
十大赌博正规澳门平台厂板子锡焊质量影响因素有哪些
-
2020-04-15
关于汽车PCB2020十大正规网赌网址电测技术分析
-
2020-04-15
PCB厂的2020十大正规网赌网址差分线过孔的高速仿真分析