名称:基于DDS的扫频仪设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
基于DDS的扫频仪设计
1、基于DDS原理设计扫频仪
2、自动控制正弦波频率由小变大循环扫频
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
顶层模块仿真
分频模块仿真
相位累加器模块
扫频控制模块
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
部分代码展示:
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; ???USE?ieee.std_logic_unsigned.all; --相位累加器 ENTITY?Frequency_ctrl?IS ???PORT?( ??????clk_in????:?IN?STD_LOGIC; ??fre_ctrl??:?IN?STD_LOGIC_VECTOR(13?DOWNTO?0);--输入频率控制字 ??????addra??????:?OUT?STD_LOGIC_VECTOR(13?DOWNTO?0)--输出地址 ???); END?Frequency_ctrl; ARCHITECTURE?behave?OF?Frequency_ctrl?IS ???SIGNAL?addr_sum?:?STD_LOGIC_VECTOR(13?DOWNTO?0)?:=?"00000000000000"; BEGIN ???PROCESS?(clk_in) ???BEGIN ??????IF?(clk_in'EVENT?AND?clk_in?=?'1')?THEN--fre_ctrl为频率控制字 IF(addr_sum>="0010011100001111")?THEN--9999 addr_sum?<=?"00000000000000";--回0 ELSE addr_sum?<=?addr_sum?+?fre_ctrl;--根据频率控制字控制累加器 END?IF; ??????END?IF; ???END?PROCESS; ???addra?<=?addr_sum(13?DOWNTO?0);--输出地址 ??? END?behave;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1262
阅读全文
369