FPGA

作者:chaningwang,andybzhang

本文重点介绍:

1、各种处理器的特点:简要对比各种处理器的特点

2、图片处理算法的特点:介绍图片处理算法的特点3、FPGA加速性能的主要因素:分析FPGA能够加速图片处理的原因4、HEVC算法之FPGA和CPU实现差异:介绍HEVC FPGA实现和CPU实现差异5、图片业务在互联网中的实际应用:介绍当前图片业务中使用的性能对比6、HEVC图片编码算法介绍

一各种处理器的特点

通用处理器(CPU)可提供高度的灵活性和易用性,可以低廉的价格生产,并且适用于多种用途和重复使用。但性能相对缺乏效率。

专用集成电路(ASIC)可提供高性能,但代价是不够灵活且生产难度更大。这些电路专用于某特定的应用程序,并且生产起来价格昂贵且耗时。

从灵活性而言,介于CPU和ASIC两者之间的处理器,使用比较多的异构处理器目前有两个,一个是GPU,一个是FPGA。

FPGA属于一类更通用的可编程逻辑设备(PLD), FPGA既能提供集成电路的性能优势,又具备CPU可重新配置的灵活性。简单来说,FPGA是一种可重新配置的“通用集成电路”。

基于FPGA的有限状态机浅析

作者:NingHeChuan(宁河川)

前言:状态机大法好,状态机几乎可以实现一切时序逻辑电路。

