词汇表
数组分离
把一个逻辑数组分离到不同的内存中储存
比特流
用于编程FPGA功能的配置数据
BRAM
一个可编程的RAM模块,嵌入在FPGA上以完成数据储存和交流
C/RTL同步模拟
用C测试平台的测试矢量来完成HLS产生的RTL设计这个过程
压缩行储存
也就是CRS,是一个表示稀疏矩阵的方法。它能够有效的表示一个很大但有很多无效数字的矩阵。
数据率
任务处理输入数据的频率。通常以比特每秒的单位表示,取决于输入数据的大小。
离散傅立叶变换
DFT,以一个离散信号为输入,把它转换成频率域的信号的过程。
EDA
电子设计自动化工具,是一些帮助完成硬件设计的软件工具。
快速傅里叶变换
FFT,优化版本的离散傅立叶变换,需要更少量的操作。
触发器
触发器(FF)是可以储存信息的电路。我们通常默认它可以储存1比特的信息,是组成数字电路的最基本的模块之一。
有限脉冲响应
FIR,一个常见的数字信号处理任务,将一个输入信号和既定系数决定的信号做卷积。FIR通常用硬件实现比较有效。
FPGA
现场可编程门阵列,是一种出厂后仍可以被用户自定义集成电路。
HLS
高层次综合,是一种将算法描述转换成RTL的硬件设计语言,它可以详细规定电路每个周期的行为。
I/O模块
一个I/O模块可以提供FPGA与系统中其他部分连接的接口。I/O模块可以与内存(包括片上内存和不在片上的DRAM),微处理器(通过AXI或其他协议),传感器,校准器等部分交流。
IP核
一个RTL层级的部件,具有完善的接口来接入整个设计。通常出于知识产权(Intellectual Property)目的向其他公司隐藏,由此得名。
逻辑综合
把一个glsrtl设计转换成设备层的连线表的过程。
循环交叉
一种改变循环里操作的顺序的代码转变。这种转变通常是解决递归的有效方式。
循环流水
允许一个循环的多个步骤同时运行,享有同样的功能单位。
查找表
查找表(LUT)是一种地址信号作为输入,相对应位置的存储数值作为输出的内存形式。它是现代FPGA的一个重要组成部分。
连线表
设计的中间连接部分,由设计层的主要部件和他们之间的连接方式组成。在FPGA设计中“主要部件”包括查找表,触发器,和BRAM。
部分循环展开
循环的主体被复制成多次执行的过程。通常被用于处理系统(PS)以减少循环的占用(overhead),也会有利于向量化。
放置与路由
把设备层主要部件的连线表转换成一个具体装置配置的过程。
处理
数据流结构中的一个独立部分。
处理部件
设计中的一个可以简单的处理同步执行的部件,在HLS中通常出现在数据流结构的描述中。
递归(recurrence)
一种代码结构,产出的电路中带有反馈循环,这种结构会限制电路的产力。
ROM
只读内存(Read-Only Memory)是一种被初始化到一定数值的内存,它只能被读取无法被写入数据。在很多情况下用ROM储存是一种非常好的优化因为他们存储的数据不会变。
路由通道
路由通道提供FPGA内各部件灵活的连接方式。
RTL
寄存器转移级(Register Transfer Level),是一种硬件描述,它用各个寄存器之间的逻辑操作来搭建一个同步数字电路。它也是现代数字设计的一个常见设计入口。
slice
一些查找表,触发器和mux的集合,具体配置在FPGA资源配置报告中有详述。
分类单元
一个简单的组件,是分类算法的系统的一部分。通常分类单元可以执行两个对象的比较和交换。
稳定分类
一种分类算法,如果它能保证排序前2个相等数的前后位置顺序和排序后它们两个的前后位置顺序相同,那么它就是稳定分类。
静态单赋值
静态单赋值是编译器中的一种中介码,每个变量在这里只被赋值一次。这种形式让优化变得更简单。
交换盒
交换盒连接各个路由通道,为可编程逻辑和I/O模块之间数据的流通提供了一个灵活的路由结构。
脉动阵列
一个协同完成复杂算法的处理部件阵列。脉动列阵的设计方向通常是让每个处理部件封装一些本地信息,并且只和他们的本地邻居进行交流。这样简单的增大阵列的尺寸就可以增加处理的项目的尺寸。
任务
行为,或说高层次综合计算的基本的原子级单位。高层次综合中与之对应的是函数调用。
任务流水
用流水的形式在一个加速器上同时执行多个任务。
任务间隔
一个任务开始和下一个任务开始之间的间隔。
任务延迟
一个任务开始和它结束之间的间隔。