1、FPGA软件硬件协同定义:算法
软件:通常以软件语言来描述,相似ARM处理器的嵌入式设计。硬件定义如FPGA,里面资源有限但可重配置性有许多优势,新的有动态可充配置技术。编程
Xilinx开发了部分动态可重配置技术,它能够只针对须要变化的FPGA逻辑完成重配置而保持其余部分FPGA正常工做。在汽车电子应用中,汽车安全辅助驾驶功能愈来愈被重视,其中高级倒车后视、自动泊车和行车时离道报警两个功能均可以用摄像头完成。这两个功能的图像采集处理逻辑是一致的,可是其图像处理的算法却不一样,若是专门设计一个SoC芯片的话,须要这两部分独立的IP核,或者为了下降成本尽可能将算法所有在处理器中实现。而用了Zynq,由于两部分的功能并非同时须要的,咱们能够保持处理器部分代码执行不变,FPGA中图像采集模块不变,在倒车时经过部分可重配置技术加载倒车时的图像处理算法硬件,而在开车时,自动加载离道报警算法硬件。这样就能够利用一样一块逻辑单元实现两部分的硬件功能。提升并增强了实时响应的速度。缓存
2、“硬件加速”定义?安全
硬件加速(Hardware acceleration)就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。硬件加速一般比软件算法的效率要高。架构
硬件加速时CPU调度GPU运行,内存占用率也会升高。工具
3、软件与硬件协同调试如何完成?oop
硬件主要采用仿真工具,在线逻辑分析仪chipscope。布局
4、归纳Zynq-7000在SOC嵌入式应用的优点?性能
Zynq-7000 采用可扩展式处理平台架构(Extensible Processing Platform、EPP),是 Xilinx 用 28nm HKMG工艺制成的低功耗,高性能,高扩展性的新型芯片,这款新品里面集成了ARM CORTEX-A9 MPSOC 硬核以及相应的SOC系统。优化
PS: 处理系统(Processing System),与FPGA无关的ARM的SOC的部分。
PL: 可编程逻辑 (Progarmmable Logic),FPGA部分。
APU: 应用处理器单元(Application Processor Unit)。位于PS里面的中心位置。
SCU: Snoop Control Unit,用来保持双核之间的数据Cache的一致性。也就是说,第一个A9 处理器写存储时,只是写在了缓存里,没有进主存,若是第二个A9读操做,涉及到第一个写脏了的数据段,SCU要保证第二个A9的缓存里是最新的数据。若是第二个A9写一样数据段的数据,须要在第一个中体现出写的内容。SCU的存在,才使得两个核成互相联系的 “双核”,才能成为MPsoc。
一、正确规划单板上 FPGA 的定向并将信号分配给特定的引脚,这样能够显著改进系统总体性能、功耗和设计周期。可视化 FPGA 器件与印刷电路板 (PCB) 之间的物理和逻辑互动方式,使您能够优化经过器件的数据流。未正确规划 I/O 配置则可能致使系统性能降低和设计收敛时间延长。单板上 FPGA 器件的布局与其它组件的互动会对 I/O 规划产生巨大影响。
二、首先应肯定 FPGA 器件在 PCB 上的定向。还要考虑固定 PCB 组件的位置,以及内部 FPGA 资源。例如,使 FPGA 封装的 GT 接口尽可能靠近在 PCB 上与其链接的组件,这样能够缩短 PCB 走线长度,同时减小 PCB 过孔数量。
三、赛灵思建议您设计时首先选择时钟资源,而后再选择管脚。您的时钟选择不只能够肯定特定的管脚,并且还能够支配逻辑布局。正确的时钟选择能够产生很是好的效果。
四、赛灵思 7 系列器件包含 32 个全局时钟缓冲器 (BUFG)。其中 16 个全局时钟缓冲器位于 FPGA 器件水平方向中心的上半部分,而另外 16 个则位于水平方向中心的下半部分。芯片上半部的 PLL 和 MMCM只能链接到水平方向中心以上的 16 个 BUFG 上。而芯片下半部的PLL 和 MMCM 只能链接到水平方向中心如下的 16 个 BUFG 上。选择 PLL 或 MMCM 时,请尽可能使用 PLL,由于其具备更严格的抖动控制。在以下状况下也可使用 MMCM :(1) PLL 已用尽 ; (2)MMCM 可提供所需的高级功能,但 PLL 则不能。
BUFG 组件能够知足设计的大多数时钟要求,但对如下要求不高 :
• 时钟数量
• 设计性能
BUFG 组件易于经过综合调用,而且限制较少,支持大多数普通时钟。
五、使用存储器接口生成器 (MIG) 生成管脚。
千兆位收发器 (GT) 具备特定的管脚要求。假如 GT 采用相同或邻近的 quads,则您能够在多个 GT之间共享参考时钟。赛灵思建议您使用 GT 向导生成内核。有关管脚建议,敬请参阅产品指南。
HP(高性能)和 HR(大范围)Bank在收发信号的速度上存在差别。根据所需的 I/O 速度,在 HP或 HR Bank 间作出选择。
六、从加电到断电,FPGA 器件要通过多个电源阶段,并伴有不一样的功率需求 :
• 加电功率
加电功率是 FPGA 器件首次加电时发生的瞬时峰值电流。电压不一样时,该电流强度也会发生变化且电流强度取决于 FPGA 器件的结构、电源上升到额定电压的能力,以及器件的工做条件(好比温度以及不一样电源之间的排序)。在新型 FPGA 器件架构中,不用担忧峰值电流的问题,由于它遵循了适用的上电顺序指南。
• 配置功率
配置功率是指在器件配置期间所需的功率。配置功率一般低于有效功率,所以,除非您的使用过程功耗极低,不然该瞬态不会影响供电需求
• 待机功率
待机功率(又称“设计静态功率”)是器件按设计配置后未对其施加任何外部活动或者未产生任何内部活动时提供的功率。待机功率是设计运行时电源应提供的最小连续功率。
• 有功功率
有功功率(又称“设计动态功率”)是器件运行应用程序时所需功率。有功功率包括待机功率(所有静态功率)以及因设计活动(设计动态功率)产生的功率。有功功率是瞬时发生的,且根据输入数据模式以及设计内部活动的不一样每一个时钟周期变化一次。
七、配置指的是将特定应用数据加载到 FPGA 器件的内部存储器的过程。
赛灵思 FPGA 配置数据储存在 CMOS 配置锁存(CCL)中,所以配置数据很不稳定,且在每次FPGA 器件断电后都必须从新加载。赛灵思 FPGA 器件可经过来自外部非易失性存储器件的配置引脚自行加载配置数据。并且还能够用外部智能源配置器件。赛灵思 FPGA 配置模式接口涵盖从带有2 引脚的基础串行模式接口到带有50 引脚的高性能主 BPI(同步)模式接口。