名称:Quartus正弦波发生器VHDL代码仿真(文末获取)
软件:Quartus
语言:VHDL
代码功能:
正弦波发生器
使用quartus设计,VHDL语言设计正弦波发生器
内部存储正弦波的ROM表,通过仿真波形可以观察到正弦波
1. 工程文件
2. 程序文件
ROM IP核
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; --DDS ENTITY DDS_top IS PORT ( clk_in : IN STD_LOGIC;--时钟 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; addra : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ); END COMPONENT; --ROM表 COMPONENT sin_ROM IS PORT ( address: IN STD_LOGIC_VECTOR (6 DOWNTO 0); clock: IN STD_LOGIC; q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END COMPONENT; SIGNAL addra : STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN --sin波ROM,存储波形数据 i_sin_ROM : sin_ROM PORT MAP ( clock => clk_in,--时钟 address => addra,--ROM地址 q => wave--输出波形 ); --相位累加器 i_Frequency_ctrl : Frequency_ctrl PORT MAP ( clk_in => clk_in,--时钟 addra => addra--输出地址 ); END behave;
完整代码
扫描文章末尾的公众号二维码