• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

Quartus三角波發(fā)生器VHDL代碼

13小時前
149
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-231225154100b0.doc

共1個文件

名稱:Quartus三角波發(fā)生器VHDL代碼

軟件:Quartus

語言:VHDL

代碼功能:

三角波發(fā)生器:

1、使用VHDL設(shè)計三角波發(fā)生器,輸出三角波;

2、可以調(diào)整波形的頻率。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計文檔:

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,存儲波形數(shù)據(jù)
???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

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=405

  • 2-231225154100b0.doc
    下載

相關(guān)推薦