小舍YZ
发表于 2017-6-6 10:12:22
然后,选中adder,设置位宽为16,然后点击“Generate”,信息显示区显示Generating IP...,直到出现Successfully generated adder的提示信息。此时在工程管理区出现一个“adder.xco”的文件。这样加法器的IP Core已经生成并成功调用。
IP Core在综合时被认为是黑盒子,综合器不对IP Core做任何编译。IP Core的仿真主要是运用Core Generator的仿真模型来完成的,会自动生成扩展名为.v的源代码文件。设计人员只需要从该源文件中查看其端口声明,将其作为一个普通的子程序进行调用即可。下面给出加法器的应用实例。
例4-1 调用加法器的IP core,并用其实现图4-15所示的2级加法树。
图4-15 2级加法器示意图
小舍YZ
发表于 2017-6-6 10:13:20
按照本节介绍的步骤生成2个加法器的IP core Add16和Add17,前者用于实现第1级的加法,后者用于实现第2级加法,对应的代码为:
module addertree(clk, a1, a2, b1, b2, c);
input clk;
input a1;
input a2;
input b1;
input b2;
output c;
wire ab1, ab2;
adder16 adder16_1(
.A(a1),
.B(a2),
.Q(ab1),
.CLK(clk)
);
adder16 adder16_2(
.A(b1),
.B(b2),
.Q(ab2),
.CLK(clk)
);
adder17 adder17(
.A(ab1),
.B(ab2),
.Q(c),
.CLK(clk)
);
endmodule
上述程序经过综合后,得到如图4-16所示的RTL级结构图。
图4-16 2级加法树的RTL结构图
小舍YZ
发表于 2017-6-6 10:14:55
经过ModelSim 6.2b仿真测试,得到的功能波形图如图4-17所示。由于每一级加法器会引入一个时钟周期的延迟,因此,两级加法器就会引入2个时钟的周期,可以看出,仿真结果和设计分析的结果是一样的。
图4-17 2级加法树仿真结果示意图
小舍YZ
发表于 2017-6-6 10:15:08
Xilinx公司提供了大量的、丰富的IP Core资源,究其本质可以分为两类:一是面向应用的,和芯片无关;还有一种用于调用FPGA底层的宏单元,和芯片型号密切相关。下面分别对这两类给出数字频率合成器模块DDS的调用实例。
小舍YZ
发表于 2017-6-6 10:15:57
2. DDS模块IP Core的调用实例
• DDS算法原理
DDS技术是一种新的频率合成方法,是频率合成技术的一次革命,最早由JOSEPH TIERNEY等3人于1971年提出,但由于受当时微电子技术和数字信号处理技术的限制,DDS技术没有受到足够重视,随着数字集成电路和微电子技术的发展,DDS技术日益显露出它的优越性。
DDS的工作原理为:在参考时钟的驱动下,相位累加器对频率控制字进行线性累加,得到的相位码对波形存储器寻址,使之输出相应的幅度码,经过模数转换器得到相应的阶梯波,最后再使用低通滤波器对其进行平滑,得到所需频率的平滑连续的波形,其结构如图4-18所示。
图4-18 DDS的结构框图
小舍YZ
发表于 2017-6-6 10:16:42
相位累加器由N位加法器与N位累加寄存器级联构成,结构如图4-19所示。每来一个时钟脉冲fclk,加法器将频率控制字K与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。
图4-19 DDS相位累加器
小舍YZ
发表于 2017-6-6 10:17:45
波形存储器所储存的幅度值与余弦信号有关。余弦信号波形在一个周期内相位幅度的变化关系可以用图4-20中的相位圆表示,每一个点对应一个特定的幅度值。一个N位的相位累加器对应着圆上 个相位点,其相位分辨率为 。若 ,则共有16种相位值与16种幅度值相对应,并将相应的幅度值存储于波形存储器中,存储器的字节数决定了相位量化误差。在实际的DDS中,可利用正弦波的对称性,可以将 范围内的幅、相点减小到 内以降低所需的存储量,量化的比特数决定了幅度量化误差。
图4-20 三角函数相位与幅度的对应关系
小舍YZ
发表于 2017-6-6 10:18:55
波形存储器的输出送到 D/A 转换器,D/A 转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。DDS 在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供的信号源优于模拟信号源。
DDS模块的输出频率 是系统工作频率 、相位累加器比特数N以及频率控制字K三者的一个函数,其数学关系由式(4.1)给出。
(4.1)
它的频率分辨率,即频率的变化间隔为;
(4.2)
• DDS IP Core的调用
页:
2
3
4
5
6
7
8
9
10
11
[12]