一、IP核
IP(Intellectual Property)原指知识产权、著作权等,在IC设计领域通常被理解为实现某种功能的设计。IP模块则是完成某种比较复杂算法或功能(如FIR滤波器、FFT、SDRAM控制器、PCIe接口、CPU核等)并且参数可修改的电路模块,又称为IP核(IP Core)。随着CPLD/FPGA器件的集成度越来越高,设计越来越复杂,使用IP核是EDA设计的发展趋势。根据实现方式的不同,IP核可以分为软核(soft core)、固核(firm core)和硬核(hard core)。

Intel公司以及第三方合作伙伴提供的IP模块可以分为两类:可修改参数的IP核(Library of Parameterized Modules, LPM)和需要授权才能在生产设计中使用的IP核(功能更复杂的模块,也称为MegaCore)。这些模块专门针对不同的器件结构进行了优化,在设计数字系统时,我们可以充分利用这些IP模块,加快设计进度,同时提高器件资源的利用率。
注:该内容引用自Verilog HDL与FGPGA数字系统设计(第二版)
二、DDS信号发生器设计
1.DDS信号发生器
(1)概念
直接数字频率合成(Direct Digital Frequency Synthesis,简称DDS或DDFS)是一种应用数字技术产生信号波形的方法,它是由美国学者J. Tierncy、C.M. Rader和B. Gold在1971年提出的,他们以数字信号处理理论为基础,从相位概念出发提出了一种新的直接合成所需波形的全数字频率合成方法。
DDS系统通常包含以下模块:
相位累加器(Phase Accumulator)
波形查找表(Waveform ROM/LUT)
数模转换器(DAC)
抗混叠滤波器(Anti-Aliasing Filter)
(2)DDS工作流程

2. DDS信号发生器设计
使用Quartus Prime Lite创建工程,顶层文件名为DDS_top,芯片选择EP4CE115F29C7(详细步骤看其余FPGA文章)。
(1)相位累加器的设计
新建Verilog HDL File文件,文件名为addr_cnt.v(如果与VS Code连用代码写好后另存为就好)
//=====相位累加器和数据锁存器=====
module addr_cnt(CPi,K,ROMaddr,Address);
input CPi; //系统基准时钟(100MHz)
input [12:0] K; //13位频率控制字
output reg [9:0] ROMaddr; //10位ROM地址
output reg [16:0] Address; //17位相位累加器地址信号
always @(posedge CPi)
begin
Address = Address + K;
ROMaddr = Address[16:7];
end
endmodule
在项目中添加addr_cnt.v文件,选择Files,右键点击Files,点击添加

找到刚才保存的文件添加

选择Set as Top-Level Enti

&spm=1001.2101.3001.5002&articleId=147352433&d=1&t=3&u=793f939f1ece4ffe8452032774d361d0)
2988

被折叠的 条评论
为什么被折叠?