有限状态机(Finite State Machine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机。Moore型状态机输出仅仅与现态有关和Mealy型状态机不仅与现态有关,也与输入有关,所以会受到输入的干扰,可能会产生毛刺(Glith)的现象,所以我们通常使用的是Moore型状态机。

状态机的编码,二进制编码(Binary),格雷码编码(Gray-code),独热码(One-hot)。不同的编码方式是防止在状态转移中发生突变,使得状态转移更为稳定,系统更加可靠,但是通常情况下我们直接采用的是二进制进行编码,除非系统对稳定性和状态编码有特殊要求。

状态机的描述,一段式、二段式、三段式。

一段式状态机,将组合逻辑和时序逻辑混合在一起,这样的写法对于逻辑简单的状态机来说还是可以使用的,但是对于复杂的逻辑就不推荐了,如果状态复杂也会容易出错,而且一个always块中信号太多也不利于维护和修改。

//状态参数声明
parameter S0 = 4'b0000,

FPGA时序约束

1、约束的目的
介绍FPGA约束原理,理解约束的目的为设计服务,是为了保证设计满足时序要求,指导FPGA工具进行综合和实现,约束是Vivado等工具努力实现的目标。所以首先要设计合理,才可能满足约束,约束反过来检查设计能否满足时序。主要涉及到xilinx vivado xdc约束语法,给出对应的ISE ucf 语法。另外quatus的语法和xdc几乎兼容,原理都一样。

时序约束中最基本的是时钟,时钟有抖动(jitter),偏移(skew),占空比失真(duty cycle distortion)三种特性。
1、抖动,分为周期抖动(cycle jitter),周期差抖动(cycle to cycle jitter)和长期抖动(long term jitter)。
2、偏移和时钟线的长度,时序单元的负载电容和个数有关。FPGA的全局时钟采用全铜工艺和树状结构,偏移非常小,可以忽略。
3、占空比失真就是高低电平不对称,会吞噬时序裕量。

2、基本的时钟约束

基于FPGA的HDMI高清显示接口驱动

作者:NingHeChuan(宁河川)

HDMI是(High Definition Multimedia Interface)的缩写,意思是高清晰度多媒体接口,是一种数字化视频/音频接口技术,适合影像传输的专用型数字化接口,可同时传送音频和影像信号,最高数据传输速度为48Gbps(2.1版),HDMI相较于VGA接口,它传输的信息量大,色彩度高,传输速度快等显著优点。

  一般来说驱动HDMI有两种方法,有些开发板是用一颗专用的HDMI芯片ADV7511做HDMI的输出使用,ADV7511 是一款高速高清晰度多媒体接口(High Definition Multimedia Interface HDMI)发送器。 能够处理的数据速率高达165MHz(1080p @60H, UXGA @60Hz), 输出数据速率高达 225MHz。

Digilent官方出品的ZYBO开发板,上面一个双向的HDMI端口,直接连接在PL的引脚上,所以这次博主分享的工程是用ZYBO PL端的IO口模拟HDMI接口,首先先来讲一下HDMI的显示原理主要是TMDS,该部分摘自博客:http://blog.sina.com.cn/s/blog_679686370100vgg1.html

当FPGA越来越像SoC,FPGA跟ASIC还有啥区别

随着处理器被添加到传统FPGA中,可编程性被添加到ASIC中,FPGA和ASIC的分界线日益模糊。

FPGA变得比之前更加流行了。现在的FPGA不再只是查找表(LUT)和寄存器的简单组合了,它已经成为系统探索的架构,以及验证未来ASIC设计架构的桥梁。

从基本的可编程逻辑器件到复杂的SoC器件,当今的FPGA家族阵营极其庞大。在包括汽车和其它应用的AI、企业网络、航空航天、国防和工业自动化等各种应用领域,FPGA使得芯片制造商可以在必要时以更新的方式部署实施系统。在这种标准、协议和最佳实现仍然在探索中,而且要求具备成本竞争力的新兴市场中,FPGA的灵活性至关重要。

面向全国高校!

  • 南京集成电路产业服务中心(ICisC)
  • 东南大学
  • 赛灵思公司(Xilinx)
  • 华为云
  • 联合主办!

    全国大学生2018年FPGA暑期学校

  • 加强高校学生在数字系统设计领域尤其是可编程逻辑器件应用领域创新设计与工程实践能力
  • 培养大学生积极主动寻找工作任务
  • 利用先进技术平台进行创新设计的能力
  • 丰富和活跃校园创新创业学术氛围
  • 推进高校与企业的人才培养合作共建
  • 为社会培养具有创新思维、团队合作精神、解决复杂工程问题能力的优秀人才
  • 充分发挥东南大学电子科学与技术品牌专业和国家级示范微电子学院的辐射作用
  • FPGA中亚稳态——让你无处可逃

    1. 应用背景
    1.1 亚稳态发生原因
    在FPGA系统中,如果数据传输中不满足触发器的Tsu和Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态,此时触发器输出端Q在有效时钟沿之后比较长的一段时间处于不确定的状态,在这段时间里Q端在0和1之间处于振荡状态,而不是等于数据输入端D的值。这段时间称为决断时间(resolution time)。经过resolution time之后Q端将稳定到0或1上,但是稳定到0或者1,是随机的,与输入没有必然的关系。

    1.2 亚稳态发生场合
    只要系统中有异步元件,亚稳态就是无法避免的,亚稳态主要发生在异步信号检测、跨时钟域信号传输以及复位电路等常用设计中。

    1.3 亚稳态危害

    【QTV】实例演示 — 基于FPGA的AWS F1实例

    在本视频中,我们将通过一个 Step by step 的设计案例,详细向您介绍如何上手开始使用基于赛灵思 UltraScale+ FPGA 的亚马逊(Amazon) EC2 F1 实例开始您的工作。

    FPGA SoC入门难?SDSoC帮你跨“门槛儿”

    作者:安富利

    该用什么硬件平台去做 Design-In?这是电子工程师在设计开发之初绕不过去的问题。专用芯片ASIC性能强但开发成本越来越高,通用的处理器灵活性好又不免会遭遇性能瓶颈……所以越来越多的人将目光转向了FPGA这种可由开发者自己“定义”硬件功能的可编程逻辑器件。

    近年来,随着采用“ARM内核+可编程逻辑”这种异构FPGA SoC器件(如Xiinx Zynq系列)的问世,更是为开发者提供了一种高性能和灵活性完美结合的新平台,让人不免技痒。

    Xilinx FPGA的配置流程

    作者:XCZ

    尽管FPGA的配置模式各不相同,但整个配置过程中FPGA的工作流程是一致的,分为三个部分:设置、加载、启动。

    复位结束配置开始

    有多种方式使FPGA的配置进入这一过程。在上电时,电压达到FPGA要求之前,FPGA的上电复位模块将使FPGA保持在复位状态;外部控制PROG_B引脚出现一个低脉冲也可以使FPGA保持在复位状态。

    清除配置存储内容

    这一步称为初始化,当FPGA复位结束,配置存储器的内容会被自动清除。在这个步骤中,除配置专用接口外,FPGA I/O均被置于高阻态。在整个初始化过程中,INIT_B引脚被置低并在初始化结束后恢复高电平。如果INIT_B信号在外部被拉低,FPGA将一直停留在初始化状态。注意PROG_B信号的脉宽不能太窄。

    采样控制信号

    同步内容