4种波形发生器设计VHDL代码Quartus仿真
名称:4种波形发生器设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
4种波形发生器
1、产生方波、三角波、正弦波、锯齿波
2、不同波形通过开关进行选择
3、可以控制波形的频率
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1.工程文件

2.程序文件


3.程序运行

4.RTL图

5.Testbench

6.程序仿真
最终输出波形为wave_data信号,wave_select信号选择输出哪种波形(00方波;01-三角波;10-正弦波;11-锯齿波),frequency_data信号设置波形频率(frequency_data值越小频率越大)。





部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY wave_generation IS PORT ( sys_clk : IN STD_LOGIC;--输入时钟 sys_rst : IN STD_LOGIC;--高电平复位 wave_select : IN STD_LOGIC_VECTOR(1 DOWNTO 0);--00方波;01-三角波;10-正弦波;11-锯齿波 frequency_data : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--频率控制信号 wave_data : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--波形输出 ); END wave_generation; ARCHITECTURE behaviour OF wave_generation IS COMPONENT carrier_wave IS PORT ( clk : IN STD_LOGIC; rst : IN STD_LOGIC; triangular_wave : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); sawtooth_wave : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); square_wave : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); sin_wave : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END COMPONENT; SIGNAL clk : STD_LOGIC; SIGNAL triangular_wave : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL sawtooth_wave : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL square_wave : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL sin_wave : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL clk_cnt : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000"; BEGIN carrier_wave_ge : carrier_wave PORT MAP ( clk => clk, rst => sys_rst, triangular_wave => triangular_wave, sawtooth_wave => sawtooth_wave, square_wave => square_wave, sin_wave => sin_wave ); PROCESS (sys_clk) BEGIN IF (sys_clk'EVENT AND sys_clk = '1') THEN IF (sys_rst = '1') THEN clk_cnt <= "00000000"; ELSIF (clk_cnt = frequency_data) THEN clk_cnt <= "00000000"; ELSE clk_cnt <= clk_cnt + "00000001"; END IF; END IF; END PROCESS;
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 4种波形发生器设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 4种波形发生器设计VHDL代码Quartus仿真