Quartus三角波发生器VHDL代码仿真
名称:Quartus三角波发生器VHDL代码仿真
软件:Quartus
语言:VHDL
代码功能:
三角波发生器
1、使用VHDL设计三角波发生器,输出三角波
2、可以调整波形的频率
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
DDS原理


1. 工程文件

2. 程序文件



ROM IP核

3. 程序编译

4. RTL图

5. 仿真图


部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --DDS频率等于clk*N/2^13,clk为输入时钟,N为频率控制字frequency;2^13是因为ROM里面存储了8192个点,相位累加器位宽为13位 ENTITY DDS_top IS PORT ( clk_in : IN STD_LOGIC;--时钟 frequency : IN STD_LOGIC_VECTOR(9 DOWNTO 0);--频率控制字,控制输出波形频率,值越大,频率越大 wave : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--输出波形 ); END DDS_top; ARCHITECTURE behave OF DDS_top IS --例化模块 --相位累加器模块 COMPONENT Frequency_ctrl IS PORT ( clk_in : IN STD_LOGIC; frequency : IN STD_LOGIC_VECTOR(9 DOWNTO 0); addra : OUT STD_LOGIC_VECTOR(12 DOWNTO 0) ); END COMPONENT; --ROM表 COMPONENT sanjiao_ROM IS PORT ( address: IN STD_LOGIC_VECTOR (12 DOWNTO 0); clock: IN STD_LOGIC := '1'; q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END COMPONENT; SIGNAL addra : STD_LOGIC_VECTOR(12 DOWNTO 0); SIGNAL douta_sanjiao : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN --三角波ROM,存储波形数据 i_sanjiao_ROM : sanjiao_ROM PORT MAP ( clock => clk_in, address => addra, q => douta_sanjiao ); --相位累加器 i_Frequency_ctrl : Frequency_ctrl PORT MAP ( clk_in => clk_in, frequency => frequency,--频率控制字 addra => addra--输出地址 ); wave<=douta_sanjiao;--波形输出 END behave
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » Quartus三角波发生器VHDL代码仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » Quartus三角波发生器VHDL代码仿真