在高性能计算和存储应用中,DDR3内存接口是FPGA设计中不可或缺的一部分。

Xilinx FPGA提供了一种MIG(Memory Interface Generator)的IP核,用于简化DDR3的设计。

本文将详细介绍Xilinx FPGA平台上的MIG IP核,包括MIG结构、读写时序等。

使用FPGA实现ISP的扩展方案,可以提高图像处理的速度和效率。以下是一个简单的FPGA ISP扩展方案:

将图像处理的算法转换为FPGA系统设计的过程称为算法映射,CPU并行算法的实现与FPGA并行算法的实现是有一定区别的。

1. 算法系统结构

图像处理算法主要有两种设计结构:流水线结构和并行阵列结构。

学习傅里叶变换需要面对大量的数学公式,数学功底较差的同学听到傅里叶变换就头疼。事实上,许多数学功底好的数字信号处理专业的同学也不一定理解傅里叶变换的真实含义,不能做到学以致用!

事实上,傅里叶变换的相关运算已经非常成熟,有现成函数可以调用。对于绝大部分只需用好傅里叶变换的同学,重要的不是去记那些枯燥的公式,而是解傅里叶变换的含义及意义。

本文试图不用一个数学公式,采用较为通俗的语言深入浅出的阐述傅里叶变换的含义、意义及方法,希望大家可以更加亲近傅里叶变换,用好傅里叶变换。

MicroBlaze可以使用AXI BRAM存放数据和指令。有些客户软件很大,需要把AXI BRAM的空间做到最大。AXI BRAM底层是Block RAM或者Ultra RAM。器件的Block RAM或者Ultra RAM个数,决定了AXI BRAM的大小。

在ZCU106单板上,有312个Block RAM,有96个Ultra RAM。客户需要1MB存储空间。实现MicroBlaze时,也使用Block RAM实现Cache,和Local Memory。剩下的个Block RAM不够做1MB的AXI BRAM。为了实现1MB空间,可以用Block RAM实现512KB AXI BRAM、256KB AXI BRAM;再使用Ultra RAM实现256KB AXI BRAM。为这三个AXI BRAM分配连续的地址空间,从而使软件感觉到这是一个存储器。其中,Block RAM和Ultra RAM还可以根据实际情况调整,比如用Block RAM实现512KB AXI BRAM;用Ultra RAM实现512KB AXI BRAM,两个存储器也可以实现1MB存储空间。