judy的博客

ZynqNet解析(五)具体硬件实现

背景:ZynqNet能在xilinx的FPGA上实现deep compression。
目的:读懂zynqNet的代码中关于硬件实现的部分。

Xilinx MIG 控制器使用详解(二)

关于DDR3的基本知识在这里我就不详细说了,只有在相关的地方会提上一嘴。本教程的目的只是教会大家如何使用MIG控制器,大家一定不要觉得MIG控制器有多难,其实很简单的,跟着我在心里默念“MIG就像BRAM一样简单”。确实哈,当你回过头来看,MIG控制器的使用基本和BRAM的使用方法很像

Vivado使用技巧(26):HDL编写技巧

在Vivado中进行HDL代码设计,不仅需要描述数字逻辑电路中的常用功能,还要考虑如何发挥Xilinx器件的架构优势。目前常用的HDL语言有三种

Xilinx MIG 控制器使用详解(一)

想要自己学习MIG控制器已经很久了,刚开始学习的时候也是在网上到处搜索MIG控制器的资料,深知学习过程的不容易。因此本系列的教程一定会详细的写出关于MIG控制器的相关知识,方便大家一起学习。有问题的朋友可以在下方留言,一起学习和讨论。

FPGA实践教程(一)用HLS将c程序生成IPcore

本文档重点探讨vivado HLS软件的使用,描述如何将相应的c程序用HLS转换为硬件可以实现的IPcore。

System Generator从入门到放弃(九)-利用Vivado HLS block实现Vivado HLS调用C/C++代码

ug948中提供的官方例程为图像的中值滤波,该设计将一副256*256大小的RGB图像,添加噪声后提取出其中的Y通道,使用C++语言完成中值滤波。该设计将在Simulink环境下进行仿真。本次设计的流程是利用Vivado HLS建立C/C++代码,Export RTL–>System Generator–>Vivado。

Vivado使用技巧(25):Block Synthesis技术

本文将介绍Vivado提供的块级综合流程(Block Synthesis Flow),允许设计者将某些全局设置和策略应用于特定的层次结构中,且可以与设计中的其它模块不同。

ZynqNet解析(四)FPGA端程序解析

背景:ZynqNet能在xilinx的FPGA上实现deep compression的网络,FPGA端程序运用传入每层数据运算后存在DRAM上。

目的:读懂ZynqNet的FPGA端的代码。

FPGA端代码经过HLS高层次综合为硬件语言实现在FPGA上。为fpga_top.cpp与fpga_top.hpp

程序包括:
fpga_top
gpool_cache
image_cache
weights_cache
output_cache
processing_element
memory_controller
(数据定义中fpga_top.hpp需要包含了network.hpp与netconfig.hpp)

System Generator从入门到放弃(八)-使用多时钟域实现多速率系统设计

多速率的概念是相对于单速率(Single Rate)信号处理而言的。单速率是指整个信号处理流程中只有一种数据速率;多速率是指系统中存在多个数据速率。使用多速率信号处理可以节省存储空间、减少通信数据量、减少运算量、减轻设计难度

ZynqNet解析(三)CPU端程序解析

ZynqNet能在xilinx的FPGA上实现deep compression的网络。目的:读懂ZynqNetCPU端的代码。