# 词汇表汇总

## 数组分离

把一个逻辑数组分离到不同的内存中储存

## 比特流

用于编程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模块之间数据的流通提供了一个灵活的路由结构。

## 脉动阵列

一个协同完成复杂算法的处理部件阵列。脉动列阵的设计方向通常是让每个处理部件封装一些本地信息，并且只和他们的本地邻居进行交流。这样简单的增大阵列的尺寸就可以增加处理的项目的尺寸。

## 任务

行为，或说高层次综合计算的基本的原子级单位。高层次综合中与之对应的是函数调用。

## 任务流水

用流水的形式在一个加速器上同时执行多个任务。

## 任务间隔

一个任务开始和下一个任务开始之间的间隔。

## 任务延迟

一个任务开始和它结束之间的间隔。
