DDS dans FPGA

M

mobile-elle

Guest
quelqu'un a des informations sur la mise en œuvre DDS dans un FPGA?

Vous cherchez une sorte de tutoriel.Merci d'avance.

 
examiner les dispositifs analogiques site.il ont la DDS bon tutoriel.
diagrammes fonctionnels de DDS vous pouvez le voir dans des noyaux docs IP.

 
Cher ami,
Xilinx a ce noyau DDS pour être utilisé comme boîte noire dans votre conception. Aller à Xilinx IP centre
pour le coeur DDS.Aussi, si vous a Xilinx ISE 6.x/7.x outil, dans le générateur de base, vous pouvez obtenir plein coeur de la DDS et sa mise en œuvre.Rechercher des Datasheet de ce noyau sur

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="Very Happy" border="0" />
 
Salut

code souce DDS.

CordialementDDS_arch Architecture de DDS est

sous-type WAVE est STD_LOGIC_VECTOR (5 downto 0);
ROM est de type array (0 à 63) de vague;
constante 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 signal: STD_LOGIC_VECTOR (17 downto 0);
Somme signal: STD_LOGIC_VECTOR (22 downto 0); - sortie de l'additionneur
sumlt signal: STD_LOGIC_VECTOR (22 downto 0); - sortie de l'additionneur Latch
tblout signal: STD_LOGIC_VECTOR (5 downto 0); - sortie de la porte
Commencer-------------------------------
- Fréquence de verrouillage et le changement
-------------------------------
Processus (SetFreq, Reset, Sumlt) Commencer
Si (Reset = RESET_ACTIVE) Ensuite,
<Frqlt = "000000000000000000";
Rising_Edge elsif (SetFreq) Ensuite,
frqlt <= ValeurFrequence;
Fin de si;
<= Somme sumlt ("0000" et frqlt);
Terminer le processus;

--------------------------------
- Verrou à Adder
--------------------------------
Processus (Horloge, Reset) Commencer
Si (Reset = RESET_ACTIVE) Ensuite,
<Sumlt = "00000000000000000000000";
Rising_Edge elsif (horloge) puis
= <Somme sumlt;
End If;
tblout <= SINE (CONV_INTEGER (sumlt (22 DownTo 17)));
Terminer le processus;

---------------------------------
- Obtenir les données ROM et verrou et de sortie
---------------------------------
processus (l'horloge)
commencer
Si Falling_Edge (horloge), puis
FREQ_SORTIE <tblout = (5);
fin si;
processus de bout;

DDS_arch fin;

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

vous pouvez obtenir vous voulez

 
Bkat a écrit:

IEEE

h ** p: / / ieeexplore.ieee.org / Xplore / DynWel.jspvous pouvez obtenir vous voulez
 

Welcome to EDABoard.com

Sponsor

Back
Top