FPGA 答辩论文 - 图文 下载本文

第二章 FPGA 工作原理

通常在器件中以特殊行列模块的形式进行排列。存储器模块就是特殊的专用模块,可以配置为不同类型的存储器。

FPGA存储器模块可以配置成单端口或者双端口RAM,或者可编程ROM,还可以用做移位寄存器或者FIFO缓冲,以替代LAB逻辑。由于FPGA存储器模块和器件中的其他结构一样可以进行编程,因此,上电时能够以任意存储器内容对其进行初始化。可以初始化为任意存储器模式,并进行测试,所以,这对设计调试非常有用。

5. 嵌入式乘法器

现代FPGA器件中另一类专用资源模块是嵌入式乘法器。嵌入式乘法器是高性能逻辑模块,能够完成乘法、加法和累加操作。它们可以替代LUT逻辑来提高设计中的算术性能。

这对DSP设计非常有用。这些I/O结构支持高速协议,传送速率达到每秒百兆位甚至千兆位。较高的传送速率一般用于通信和网络设备中。

6. 时钟

所有FPGA器件都含有专用时钟输入引脚。这些引脚接收时钟信号,直接连接至芯片中的其他时钟控制结构。其他引脚可以用做时钟引脚,但信号需要通过其他逻辑结构。当不用做时钟时,时钟输入引脚可以用做标准I/O。时钟输入引脚一般馈入器件中的锁相环PLL。

2.1.3 FPGA的设计流程

FPGA设计方法可以总结为一个简单的设计流程,Altera的QuartusⅡ软件是全集成开发工具,完全支持这一设计流程。具体步骤如下。

(1)进行源文件的编辑和编译。首先需要将设计思路用文本方式或图形方式表达出来,进行排错编译,为进一步的逻辑综合做准备。常用的源程序输入方式有原理图输入方式和文本输入方式。

(2)进行逻辑综合和优化。将源文件经过一系列的操作,分解成一系列的逻辑电路及对应的关系,最终获得门级电路甚至更底层的电路描述文件,即生成与FPGA基本结构相对应的网表文件。

(3)进行目标器件的布线/适配。在选用的目标器件中建立起与网表文件符合的基本逻辑电路的对应关系。

(4)目标器件的编程下载。如果编译、综合、布线/适配和行为仿真、功能仿真、时序仿真等过程都没有发现问题,即满足原设计的要求,则可以将布线/适配器产生的配置/下载文件下载电缆载入目标芯片中。

- 9 -

第二章 FPGA 工作原理

(5)硬件仿真/硬件测试。将下载好程序的FPGA放在开发板上进行测试,以验证设计。

完整的FPGA设计流程如图2.4所示[12][13]。

图2.4 完整的FPGA设计流程

- 10 -

第二章 FPGA 工作原理

2.2 FPGA实现DDS的方法

目前,用FPGA来实现DDS有两种方法[14]:基于IIR滤波器的实现方法、基于查找表(LUT)的实现方法。其中,采用LUT的方法较为通用,在FPGA设计中是较为主流的实现途径,这缘于FPGA芯片中都会有丰富的LUT资源。

2.2.1 基于IIR滤波器的DDS

利用IIR滤波器产生正弦波如图2.5所示,图中IIR滤波器是一个全极点滤波器。

图2.5 利用IIR滤波器产生正弦波

该滤波器输出与输入之间的关系可表示为:

y(n)?x(n)?by(n?1)?y(n?2) (2-1)

在z域可表示为:

Y(z)?X(z)?bz?1Y(z)?z?2Y(z) (2-2)

从而其传递函数可表示为:

Y(z)111H(z)????X(z)1?bz?1?z?2(1?p1z?1)(1?p2z?1)1?(p1?p2)?p1p2z?2(2-3)

上式中,p1和p2是该滤波器的极点,且满足b?p1?p2,p1p2?1 。经过计算,可以知道:

p1,2?b?b2?4b?j4?b2?22 (2-4)

因为b是实数,所以p1和p2是复共轭,上式可以变为:

- 11 -

第二章 FPGA 工作原理

p1,2?e

?jarctan4?b2b (2-5)

显然,两个极点都是1,而且必然落在单位园上。从频率角度来描述极点是:

?jp1,2?e2?ffs (2-6)

对比式(2-5)和式(2-6),可以得出:

2?f4?b2?arctan (2-7) fsb上面二式中,fs是抽样频率。

4?b2?? ,因此b?2 。假设 f = fs / 8 ,代入式(2-7)中,可以得出arctanb4此时,图2.5对应的IIR滤波器的幅度频谱如图2.6所示,它的冲激响应如图2.7

所示。

图2.6 b?2时IIR滤波器的幅度频谱

- 12 -