一、指标
功耗
吞吐量
逻辑密度
二、软件运行时间方面提升
1.通过增加处理器的时钟频率
2.使用专用处理器
3.处理器的多核处理
三、FPGA的编程模型
1.传统的FPGA编程模型的核心是寄存器的传输级RTL描述
2.新方式编程模式是C/C++作为核心编程模型
四、FPGA架构
1.LUT查找表
查找表是用来执行逻辑运算的
2.FF触发器
触发器作为寄存器元件用于存储LUT的计算结果
3.线路
线路用于元件的彼此相连
4.输入输出IO焊盘
这些物理端口负责在FPGA上的输入和输出数据
五、硬件设计的基本概念
1.时钟频率
处理器的时钟频率是判定特算法执行平台的重要考量;
是时钟频率越高,算法执行速率性能越高。
六、处理器指令集处理
1.单指令集处理的方式
2.多指令集的处理方式
多指令集可以流水的方式处理,但是单个时刻只能执行一个exe,这个收到处理器的核的影响,一个核使用多指令集,一次也只能执行一个EXE,所以需要多核处理
3.多核心多治理集的处理方式
这种情况有多个核,但是处理器的核心数毕竟有限,所以同时执行多指令集,虽然有提升性能,但是毕竟还是有限。
七、FPGA架构处理多指令集
FPGA只要资源有限,对多指令执行的并行度是没有限制的。
八、选择FPGA还是CPU
选择FPGA还是CPU处理器,需要依据吞吐量和时延来判定,而不是最大时钟频率来判定。
九、时延和频率
上图无流水线设计的FPGA流程,时延需要5个clock,但是,这个设计的时钟频率跑不高。
流水线设计之后,时钟频率可以跑很高,但是时延变得很大,插入的寄存器会引入延时。
流水线设计的后果势必会造成延时过大;所以设计者需要在时钟频率和延时之间做取舍。
十、存储
1.寄存器,移位寄存器,FIFO,BRAM
2.FLASH,EMMC,SD卡
3.SDRAM,DDR3,DDR4,DDR5
4.SSD磁盘
移位寄存器可被视为一种特殊队列;
FIFO 可被视为含单一入口点和单一出口点的队列。