DDS în FPGA

M

mobil-l

Guest
oricine are anumite informaţii despre punerea în aplicare într-un FPGA DDS?

Cauti un fel de tutorial.Mulţumesc în avans.

 
uita-te la dispozitivele de site-ul analogic.avea DDS bun tutorial.
diagramele funcţionale DDS puteţi vedea în nuclee docs ip.

 
Dragi prieteni,
Xilinx are acest nucleu DDS să fi folosit ca cutie neagră în proiectare. Du-te la Xilinx centru de anchetă
de bază pentru DDS.De asemenea, dacă a Xilinx ISE 6.X/7.X instrument, a generatorului Core puteţi obţine plin de bază DDS şi implementarea acestuia.Uita-te pentru datasheet acestui nucleu pe

http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=Direct_Digital_Synthesizer&BV_SessionID =@@@2135958936.1123758362@@@& BV_EngineID = ccccaddfgkeemdjcefeceihdffhdfjf.0

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Foarte fericit" border="0" />
 
Hi

DDS sos de cod.

Cele mai bune complimenteDDS_arch Arhitectura DDS este

subtipul WAVE este STD_LOGIC_VECTOR (5 downto 0);
ROM-ul este de tip array (0 - 63) a valurilor;
constantă SINE: ROM: = (
"100000", "100011", "100110", "101000", "101011", "101110", "110001", "110011",
"110101", "110111", "111001", "111011", "111100", "111101", "111110", "111110",
"111111", "111110", "111110", "111101", "111100", "111011", "111001", "110111",
"110101", "110011", "110001", "101110", "101011", "101000", "100110", "100011",
"100000", "011100", "011001", "010111", "010100", "010001", "001110", "001100",
"001010", "001000", "000110", "000100", "000011", "000010", "000001", "000001",
"000001", "000001", "000001", "000010", "000011", "000100", "000110", "001000",
"001010", "001100", "001110", "010001", "010100", "010111", "011001", "011100"
);
frqlt semnal: STD_LOGIC_VECTOR (17 downto 0);
suma de semnal: STD_LOGIC_VECTOR (22 downto 0); - iesire de Adder
sumlt semnal: STD_LOGIC_VECTOR (22 downto 0); - iesire de Adder de blocare
tblout semnal: STD_LOGIC_VECTOR (5 downto 0); - Poarta de ieşire din
Începe-------------------------------
- Frecventa de blocare şi schimbările
-------------------------------
Procesul (SetFreq, nu putea suporta, Sumlt) Inceput
Dacă (A nu putea suporta = RESET_ACTIVE) Apoi
<Frqlt = "000000000000000000";
ElsIf Rising_Edge (SetFreq) Apoi
frqlt <= ValeurFrequence;
Sfârşit dacă;
<= Suma sumlt ("0000" & frqlt);
End Process;

--------------------------------
- Blocare Adder afară
--------------------------------
Proces (de ceas, nu putea suporta) Inceput
Dacă (A nu putea suporta = RESET_ACTIVE) Apoi
<Sumlt = "00000000000000000000000";
ElsIf Rising_Edge (ceas) Apoi
<Sumlt = suma;
Dacă sfârşitul;
tblout <= SINE (CONV_INTEGER (sumlt (22 DownTo 17)));
End Process;

---------------------------------
- Ia de date ROM şi de blocare şi de ieşire
---------------------------------
proces (ceas)
începe
Dacă Falling_Edge (Ceas), apoi
FREQ_SORTIE <tblout = (5);
final, dacă;
sfârşitul procesului;

Sfârşitul DDS_arch;

 
IEEE
http://ieeexplore.ieee.org/Xplore/DynWel.jsp

puteţi obţine vrei

 
bkat a scris:

IEEE

h ** p: / / ieeexplore.ieee.org / Xplore / DynWel.jspputeţi obţine vrei
 

Welcome to EDABoard.com

Sponsor

Back
Top