Xilinx
Accelerator Design Related
Zheyuan Zou
中国科学技术大学2021级计算机系统结构硕士研究生,E-mail:[email protected]
展开
-
UG1270 Reading Notes(1)
UG1270 Chapter 1 Introduction 1.优化过程由两部分组成:指明采取何种优化的指示(directives)和优化应该以怎样方式确定而有效被施加的原则(methodology) 2.SDSoC虽然支持HLS Pragmas,但是不支持施加于接口的pragmas(interface、array partition、data_pack等) Chapter2 Optimizing the Hardware Function 施加硬件函数优化的两种流程:自顶向下(Top-down)和自底原创 2020-12-18 11:58:22 · 151 阅读 · 0 评论 -
UG871 Reading Notes(4)
Chapter5 Arbitrary Precision Types(抽象精度类型) 一、C++原生数据类型 C++/C提供的原生数据类型均是以8-bit为边界的,但是在实际的硬件设计时,这样对数据类型的选择灵活性很差。一方面它有时会造成额外的硬件资源开销,更严重的是,更高的数据位宽会造成更高的计算时延,使得有可能需要更多的时钟周期来得到计算结果。 在设计报告的分析中,可以看到浮点运算耗用了大部分的设计执行时间。 二、使用抽象精度类型 此设计和一中不同的地方在于使用了抽象精度类型,打开头文件原创 2020-12-18 11:29:01 · 81 阅读 · 0 评论 -
UG871 Reading Notes(3)
Chapter4 Interface Synthesis(接口综合) 接口综合是向设计中添加RTL端口的过程,这个过程不仅仅添加了物理意义上的端口,也顺带实现了相应的协议,使得此端口的数据传输自动同步化和优化。 一、 块级I/O控制协议 1.块级协议使得RTL Design可以被除数据端口之外的附加端口控制,这是块级I/O控制协议的本质作用。块级I/O协议只和函数本身(也就是说在插入directive时选中的是函数体本身)有关,而与数据端口无关。无特别说明时:块级I/O控制协议采用ap_ctrl_hs(sh原创 2020-12-14 22:25:27 · 185 阅读 · 0 评论 -
UG871 Reading Notes(2)
Chapter 3 C Validation 一、C 验证和debug 二、含有ANSI C 抽象精度类型的C验证 1.Vivado HLS提供了任意长度的抽象精度类型,不同于一般的C语言中基本数据类型长度必须是8的整数倍,包含头文件”ap_cint.h” 2.含有ANSI C抽象精度数据类型的ANSI C代码文件不能用Debugger,取而代之的是必须用输出语句fprintf、printf在test_bench中来debug,只有C++和systemC的抽象精度类型可以使用Debugger来调试。 三、原创 2020-12-14 22:14:51 · 81 阅读 · 0 评论 -
UG871 Reading Notes(1)
Chapter 2 High-Level Synthesis Introduction 一、使用hls开发一个工程的基本流程 1.新建一个工程 2.验证C源代码:这一步也叫做C验证或者C仿真(run C Simulation) 3.高层次综合,此步骤将C语言描述的硬件设计翻译为RTL级设计,并可查看设计性能和资源占用报告(C synthesis) 4.RTL级验证(run C/RTL Cosimulation)在这一步会对设计有进一步的优化,所以所用资源可能会减少 5.导出RTL包,也就是导出此IP核(Ex原创 2020-12-14 22:10:47 · 102 阅读 · 0 评论