FPGA基础知识
祥瑞Coding
机器学习,计算机视觉
展开
-
FPGA基础知识(一)UG998中FPGA相关的硬件知识与基本结构
本文是我在学习FPGA时学到的相关知识与总结,希望可以帮助同行理解和掌握相关的FPGA知识。可以将本文档当作相应FPGA教程文档UG998的辅助文档学习。转载请注明出处。Xilinx原版教程文档参见XilinxDocumentation navigator 中对应UG998:Introduction to FPGA Design with Vivado High-Level Synthesis...原创 2018-06-06 13:57:38 · 5279 阅读 · 10 评论 -
vivado HLS硬件化指令(二)HLS针对数组的硬件优化
背景:循环结构是c语言中经常出现的内容。HLS会对数组作出具体的优化。目的:目的,搞懂HLS对数组的操作。UG902 v2016.4 P326:HLS用户指南中数组的内容 CH.3 HLS coding styles:Arrays目录1. 数组1.1 c仿真中的数组1.2 数组的实现1.3 可能出现的问题2. 数组的接入与性能3. FIFO接入4. 数组的...原创 2018-08-07 19:16:32 · 9493 阅读 · 2 评论 -
vivado HLS硬件化指令(一)HLS针对循环的硬件优化
背景:循环结构是c语言中经常出现的结构。HLS会对循环结构作出具体的优化。目的:目的,搞懂HLS对循环的操作。UG902 v2016.4 P318:HLS用户指南中Loops内容目录1.对循环的操作2.循环上限变动2.1 无法确定latency与performance2.2 产生报告方法:运用tripcount指令2.3 无法运行的优化2.4 优化方案,定上...原创 2018-08-07 14:21:29 · 7195 阅读 · 3 评论 -
vivado HLS硬件化指令(三)HLS增大运算吞吐量的硬件优化
背景:为了更少的时延,我们需要增大吞吐量和流率,因此需要用到下面的优化指令。目的:熟悉UG902文档中HLS关于增大吞吐量和流率的优化指令。目录1. Task Pipeline1.1 Rewinding pipelined loops1.2 Flushing Pipeline1.3 Automatic loop pipeline2 Partition Array to ...原创 2018-08-14 18:23:50 · 19905 阅读 · 6 评论 -
FPGA基础知识(九)SDK相关知识
背景:通过vivado软件可以用于搭建硬件系统,确定相应的PS的参数外设等等,要用SDK软件来实现在片上PS上,并且用片上PS运行程序。目的:掌握SDK软件中相关知识。目录一、硬件与软件二、连接硬件2.1 JTAG2.2 Interrupts与Exceptions2.3 GIC:generic interrupt controller通用中断控制器 SDK...原创 2018-07-24 16:12:45 · 6062 阅读 · 0 评论 -
FPGA基础知识(八)vivado设计流程中的知识
背景:设计流程中反复看到不同的文件类型及操作。目的:我们需要理解这些不同格式的文件都是什么作用,以及设计流程中每一步的意义。目录一、文件1.1 TCL文件1.2 XML文件1.3 PS7_Init1.4 BD file二、 Debug流程一、文件1.1 TCL文件Tcl (最早称为“工具命令语言”"Tool Command Language", 但是...原创 2018-07-23 17:30:01 · 3219 阅读 · 0 评论 -
FPGA基础知识(七)片上单片机
背景:FPGA的片上单片机(PS:processor),在FPGA中起重要作用。在我们所有的设计流程中反复涉及PS。目的:查阅相关资料我们了解PS的相关知识。查阅资料,Zynq HW 2013.3 Slides目录一、概览1.1、Cache1.2、SCU:snoop control unit窥探控制单元1.3、ACP(accelerator coherency port...原创 2018-07-23 16:47:17 · 2908 阅读 · 2 评论 -
FPGA基础知识(十)DMA与AXI4总线
背景:FPGA的系统搭建中必定出现DMA和AXI总线的相关内容。目的:介绍DMA与AXI总线的相关知识,以便理解与应用。相关内容:FPGA基础知识(一)UG998中FPGA相关的硬件知识与基本结构FPGA基础知识(四)UG902 RTL仿真与输出FPGA基础知识(六)UG586 Mermoy Interface Solutions内存接口的生成与使用FPGA基础知识(七)片...原创 2018-07-12 10:43:28 · 21986 阅读 · 1 评论 -
FPGA基础知识(六)UG586 Mermoy Interface Solutions内存接口的生成与使用
背景:FPGA的片上BRAM内存较少,难以实现大量的存储。DDR的内存较多,若可直接用FPGA调用则可以实现很多东西。目的:运用MIG调用DDR相关文档学习。参阅的文档:DS176:Zynq-7000 AP SoC and 7 Series FPGAs Memory Interface Solutions Data SheetUG586: zynq-7000 AP Soc and 7 ...原创 2018-07-10 18:27:04 · 8454 阅读 · 2 评论 -
FPGA基础知识(五)系统集成知识
本文档重点探讨vivado软件的使用和系统集成的相关知识。完成此过程可以参阅的文档有UG892: Vivado Design Suite User Guide, Design Flows Overview背景:我们用vivado HLS对相关软件生成了相应的IP core,现在需要对IP core进行系统集成,形成完整的设计。目录一、明确任务UG893:Using the ...原创 2018-06-14 10:54:33 · 2568 阅读 · 2 评论 -
FPGA基础知识(四)UG902 RTL仿真与输出
本文是我在学习FPGA时学到的相关知识与总结,希望可以帮助同行理解和掌握相关的FPGA知识。可以将本文档当作相应FPGA教程文档UG902的辅助文档学习。主要内容为文档中关于RTL simulation and export。转载请注明出处。Xilinx原版教程文档参见Xilinx Documentation navigator 中对应UG902:Vivado Design Suite Use...原创 2018-06-08 09:33:41 · 2456 阅读 · 1 评论 -
FPGA基础知识(三)UG902 接口综合
本文是我在学习FPGA时学到的相关知识与总结,希望可以帮助同行理解和掌握相关的FPGA知识。可以将本文档当作相应FPGA教程文档UG902的辅助文档学习。主要内容为文档中关于接口的部分。转载请注明出处。Xilinx原版教程文档参见Xilinx Documentation navigator 中对应UG902:Vivado Design Suite User Guide High-Level S...原创 2018-06-08 09:25:20 · 4624 阅读 · 3 评论 -
FPGA基础知识(二)HLS相关知识
本文档是我在实践将简单的神经网络LeNet-5实现到Xilinx 的zynq的FPGA上遇到的问题和解决方法。本文档为实现相应操作所需掌握的背景知识,有了这些基础之后才能进行后面相应的软件操作。需要反复阅读相关概念,这样在运行相应软件时才能明白每个步骤的意义。FPGA基础知识参阅我之前的文章:FPGA入门教程:赛灵思文档解析UG998 FPGA设计与vivado高层次综合介绍(一)...原创 2018-06-06 16:30:01 · 9364 阅读 · 1 评论 -
vivado HLS硬件化指令(四)卷积相关的指令优化
目的:搞懂与卷积相关的HLS硬件指令。目录INLINE指令p316UNROLL指令P154 UNROLL停止的判断LATENCY指令 P164FUNCTION_INSTANTIATE P174RESOURCE P178DATAFLOW P157 DATAFLOW运用的限制 DATAFLOW不支持:不是single-producer-...原创 2018-11-28 17:30:51 · 3995 阅读 · 0 评论