词汇表汇总

数组分离

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

比特流

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

脉动阵列

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

任务

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

任务流水

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

任务间隔

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

任务延迟

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