FFT ASC仿真验证平台的分析与搭建毕业论文
2021-06-25 00:03:18
摘 要
离散傅立叶变换(Discrete Fourier Transform,DFT)是数字信号处理最重要的组成部分。通过离散傅立叶变换能将信号由时域转成频域。但由于运算量比较大,实际用的并不多。而它的快速算法—快速傅里叶变换(Fast Fourier Transform,FFT)充分利用了DFT运算中的对称性和周期性,优化DFT变换的计算量,使其实现变得更加容易,应用领域也变得更加广泛:包括数字图像处理、无线通信、语音识别、频谱分析、雷达处理和地质勘探等。
目前,实现FFT算法方式有多种,主要可分软件和硬件两大类。其中软件实现主要是通过编译软件算法(Intel MKL、IPP、Spira以及FFTW等)并将它们下载到通用处理器(Intel系列微处理器以及AMD Athlon处理器等等)中运行来实现的;但相比较而言,硬件实现FFT的方式速度更快。主要又分为以下3种:通用可编程DSP芯片实现,其成本低但实时性差。现场可编程门阵列(Field Programmable Gata Array简称FPGA)实现,具有在线可编程且硬件可重构的特点。专用集成电路(Application Specific Integrated Circuit,ASIC)实现,具有运行速度快、功耗低的特点。
本文主要讨论利用ASIC实现FFT算法的方式,分析基2算法、基4算法以及其他固定基数的FFT算法的基本原理与流程,介绍用于FFT ASIC代码的针对非2的整数幂点数的混合基算法,然后分析各种算法的硬件实现特点;之后介绍已有的二维FFT ASIC设计的总体架构,分析其中串口的发送命令字的架构特点(包括同步串口以及I2C总线)。为满足二维FFT ASIC芯片的可靠性要求,需要对设计的代码进行功能验证,尽可能的发现设计过程中的缺陷,避免造成因验证不完全导致流片失败的后果,结合matlab的强大计算功能,搭建验证平台,实现对FFT芯片的RTL功能验证,找出设计的缺陷,加以矫正。
关键词:ASIC;FFT算法;验证;matlab;
Abstract
Discrete Fourier Transform(DFT) is one of the most important foundation of digital signal processing, which enables the computer transform the signal from time domain to frequency domain, the count of arithmetic operations is relatively large, so in fact, we usually use more its fast algorithm(Fast Fourier Transform) than itself. The FFT algorithm make the fullest use of the symmetry and periodicity of the DFT operation to improves the DFT algorithm, which reduces the count of DFT operations from N2 to Nlog2N and make it easier to implement the digital signal processing. So far, it is widely used in digital image processing, wireless comm- unication, voice recognition, spectrum analysis, radar processing and so on.
At present, there are many ways to implement the FFT algorithm, which can be mainly classified into such two categories as software and hardware. The software implementation of FFT is mainly through compiling software algorithm (Intel MKL, IPP, Spira, FFTW, etc.) and downloading them to general-purpose processors(Pentium microprocessor, intel core and AMD Athlon processors, etc.). Under the same con- ditions, the way of hardware implementation of FFT is faster than that of the soft- ware. The way of which can also be classified into three categories: use low-cost but poor real-time of Digital Signal Process chips(DSP), use reconfigurable and program- mable Field Programmable Gata Array(FPGA) and use fast and low-power Applic- tion Specific Integrated Circuit(ASIC).
This paper mainly discusses the method of implementing FFT algorithms in ASIC architecture, analyzes the basic principle and process of radix-2 algorithm、radix-4 algorithm、hybrid radix FFT algorithm and so on. Then the paper will intro- duce the gerenal architecture of 2D FFT ASIC design, analyzes the basic principle and process of sending and check command strings. In order to meet the requirements of the reliability of ASIC design, it’s necessary to verify the designed codes and find defects in the design process as much as possible so as to aovid the case in which the errors we have overlooked during verification results in the failure of tap-out. In the end, the paper will introduce the way to build verification platform to verify the correctness of designed codes.
Key Words: ASIC; FFT algorithm ; verification; matla
目 录
摘 要 I
Abstract II
1 绪论 1
1.1 课题背景和意义 1
1.2 课题现状以及发展趋势 2
1.3 本文研究内容 5
1.4 本文行文结构 5
2 算法与架构分析 6
2.1 FFT算法 6
2.1.1一维FFT变换 6
2.1.2 二维FFT算法 13
2.2 架构分析 15
2.2.1 串口架构分析 16
3.2.2 I2C总线 18
2.3 本章小结 19
3 仿真验证平台的搭建 20
3.1 ASIC设计流程 20
3.2 仿真验证平台的搭建 21
3.2.1 硬件仿真平台的搭建 21
3.2.2 软件仿真平台的搭建 24
3.3 测试变量生成 28
3.4 本章小结 30
4 验证结果分析 32
4.1 测试功能项 32
4.2 测试过程中发现设计中的问题 33
4.3 误差分析 35
4.3.1 图像数据仿真误差 35
4.3.2 随机输入仿真误差 38
4.3.3 误差分析 41
4.4 本章小结 42
参考文献 43
致 谢 45
第1章 绪论
自上世纪60年代以来,数字集成电路迅猛发展,其遵照一个基本规律—摩尔定律。它经历了由分立元件、小规模集成电路(Small scale integration 简称SSI)到中等规模集成电路(Middle scale integration 简称MSI)、再到大规模集成电路(简称LSI)、最后到如今应用广泛的甚大规模电路(Very-Large-scale integration 简称VLSI)以及超大规模集成电路(Ultra Large-Scale Integration 简称ULSI)的过程。但微处理器和专用集成电路(ASIC)更能满足对系统的可靠性能以及抗干扰等性能要求,慢慢地代替了通用集成硬件电路。而在这两者中,ASIC以其体积小、功耗低等优点著称,所以实际应用领域也非常多。本文就是针对FFT ASIC设计加以验证,确保代码设计过程中没有出现误差。
1.1 课题背景和意义
随着世界经济和科技的发展,全球已然步入数字化时代。数字信号处理是利用计算机对信号进行采集,然后进行一系列其他操作来达到符合人们需要的目的。数字信号处理是以众多经典理论体系(包括微积分、概论统计、数值分析、通信理论、信号与系统、控制论等)为理论基础的,同时又使自己成为一系列新兴科学(包括人工智能、神经网络以及模式识别等)的理论基础。如今数字信号处理成为当今一门非常重要学科,在无线通信、语音识别、图像处理、遥感遥测与地质勘探等众多领域得到了实际应用。
在数字信号处理领域,我们对信号进行各种处理的主要理论依据是离散傅立叶变换和卷积,其中卷积也可以根据相关公式转化成DFT计算问题。DFT能将信号由时域转到频域,从而研究信号的频谱和变化规律。实际上是指的是以时域信号和频域信号之间的一种对应关系。但是由于其计算量比较大,实际应用存在困难,因此并有了著名的科学家T.W.和j.W.所提出的快速算法。虽然快速傅立叶变换并不是一种新型算法,但极大的优化了DFT算法的运算量,解决了DFT算法难以应用的困难。其意义超出了算法所能覆盖的范围,具有很强的工程应用的价值,所以不难想象FFT算法是在数字信号处理发展史上的重要地位。