<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>1815-5928</journal-id>
<journal-title><![CDATA[Ingeniería Electrónica, Automática y Comunicaciones]]></journal-title>
<abbrev-journal-title><![CDATA[EAC]]></abbrev-journal-title>
<issn>1815-5928</issn>
<publisher>
<publisher-name><![CDATA[Universidad Tecnológica de La Habana José Antonio Echeverría, Cujae]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1815-59282012000300003</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Diseño de un ASIC Sintetizador Digital Directo de alta velocidad]]></article-title>
<article-title xml:lang="en"><![CDATA[High Speed Direct Digital Frequency Synthesizer Asic Design]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Martínez Alonso]]></surname>
<given-names><![CDATA[Abdel]]></given-names>
</name>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Guillén Nieto]]></surname>
<given-names><![CDATA[Glauco]]></given-names>
</name>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,LACETEL  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
<country>Cuba,</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2012</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2012</year>
</pub-date>
<volume>33</volume>
<numero>3</numero>
<fpage>19</fpage>
<lpage>36</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_arttext&amp;pid=S1815-59282012000300003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_abstract&amp;pid=S1815-59282012000300003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://scielo.sld.cu/scielo.php?script=sci_pdf&amp;pid=S1815-59282012000300003&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[El trabajo describe el proceso general de diseño y optimización de un Módulo IP para un Circuito Integrado de Aplicación Específica, destinado a la obtención de ondas cuasi-sinusoidales, empleando la técnica de Síntesis Digital Directa. El trabajo se realizó en tres etapas fundamentales: Diseño de un Sintetizador Digital Directo empleando Lenguaje de Descripción de Hardware VHDL, realizado sobre la plataforma ISE del fabricante de Dispositivos Lógicos Programables Xilinx. La plataforma ISE permite el control de todos los aspectos del flujo de diseño para la transformación de la descripción abstracta en lenguaje VHDL al nivel de bloques lógicos de un FPGA. De un total de cinco módulos diseñados, con diferentes funcionalidades y prestaciones, se registraron cuatro versiones en el Centro Nacional de Derecho de Autor (CENDA). Implementación y modelado del diseño en VHDL sobre plataforma FPGA, para la validación funcional del Módulo IP, empleando como soporte las Tarjetas de Desarrollo Spartan3E Starter Kit y ML507 del fabricante Xilinx. Adaptación del diseño a una tecnología de fabricación CMOS 0.35ìm. Se presenta un grupo de soluciones no documentadas en la literatura, basadas en principios de optimización de circuitos digitales, que posibilitan la adaptación del diseño a una tecnología específica de un fabricante dado. Dos de las versiones del Módulo IP y cinco Reportes Técnicos han sido presentados a un fabricante de Circuitos Integrados a la Medida.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[This paper describes the IP module general design process for Application Specific Integrated Circuit, intended for quasi-sine wave generation, using Direct Digital Synthesis technique. The process was carried out in three stages: The Design of Direct Digital Synthesizer employing VHDL Hardware Description Language, under ISE design platform from Xilinx. The ISE platform allows to control all aspects of VHDL to FPGA layout translation flow. During this stage, four of the five IP module versions designed with different features and functionalities were registered at the National Copyright Center (CENDA). VHDL design modeling and implementation on FPGA platform, for functional IP module validation, employing a Spartan3E Starter Kit and ML507 Evaluation Platform from Xilinx. A CMOS 0.35ìm foundry technology process design adaptation, throughout some unpublished approaches based on digital circuit optimization principles that enable specific manufacturer´s technology adaptation of the design. Two versions of IP Module and other five Technical Reports have been submitted to the ASIC manufacturer.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[ASIC]]></kwd>
<kwd lng="es"><![CDATA[DDS]]></kwd>
<kwd lng="es"><![CDATA[módulo IP]]></kwd>
<kwd lng="es"><![CDATA[FPGA]]></kwd>
<kwd lng="es"><![CDATA[VHDL]]></kwd>
<kwd lng="en"><![CDATA[ASIC]]></kwd>
<kwd lng="en"><![CDATA[DDS]]></kwd>
<kwd lng="en"><![CDATA[IP module]]></kwd>
<kwd lng="en"><![CDATA[FPGA]]></kwd>
<kwd lng="en"><![CDATA[VHDL]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  <font size="2" face="Verdana"><span class="style1"><font size="2" face="Verdana"></FONT></span>      <P align="right" class="style1"><font size="2" face="Verdana"><strong>ARTICULO  ORIGINAL </strong></font></p>    <P>&nbsp;</p>    <P><font size="4" face="Verdana"><B>Dise&ntilde;o  de un ASIC Sintetizador Digital Directo de alta velocidad</B></font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><b>High  Speed Direct Digital Frequency Synthesizer Asic Design</b></font></p>    <P>&nbsp;</p>    <P>&nbsp;</p>    <P><font size="2" face="Verdana"><b>Ing.  Abdel Mart&iacute;nez Alonso, Glauco Guill&eacute;n Nieto</b></font></p>    <P><font size="2" face="Verdana">1  LACETEL, Cuba,Email: <a href="mailto:abdel@lacetel.cu">abdel@lacetel.cu</a>, <a href="mailto:abdel@lacetel.cu">glauco@enet.cu</a></font></p>    ]]></body>
<body><![CDATA[<P>&nbsp;</p>    <P>&nbsp;</p><hr>      <P><font size="2" face="Verdana"><B>RESUMEN </B> </font></p>    <P><font size="2" face="Verdana">El  trabajo describe el proceso general de dise&ntilde;o y optimizaci&oacute;n de  un M&oacute;dulo IP para un Circuito Integrado de Aplicaci&oacute;n Espec&iacute;fica,  destinado a la obtenci&oacute;n de ondas cuasi-sinusoidales, empleando la t&eacute;cnica  de S&iacute;ntesis Digital Directa. El trabajo se realiz&oacute; en tres etapas  fundamentales: </font><font size="2" face="Verdana"><I>Dise&ntilde;o de un Sintetizador  Digital Directo empleando Lenguaje de Descripci&oacute;n de Hardware VHDL</I>,  realizado sobre la plataforma ISE del fabricante de Dispositivos L&oacute;gicos  Programables Xilinx. La plataforma ISE permite el control de todos los aspectos  del flujo de dise&ntilde;o para la transformaci&oacute;n de la descripci&oacute;n  abstracta en lenguaje VHDL al nivel de bloques l&oacute;gicos de un FPGA. De un  total de cinco m&oacute;dulos dise&ntilde;ados, con diferentes funcionalidades  y prestaciones, se registraron cuatro versiones en el Centro Nacional de Derecho  de Autor (CENDA). </font><font size="2" face="Verdana"><I>Implementaci&oacute;n  y modelado del dise&ntilde;o en VHDL sobre plataforma FPGA</I>, para la validaci&oacute;n  funcional del M&oacute;dulo IP, empleando como soporte las Tarjetas de Desarrollo  Spartan3E Starter Kit y ML507 del fabricante Xilinx. </font><font size="2" face="Verdana"><I>Adaptaci&oacute;n  del dise&ntilde;o a una tecnolog&iacute;a de fabricaci&oacute;n CMOS 0.35&igrave;m</I>.  Se presenta un grupo de soluciones no documentadas en la literatura, basadas en  principios de optimizaci&oacute;n de circuitos digitales, que posibilitan la adaptaci&oacute;n  del dise&ntilde;o a una tecnolog&iacute;a espec&iacute;fica de un fabricante dado.  Dos de las versiones del M&oacute;dulo IP y cinco Reportes T&eacute;cnicos han  sido presentados a un fabricante de Circuitos Integrados a la Medida. </font></p>    <P>  <font size="2" face="Verdana"><B>Palabras claves: </B>ASIC, DDS, m&oacute;dulo  IP, FPGA, VHDL.    <br> </font></p><hr>     <P><font size="2" face="Verdana"><B>ABSTRACT</B></font></p>    <P>  <font size="2" face="Verdana">This paper describes the IP module general design  process for Application Specific Integrated Circuit, intended for quasi-sine wave  generation, using Direct Digital Synthesis technique. </font><font size="2" face="Verdana">The  process was carried out in three stages: </font><font size="2" face="Verdana"><I>The  Design of Direct Digital Synthesizer employing VHDL Hardware Description Language</I>,  under ISE design platform from Xilinx. The ISE platform allows to control all  aspects of VHDL to FPGA layout translation flow. During this stage, four of the  five IP module versions designed with different features and functionalities were  registered at the National Copyright Center (CENDA). </font><font size="2" face="Verdana"><I>VHDL  design modeling and implementation on FPGA platform</I>, for functional IP module  validation, employing a Spartan3E Starter Kit and ML507 Evaluation Platform from  Xilinx. </font><font size="2" face="Verdana"><I>A CMOS 0.35&igrave;m foundry technology  process design adaptation</I>, throughout some unpublished approaches based on  digital circuit optimization principles that enable specific manufacturer&#180;s  technology adaptation of the design. Two versions of IP Module and other five  Technical Reports have been submitted to the ASIC manufacturer. </font></p>    <P><font size="2" face="Verdana"><B>Key  words: </B>ASIC, DDS, IP module, FPGA, VHDL.    <br> </font></p><hr>     ]]></body>
<body><![CDATA[<p>&nbsp;</p>    <p>&nbsp;</p>    <p>&nbsp;</p>    <p><font size="3" face="Verdana"><B>INTRODUCCI&Oacute;N</B></font></p>    <P><font size="2" face="Verdana">La  S&iacute;ntesis Digital Directa es un m&eacute;todo empleado para la generaci&oacute;n  de se&ntilde;ales cuasi-sinusoidales a partir de las muestras de amplitud almacenadas  en una memoria ROM (Read Only Memory). Un integrador digital o acumulador genera  la informaci&oacute;n de fase que es utilizada como direcciones para acceder a  la ROM y obtener el valor de las muestras a partir de las que se conforma la forma  de onda de salida deseada. [1] </font></p>    <P><font size="2" face="Verdana">Los  DDS, de acuerdo al &#171;estado del arte&#187; en la actualidad, presentan una  excelente resoluci&oacute;n de frecuencia, pueden ser f&aacute;cilmente modulados  y se pueden combinar con un PLL (Phase-Locked Loop) para trasladar su rango de  trabajo en el espectro de frecuencias. Con las tecnolog&iacute;as de fabricaci&oacute;n  de circuitos integrados actuales y el alto grado de integraci&oacute;n, es posible  realizar dispositivos DDS con adecuada pureza espectral y bajo consumo de energ&iacute;a,  lo que hace que esta tecnolog&iacute;a sea cada vez m&aacute;s empleada en aplicaciones  tanto de corte acad&eacute;mico e investigativo como comercial. [2] </font></p>    <P><font size="2" face="Verdana">El  objetivo fundamental del presente trabajo es implementar un M&oacute;dulo IP (Intelectual  Property) para un Circuito Integrado de Aplicaci&oacute;n Espec&iacute;fica DDS  (Direct Digital Synthesizer) capaz de generar frecuencias no inferiores a 350  MHz con un Rango Din&aacute;mico Libre de Espurias superior a 50dBc y efectuar  saltos de frecuencia con demoras inferiores a 8&#181;s. GENERALIDADES DEL DISE&Ntilde;O  DEL MODULO IP. </font></p>    <P><font size="2" face="Verdana">El dise&ntilde;o ha  sido denominado LCT3212 o LCT2412 a&ntilde;adiendo el car&aacute;cter A, B, C,  D seg&uacute;n la versi&oacute;n, correspondiendo a modificaciones u optimizaciones  realizadas en base a requisitos del proceso de fabricaci&oacute;n o a la incorporaci&oacute;n  de funciones. Las letras LCT son las iniciales del nombre &#171;Laboratorio Central  de Telecomunicaciones&#187;, que origin&oacute; el registro de la Marca LACETEL<SUP>&#174;</SUP>  y constituyen el identificativo de la Entidad, Instituto de Investigaci&oacute;n  y Desarrollo de Telecomunicaciones. Los n&uacute;meros 3212 y 2412 se corresponden  con las longitudes de las palabras del Acumulador (32 &oacute; 24 bits) y de la  palabra de datos de la ROM (12 bits). </font></p>    <P><font size="2" face="Verdana">Los  m&oacute;dulos incluyen acumuladores de 32 &oacute; 24 bits, ROM interna de 16Kx12  bits, bloques para la reducci&oacute;n de niveles de espurias (Generador de Secuencia  Pseudoaleatoria de 8 bits o Canal Spurkiller) as&iacute; como un bloque Cuantificador.  Todos los m&oacute;dulos se interconectan de manera que, al incorporar un conversor  D/A en el bus de salida de 12 bits, se obtiene la forma de onda cuasi-sinusoidal  deseada. </font></p>    <P><font size="2" face="Verdana">El M&oacute;dulo IP, en todas  sus variantes, provee saltos de frecuencia r&aacute;pidos y una resoluci&oacute;n  de frecuencia fina (palabra binaria de sinton&iacute;a de 32 bits &oacute; 24  bits) e incorpora adem&aacute;s perfiles de usuario con registros de 32 &oacute;  24 bits pre-programables en cantidad de 8, caracter&iacute;stica que lo hace &uacute;nico  dentro de los dispositivos similares existentes en la actualidad. </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">La  generaci&oacute;n de la se&ntilde;al comienza por la sinton&iacute;a de una determinada  frecuencia, cuyo valor se encuentra en una Palabra Binaria de Sinton&iacute;a  FTW (del ingl&eacute;s, Frequency Tuning Word) que se carga mediante el interfaz  de comunicaci&oacute;n serie. </font></p>    <P><font size="2" face="Verdana">Componentes  generales del M&oacute;dulo IP LCT3212: [3] </font></p>    <P><font size="2" face="Verdana">1)  Interfaz de comunicaci&oacute;n: Interfaz serie as&iacute;ncrona, compatible con  el est&aacute;ndar RS232 o SPI (del ingl&eacute;s, Serial Peripheral Interface),  de acuerdo a la versi&oacute;n del dise&ntilde;o. </font></p>    <P><font size="2" face="Verdana">2)  Banco de registros: Registros pre-programables, en cantidad de 8, para conservar  hasta 8 valores diferentes de FTW de 32 &oacute; 24 bits, que determinan la frecuencia  de salida del DDS, en correspondencia con el Perfil de Usuario activo. Ello permite  implementar saltos de frecuencia r&aacute;pidos, ahorrando el tiempo necesario  para cargar el registro con un nuevo valor de frecuencia a trav&eacute;s del interfaz  serie. </font></p>    <P><font size="2" face="Verdana">3) Acumulador de Fase: Componente  principal del DDS, con una resoluci&oacute;n de 32 &oacute; 24 bits. Genera una  secuencia ascendente de n&uacute;meros binarios, cuya envolvente equivale a una  rampa lineal anal&oacute;gica, que contiene la informaci&oacute;n de fase de la  se&ntilde;al cuasi-sinusoidal de salida. Es un sumador realimentado que incrementa  el n&uacute;mero almacenado cada vez que recibe un pulso de reloj. La magnitud  del incremento del valor del acumulador es controlada mediante la FTW. </font></p>    <P><font size="2" face="Verdana">4)  Cuantificador: De esta forma se denomina (y representa como un componente) el  proceso de truncado de la palabra de 32 &oacute; 24 bits del Acumulador de Fase,  para reducir el tama&ntilde;o de la memoria ROM, donde se conservan las muestras  de la se&ntilde;al de salida para cada valor de fase. El &#171;Cuantificador&#187;  elimina de la palabra de 32 &oacute; 24 bits del Acumulador de Fase, o sea el  canal principal del DDS, los 16 u 8 bits menos significativos, seg&uacute;n la  versi&oacute;n. El inconveniente de esta denominada &#171;cuantificaci&oacute;n&#187;  es la introducci&oacute;n de ruido de fase cuyo valor m&aacute;ximo es de 5.5x10<SUP>-3</SUP>  grados en una rotaci&oacute;n de 360 grados equivalente a un per&iacute;odo de  la onda sinusoidal. </font></p>    <P><font size="2" face="Verdana">5) Memoria ROM:  Tiene un tama&ntilde;o de 16Kx12 bits, en ella se realiza la operaci&oacute;n  de conversi&oacute;n fase-amplitud. A esta memoria suele denomin&aacute;rsele  &#171;lookup table&#187; (LUT). En este bloque es donde a cada uno de los valores  discretos de fase se le hace corresponder un valor de amplitud de una sinusoide.  La LUT s&oacute;lo utiliza los 16 bits de mayor peso o m&aacute;s significativos  de la salida del Acumulador, si manejara la totalidad de los bits de salida del  acumulador de fase, las dimensiones de la ROM ser&iacute;an demasiado grandes.  El tama&ntilde;o de la ROM ha sido reducido, en aproximadamente un 75%, al emplear  tablas m&aacute;s peque&ntilde;as, almacenando solamente 1/4 de la se&ntilde;al  sinusoidal e incorporando l&oacute;gica adicional para obtener el ciclo completo.  </font></p>    <P><font size="2" face="Verdana">Para reconstruir la onda completa  entre 0 y 2&eth; se utilizan los dos bits de mayor peso, es decir, los dos MSB  del Acumulador de Fase, el primero de ellos, para fijar el signo, mientras que  el segundo resuelve si la pendiente del seno va a ser creciente o decreciente.  Con &eacute;sta soluci&oacute;n se utilizan como entradas de la ROM solo 14 de  los 16 bits del Acumulador de Fase, hecho que conduce a una reducci&oacute;n de  4:1 del tama&ntilde;o de la ROM. Este m&eacute;todo reduce significativamente  el consumo de recursos del FPGA o ASIC por concepto de memoria ROM. </font></p>    <P><font size="2" face="Verdana">6)  Bloque de reducci&oacute;n de niveles de espuria: Difuminador de Fase de 8 bits  o Canal Spurkiller, seg&uacute;n la versi&oacute;n. </font></p>    <P>&nbsp;</p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana"><B><font size="3">PERFILES  DE USUARIO</font></B></font></p>    <P><font size="2" face="Verdana">Est&aacute;n  conformados por un grupo de registros del banco de memoria con una funci&oacute;n  espec&iacute;fica. En cada Perfil de Usuario del LCT3212 o LCT2412 se almacena  una palabra binaria de Sinton&iacute;a FTW. Uno de los Perfiles de Usuario es  seleccionado cada vez, a trav&eacute;s de la decodificaci&oacute;n de los estados  l&oacute;gicos aplicados a tres pines de entrada (P1, P2 y P3) seg&uacute;n se  define en la <a href="eac03312.htm#t1">Tabla 1</a>. De esta forma es posible realizar  un cambio r&aacute;pido de los par&aacute;metros del DDS, a trav&eacute;s de la  conmutaci&oacute;n entre Perfiles de Usuario, lo cual elimina las demoras que  impondr&iacute;a la transmisi&oacute;n de datos cada vez a trav&eacute;s del puerto  de comunicaci&oacute;n serie. [3] </font></p>    <P align="center"><img src="/img/revistas/eac/v33n3/t0103312.jpg" width="346" height="306"><a name="t1"></a></p>    
<P></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><b>SINCRONIZACI&Oacute;N  DEL SISTEMA</b></font></p>    <P><font size="2" face="Verdana">La se&ntilde;al de  reloj del sistema se suministra a trav&eacute;s del correspondiente pin de entrada,  como referencia para el trabajo sincronizado de todos los componentes y la obtenci&oacute;n  de la frecuencia de salida del DDS, de acuerdo a la <a href="eac03312.htm#e1">Ecuaci&oacute;n  1</a>: [4] </font></p>    <P align="center"><img src="/img/revistas/eac/v33n3/e0103312.jpg" width="251" height="66"><a name="e1"></a></p>    
<P>&nbsp;</p>    <P><font size="2" face="Verdana">  Donde: </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">FTW: Palabra Binaria de Sinton&iacute;a.  </font></p>    <P><font size="2" face="Verdana">REFCLK: Frecuencia del reloj del sistema.  </font></p>    <P><font size="2" face="Verdana">N: Cantidad de bits del Acumulador.  </font></p>    <P><font size="2" face="Verdana">La resoluci&oacute;n de frecuencia  se obtiene en funci&oacute;n de la frecuencia de reloj del sistema y la cantidad  de bits del acumulador. Puede ser determinada utilizando la <a href="eac03312.htm#e2">Ecuaci&oacute;n  2</a>: [4] </font></p>    <P align="center"><img src="/img/revistas/eac/v33n3/e0203312.jpg" width="180" height="53"><a name="e2"></a></p>    
<P><font size="2" face="Verdana">Donde:  </font></p>    <P><font size="2" face="Verdana">REFCLK: Frecuencia del reloj del sistema.  </font></p>    <P><font size="2" face="Verdana">N: Cantidad de bits del Acumulador.  </font></p>    <P>&nbsp;</p>    <P> <font size="2" face="Verdana"><span class="style1"><B><font size="3">PARTICULARIDADES  DE LAS VERSIONES</font></B></span> </font></p>    ]]></body>
<body><![CDATA[<P><font size="3" face="Verdana"><b>LCT3212A:  M&Oacute;DULO IP PARA UN SINTETIZADOR DIGITAL DIRECTO</b> </font></p>    <P><font size="2" face="Verdana"><b>Caracter&iacute;sticas  Principales: [5]</b> </font></p>    <P><font size="2" face="Verdana">&#183; Interfaz  de Comunicaci&oacute;n RS232. </font></p>    <P><font size="2" face="Verdana">&#183;  Memoria ROM interna de 16kx12. </font></p>    <P><font size="2" face="Verdana">&#183;  Registro Acumulador de 32 bits. </font></p>    <P><font size="2" face="Verdana">&#183;  8 Perfiles de Usuario con registros de 32 bits pre-programables. </font></p>    <P><font size="2" face="Verdana">&#183;  12 bits de resoluci&oacute;n de salida. </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>DESCRIPCI&Oacute;N  DEL FUNCIONAMIENTO</B></font></p>    <P><font size="2" face="Verdana">El m&oacute;dulo  LCT3212A est&aacute; compuesto por los m&oacute;dulos digitales b&aacute;sicos  de un Dispositivo DDS: Acumulador de Fase (sumador realimentado) y el PWC (del  ingl&eacute;s Phase to Waveform Converter) que es una tabla de muestras, implementada  en una memoria ROM <a href="/img/revistas/eac/v33n3/f0103312.jpg">(Figura  1)</a>. </font></p>    
]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">Accediendo con incrementos  lineales de direcciones a una tabla de valores con las muestras de amplitud de  un cuarto de per&iacute;odo de una sinusoide, se genera una representaci&oacute;n  digital de la se&ntilde;al deseada a partir de una &uacute;nica se&ntilde;al de  referencia. La posterior conversi&oacute;n a una se&ntilde;al anal&oacute;gica  se realiza con un conversor D/A. [5] </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><b>INTERFAZ  DE COMUNICACI&Oacute;N RS232</b></font></p>    <P><font size="2" face="Verdana">El  puerto de comunicaci&oacute;n serie RS232 dise&ntilde;ado consta de 2 pines para  la recepci&oacute;n y transmisi&oacute;n de los datos DTI y DTO respectivamente.  El pin DTI opera como la entrada, y el pin DTO como salida de datos serie. Ambos  pines son compatibles a nivel l&oacute;gico con el protocolo del est&aacute;ndar  RS232. [5] </font></p>    <P><font size="2" face="Verdana">El intercambio de datos  en la comunicaci&oacute;n serie se divide en dos fases: la Fase 1 es un ciclo  de instrucci&oacute;n consistente en el env&iacute;o de una palabra de 8 bits.  El bit m&aacute;s significativo (MSB) de la palabra de instrucci&oacute;n identifica  la operaci&oacute;n a realizar como de escritura o de lectura, los 6 bits menos  significativos (LSBs) se utilizan para indicar la direcci&oacute;n del registro.  El bit correspondiente a la posici&oacute;n D6 queda reservado para futuras aplicaciones.  [5] </font><a href="/img/revistas/eac/v33n3/t0203312.jpg">(Tabla 2)</a></p>    
<P><font size="2" face="Verdana">Durante  la Fase 2 la informaci&oacute;n es enviada desde o hacia el registro direccionado.  El byte de datos contiene parte de la informaci&oacute;n de la FTW, la cual ser&aacute;  almacenada o le&iacute;da seg&uacute;n corresponda. Para lograr una correcta operaci&oacute;n  de transferencia o lectura de datos es necesario que se transmita la totalidad  de los bits comprendidos en ambas fases. [5] </font></p>    <P><font size="2" face="Verdana">La  transmisi&oacute;n serie emplea un formato de paquetes de 8 bits <a href="/img/revistas/eac/v33n3/f0203312.jpg">(Figura  2)</a>. Los bits son transmitidos de forma as&iacute;ncrona con 1 bit de inicio  y 1 bit de parada, de B1 a B8, siendo B8 el bit m&aacute;s significativo (MSB)  y B1 el menos significativo (LSB). No se utiliza chequeo de paridad. [5] </font></p>    
<P>&nbsp;</p>    <P><font size="3" face="Verdana"><b>LCT3212B:  M&Oacute;DULO IP PARA UN SINTETIZADOR DIGITAL DIRECTO UTILIZANDO DIFUMINADO DE  FASE</b> </font></p>    <P><font size="2" face="Verdana"><b>Caracter&iacute;sticas  principales: [6]</b> </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">&#183; Interfaz  de comunicaci&oacute;n serie RS232. </font></p>    <P><font size="2" face="Verdana">&#183;  Memoria ROM interna de 16kx12. </font></p>    <P><font size="2" face="Verdana">&#183;  Registro Acumulador de 32 bits. </font></p>    <P><font size="2" face="Verdana">&#183;  8 Perfiles de Usuario con registros de 32 bits pre-programables. </font></p>    <P><font size="2" face="Verdana">&#183;  12 bits de resoluci&oacute;n de salida. </font></p>    <P><font size="2" face="Verdana">&#183;  Reducci&oacute;n de niveles de espurias mediante difuminado de fase. </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>DESCRIPCI&Oacute;N  DEL FUNCIONAMIENTO</B></font></p>    <P><font size="2" face="Verdana">El M&oacute;dulo  LCT3212B <a href="/img/revistas/eac/v33n3/f0303212.jpg">(Figura 3)</a> hereda  todas las caracter&iacute;sticas b&aacute;sicas del M&oacute;dulo LCT3212A, por  lo que las descripciones del funcionamiento, interfaz de comunicaci&oacute;n,  banco de registros y formato para el intercambio de mensajes del LCT3212A son  aplicables al m&oacute;dulo LCT3212B. [6] </font></p>    
<P><font size="2" face="Verdana">Adicionalmente  a los m&oacute;dulos presentes en el LCT3212A, el LCT3212B posee dos modificaciones  fundamentales: </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">&#183; Adici&oacute;n  de un bloque para el difuminado de la fase. </font></p>    <P><font size="2" face="Verdana">&#183;  Incorporaci&oacute;n de se&ntilde;ales de control de sincron&iacute;a del Interfaz  de Comunicaci&oacute;n. </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>BLOQUE  DIFUMINADOR DE FASE</B> </font></p>    <P><font size="2" face="Verdana">Est&aacute;  compuesto por un generador de secuencia pseudoaleatoria <a href="/img/revistas/eac/v33n3/f0403312.jpg">(Figura  4)</a> encargado de &#171;inyectar&#187; una secuencia de pseudorruido para mejorar  el SFDR (Rango Din&aacute;mico Libre de Espurios) del espectro a la salida del  sintetizador. [7] </font></p>    
<P><font size="2" face="Verdana">Para garantizar  no caer en el estado de bucle, se carga durante el ciclo de reset inicial un valor  l&oacute;gico &#171;1&#187; en el registro D1 y un valor &#171;0&#187; en el resto  (01H). De esta manera se evita la generaci&oacute;n indefinida de valores de &#171;0&#187;  en los correspondientes lazos de realimentaci&oacute;n del LFSR. </font></p>    <P><font size="2" face="Verdana">La  se&ntilde;al aleatoria denominada &#171;dither&#187; es una secuencia de ruido  con una varianza aproximadamente igual al peso del bit menos significativo de  los 16 tomados como bus de entrada del bloque PWC. Esta secuencia es a&ntilde;adida  a la se&ntilde;al de salida del acumulador antes de ingresar al bloque Cuantificador.  Al utilizar esta t&eacute;cnica es posible mejorar el SFDR en aproximadamente  12dB en comparaci&oacute;n con un dise&ntilde;o que no contara con un m&eacute;todo  de reducci&oacute;n de niveles de espurias. [7] Los recursos l&oacute;gicos adicionales  requeridos para la implementaci&oacute;n de este bloque no resultan significativos,  comparados con los recursos empleados por el resto del dise&ntilde;o. </font></p>    <P><font size="2" face="Verdana">La  principal ventaja obtenida al emplear la t&eacute;cnica de difuminado de fase  es que la estructura de l&iacute;neas indeseadas en el espectro de la se&ntilde;al  de salida desaparece, apareciendo en su lugar un piso de &#171;ruido blanco&#187;  Generalmente este ruido resulta menos inconveniente que la aparici&oacute;n de  espurias, por ejemplo, en aplicaciones como los receptores digitales que emplean  DDS como generadores de se&ntilde;al en las etapas de mezcla. [7] </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>LCT3212C:  M&Oacute;DULO IP PARA UN SINTETIZADOR DIGITAL DIRECTO UTILIZANDO LA T&Eacute;CNICA  SPURKILLER PARA LA REDUCCI&Oacute;N DE NIVELES DE ESPURIAS</B> </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana"><b>Caracter&iacute;sticas  principales: [8]</b> </font></p>    <P><font size="2" face="Verdana">&#183; Interfaz  de comunicaci&oacute;n serie RS232. </font></p>    <P><font size="2" face="Verdana">&#183;  Memoria ROM del Canal Principal de 16kx12. </font></p>    <P><font size="2" face="Verdana">&#183;  Memoria ROM del Canal SpurKiller de 1kx6. </font></p>    <P><font size="2" face="Verdana">&#183;  Registro Acumulador de 32 bits. </font></p>    <P><font size="2" face="Verdana">&#183;  8 Perfiles de Usuario con registros de 32 bits pre-programables. </font></p>    <P><font size="2" face="Verdana">&#183;  12 bits de resoluci&oacute;n de salida. </font></p>    <P><font size="2" face="Verdana">&#183;  2 canales SpurKiller para la reducci&oacute;n de niveles de espurias. </font></p>    <P>&nbsp;</p>    <P><font size="2" face="Verdana"><B><font size="3">DESCRIPCI&Oacute;N  DEL FUNCIONAMIENTO DEL M&Oacute;DULO IP LCT3212C</font></B> </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">El  canal principal del M&oacute;dulo IP tiene las mismas prestaciones del M&oacute;dulo  LCT3212A. Se sustituye el bloque Difuminador de Fase empleado en el m&oacute;dulo  LCT3212B por dos canales SpurKiller con el mismo objetivo de mejorar la pureza  espectral del sistema. Debido a la adici&oacute;n de estos canales se incorporan  varios registros de control y configuraci&oacute;n <a href="/img/revistas/eac/v33n3/f0503312.jpg">(Figura  5)</a>. [8] </font></p>    
<P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>CANALES SPURKILLER</B>  </font></p>    <P><font size="2" face="Verdana">Los canales para la reducci&oacute;n  de espurias est&aacute;n compuestos por bloques DDS sintonizados a la frecuencia  de la espuria que se desea eliminar. La se&ntilde;al de salida de cada Canal DDS  Spurkiller es sumada en contrafase con la del Canal DDS Principal, con el objetivo  de eliminar la l&iacute;nea espectral correspondiente a la espuria. La se&ntilde;al  resultante de la sumatoria es la que ingresa al Conversor Digital-Anal&oacute;gico.  [9] </font></p>    <P><font size="2" face="Verdana">Los errores de linealidad y cuantificaci&oacute;n  provocan l&iacute;neas indeseadas en el espectro de salida de un DDS, en detrimento  del SFDR. La arquitectura del m&oacute;dulo LCT3212C permite reducir al m&aacute;ximo  el nivel de una determinada l&iacute;nea espectral indeseada por cada uno de los  canales SpurKiller que posee, resultando en una mejora selectiva del SFDR. La  arquitectura del DDS se basa en el m&eacute;todo de Interferencia Destructiva,  el cual consiste en la pre-distorsi&oacute;n de la se&ntilde;al digital, antes  de su entrada al DAC, de tal forma que se elimine o reduzca sustancialmente el  nivel de una espec&iacute;fica de las se&ntilde;ales espurias por cada canal SpurKiller  disponible. [9] </font></p>    <P><font size="2" face="Verdana">El fundamento de la  t&eacute;cnica empleada para el dise&ntilde;o del M&oacute;dulo LCT3212C consiste  en combinar la se&ntilde;al original con una r&eacute;plica de una se&ntilde;al  espuria espec&iacute;fica que se desea eliminar (misma amplitud y frecuencia)  pero desfasada 180&#176;. [9] </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><span class="style1"><B>LCT2412A:  M&Oacute;DULO IP PARA UN SINTETIZADOR DIGITAL DIRECTO CON INTERFAZ SPI</B></span>  </font></p>    <P><font size="2" face="Verdana"><b>Caracter&iacute;sticas principales:  </b> </font></p>    <P><font size="2" face="Verdana">&#183; Interfaz de comunicaci&oacute;n  serie SPI. </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">&#183; Memoria ROM interna  de 16kx12. </font></p>    <P><font size="2" face="Verdana">&#183; Registro acumulador  de 24 bits. </font></p>    <P><font size="2" face="Verdana">&#183; 8 perfiles de usuario  con registros de 24 bits pre-programables. </font></p>    <P><font size="2" face="Verdana">&#183;  12 bits de resoluci&oacute;n de salida. </font></p>    <P><font size="2" face="Verdana">&#183;  Reducci&oacute;n de niveles de espurias mediante difuminado de fase. </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><b>DESCRIPCI&Oacute;N  DEL FUNCIONAMIENTO</b></font></p>    <P><font size="2" face="Verdana">El M&oacute;dulo  LCT2412A <a href="/img/revistas/eac/v33n3/f0603312.jpg">(Figura 6)</a> hereda  las caracter&iacute;sticas b&aacute;sicas del M&oacute;dulo LCT3212B, por lo que  las descripciones del funcionamiento son aplicables al m&oacute;dulo LCT2412A.  </font></p>    
<P><font size="2" face="Verdana">Se sustituye el Interfaz de Comunicaci&oacute;n  RS232, utilizado en las versiones anteriores, por un interfaz SPI y se incorpora  una estructura de &#171;pipeline&#187; balanceada en un canal principal con Acumulador  de 24 bits, con el objetivo de reducir las demoras de la l&oacute;gica combinacional  . </font></p>    <P>&nbsp;</p>    ]]></body>
<body><![CDATA[<P><font size="3" face="Verdana"><B>INTERFAZ SPI</B></font></p>    <P><font size="2" face="Verdana">El  bloque SPI incluye: l&iacute;nea de reloj, entrada de datos, salida de datos y  un pin de selecci&oacute;n <a href="/img/revistas/eac/v33n3/f0703312.jpg">(Figura  7)</a>. La principal ventaja de emplear el interfaz SPI, en lugar de RS232, es  que se reduce el n&uacute;mero de compuertas equivalentes y en consecuencia, el  consumo energ&eacute;tico y &aacute;rea del circuito integrado final, disminuyendo  el costo de fabricaci&oacute;n, montaje y puesta en marcha de la aplicaci&oacute;n.  El formato de transmisi&oacute;n consta de 3 bits de direccionamiento, empleados  para indicar el registro del DDS en que deber&aacute;n ser almacenados los siguientes  24 bits de la cadena que corresponden a la Palabra de Sinton&iacute;a de Frecuencia.  [3] </font></p>    
<P><font size="2" face="Verdana"><b>La sustituci&oacute;n del interfaz  RS232 por SPI brindar&aacute; al sistema algunas ventajas adicionales: </b> </font></p>    <P><font size="2" face="Verdana">&#183;  No est&aacute; limitado a la transferencia de bloques de 8 bits. </font></p>    <P><font size="2" face="Verdana">&#183;  Implementaci&oacute;n en hardware relativamente simple. </font>     <P><font size="2" face="Verdana">&#183;  Menor consumo de energ&iacute;a debido a que posee menos compuertas equivalentes.  </font></p>    <P><font size="2" face="Verdana"><B>Desventajas fundamentales:</B>  </font></p>    <P><font size="2" face="Verdana">&#183; El protocolo SPI s&oacute;lo  funciona en distancias relativamente cortas, comparado con RS232. </font></p>    <P><font size="2" face="Verdana">&#183;  No puede ser conectado directamente a PCs, pues estas generalmente no poseen interfaces  SPI compatibles. </font></p>    <P>&nbsp;</p>    ]]></body>
<body><![CDATA[<P><font size="3" face="Verdana"><B>ESTRUCTURA  DE &#171;PIPELINE&#187; BALANCEADA</B> </font></p>    <P><font size="2" face="Verdana">A  partir de los resultados de las simulaciones y an&aacute;lisis de tiempo de los  dise&ntilde;os anteriores, es necesario disminuir las demoras de la l&oacute;gica  combinacional para poder incrementar la frecuencia de trabajo. </font></p>    <P><font size="2" face="Verdana">Causas  fundamentales que provocan la disminuci&oacute;n de la frecuencia efectiva de  trabajo: [10] </font></p>    <P><font size="2" face="Verdana">&#183; <B>El empleo  de librer&iacute;as con componentes que presentan grandes demoras:</B> En este  caso la &uacute;nica soluci&oacute;n posible es el empleo de librer&iacute;as  basadas en tecnolog&iacute;as de fabricaci&oacute;n m&aacute;s avanzadas. Esta  soluci&oacute;n es altamente dependiente de las posibilidades tecnol&oacute;gicas  del fabricante seleccionado y totalmente fuera del alcance del dise&ntilde;o a  nivel RTL. </font></p>    <P><font size="2" face="Verdana">&#183; <B>Bloques de l&oacute;gica  combinacional demasiado complejos:</B> Este elemento est&aacute; directamente  relacionado con el dise&ntilde;o en lenguaje HDL y puede minimizarse empleando  t&eacute;cnicas de optimizaci&oacute;n del dise&ntilde;o digital. </font></p>    <P><font size="2" face="Verdana">Con  el objetivo de aumentar la frecuencia efectiva de trabajo se aplicaron dos t&eacute;cnicas  de dise&ntilde;o digital: </font></p>    <P><font size="2" face="Verdana">&#183; <B>Balance  de Registros:</B> Consiste en reposicionar los registros dentro de la l&oacute;gica  combinacional, de forma tal que se logre un equilibrio en las demoras de todos  bloques combinacionales <a href="/img/revistas/eac/v33n3/f0803312.jpg">(Figura  8)</a>. [10] </font></p>    
<P><font size="2" face="Verdana">&#183; <B>Pipelining:</B>  Este m&eacute;todo, a diferencia del anterior, var&iacute;a el comportamiento  del dise&ntilde;o. La idea consiste en insertar registros dentro de la estructura  de l&oacute;gica combinacional que mayor demora presente <a href="/img/revistas/eac/v33n3/f0903312.jpg">(Figura  9)</a>. De esta manera se disminuye la l&oacute;gica entre registros a expensas  del incremento de la latencia del sistema, pues los datos aparecer&aacute;n en  la salida varios pulsos despu&eacute;s, en comparaci&oacute;n con el dise&ntilde;o  original. [10] </font></p>    
<P><font size="2" face="Verdana">El m&oacute;dulo LCT2412A  posee una estructura de 10 etapas de pipeline balanceadas, lo cual implica una  latencia de 10 pulsos de reloj. </font></p>    <P><font size="2" face="Verdana">El  dise&ntilde;o fue sintetizado en 3 alternativas con librer&iacute;as diferentes:  del fabricante de circuitos integrados a la medida Belmicrosystem, Spartan-3E  de Xilinx y SCL05u del fabricante Semi-Conductor Laboratory (SCL). En todos los  casos se analiz&oacute; </font><font size="2" face="Verdana">el dise&ntilde;o  a nivel de diagrama RTL evidenci&aacute;ndose diferencias sustanciales en los  circuitos generados por las diferentes herramientas de s&iacute;ntesis. </font></p>    ]]></body>
<body><![CDATA[<P>&nbsp;</p>    <P><font size="3" face="Verdana"><span class="style1"><B>LCT2412B:  M&Oacute;DULO IP PARA UN SINTETIZADOR DIGITAL DIRECTO CON INTERFAZ SPI</B></span>  </font></p>    <P><font size="2" face="Verdana"><b>Caracter&iacute;sticas principales:  [11]</b> </font></p>    <P><font size="2" face="Verdana">&#183; Interfaz de comunicaci&oacute;n  serie SPI. </font></p>    <P><font size="2" face="Verdana">&#183; Memoria ROM interna  de 16kx12. </font></p>    <P><font size="2" face="Verdana">&#183; Registro Acumulador  de 24 bits. </font></p>    <P><font size="2" face="Verdana">&#183; 8 Perfiles de Usuario  con registros de 24 bits pre-programables. </font></p>    <P><font size="2" face="Verdana">&#183;  12 bits de resoluci&oacute;n de salida. </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>DESCRIPCI&Oacute;N  DEL FUNCIONAMIENTO</B></font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">El M&oacute;dulo  LCT2412B <a href="/img/revistas/eac/v33n3/f1003312.jpg">(Figura 10)</a> hereda  todas las caracter&iacute;sticas b&aacute;sicas del M&oacute;dulo LCT2412A, excluyendo  la atenuaci&oacute;n de espurias utilizando difuminado de fase. Es optimizado  con el objetivo de logar un dise&ntilde;o capaz de trabajar a mayor frecuencia  de reloj. </font></p>    
<P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>BLOQUE ACUMULADOR</B>  </font></p>    <P><font size="2" face="Verdana">El bloque Acumulador es dise&ntilde;ado  con una estructura de &#171;pipeline&#187;, que consta de un sumador simple de  1 bit, 22 etapas de sumadores completos de 1 bit y un sumador sin salida de acarreo  de 1 bit <a href="/img/revistas/eac/v33n3/f1103312.jpg">(Figura 11)</a>.  </font></p>    
<P><font size="2" face="Verdana">La estructura del Bloque Acumulador  se basa en un canal de &#171;pipeline&#187; dispuesto de manera tal que la demora  m&aacute;xima de la l&oacute;gica combinacional se encuentra en los bloques de  sumadores, los cuales poseen salidas y entradas registradas. De esta manera el  sumador ser&aacute; capaz de trabajar a la frecuencia cuyo per&iacute;odo es equivalente  a la demora del bloque sumador combinacional m&aacute;s lento. [11] </font></p>    <P><font size="2" face="Verdana">El  dise&ntilde;o del Bloque Acumulador fue sintetizado empleando una librer&iacute;a  del fabricante de Circuitos Integrados de Aplicaci&oacute;n Espec&iacute;fica  Belmicrosystem, para un proceso de fabricaci&oacute;n de 0.35um. A partir del  an&aacute;lisis de tiempo realizado, con el software LEONARDO SPECTRUM VERSION  2007a.37, el dise&ntilde;o posee una demora m&aacute;xima de 2.31ns y es capaz  de trabajar a una frecuencia de reloj m&aacute;xima de 432.8 MHz. </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>MEMORIA  ROM</B> </font></p>    <P><font size="2" face="Verdana">La memoria ROM constituye  el bloque de mayor complejidad y, por tanto, el de mayores demoras, limitando  significativamente la frecuencia de trabajo del sistema en su conjunto. </font></p>    <P><font size="2" face="Verdana">Los  m&oacute;dulos LCT3212A, LCT3212B, LCT3212C y LCT2412A poseen un dise&ntilde;o  de memoria basado en el mapeo de un cuarto de onda de la se&ntilde;al sinusoidal,  reduciendo considerablemente la cantidad de compuertas equivalentes empleadas  en comparaci&oacute;n con un dise&ntilde;o que almacenara la onda completa. No  obstante, los compiladores al implementar los bloques de memoria generan largas  cadenas combinacionales que provocan demoras excesivas. </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">Un  primer acercamiento al redise&ntilde;o de la Memoria ROM fue la implementaci&oacute;n  de una estructura de bloques de memoria de peque&ntilde;a capacidad con salida  multiplexada <a href="eac03312.htm#f12">(Figura 12)</a>. De esta manera se concentra  la l&oacute;gica combinacional en los peque&ntilde;os bloques de manera que, al  registrar tanto sus entradas de datos como sus salidas hacia el multiplexor, se  logra un incremento en la frecuencia de trabajo. </font></p>    <P><font size="2" face="Verdana">La  tabla de b&uacute;squeda fue subdividida en 16, 32 y 128 sub-bloques de memoria,  optimiz&aacute;ndose hasta alcanzar la frecuencia de trabajo de 110.5 MHz sintetizando  el dise&ntilde;o con la librer&iacute;a del fabricante Belmicrosystem. A partir  de la subdivisi&oacute;n en 128 bloques, las demoras que presenta el multiplexor  de salida comienzan a convertirse en el camino cr&iacute;tico dentro de la l&oacute;gica  combinacional, por lo que no tiene sentido continuar subdividiendo el sistema.  [11] </font></p>    <P align="center"><img src="/img/revistas/eac/v33n3/f1203312.jpg" width="571" height="311"><a name="f12"></a></p>    
<P>&nbsp;</p>    <P><font size="2" face="Verdana">Un  dise&ntilde;o alternativo a los analizados con anterioridad fue implementado partiendo  de la Tabla de la Verdad de cada uno de los bits de salida, a partir de los bits  del bus de direcciones de la ROM. Cada tabla de funcionamiento es expresada como  suma de productos en la forma can&oacute;nica de una funci&oacute;n l&oacute;gica.  </font></p>    <P><font size="2" face="Verdana">Utilizando el software SIS (Sequential  Interactive Synthesis), desarrrollado por la Universidad de Berkeley en California,  Estados Unidos, se obtienen las sumas de productos de cada bit de salida <a href="/img/revistas/eac/v33n3/f1303312.jpg">(Figura  13)</a> a partir de la informaci&oacute;n de la Tabla de la Verdad correspondiente.  </font></p>    
<P><font size="2" face="Verdana">Las funciones l&oacute;gicas de cada  uno de los 12 bits de salida de la ROM, expresadas como suma de productos, fueron  implementadas empleando compuertas AND y OR. Cada salida de una etapa de suma  dentro de la funci&oacute;n l&oacute;gica fue registrada, cre&aacute;ndose una  estructura de &#171;pipeline&#187; dentro de la memoria ROM, en la que las cadenas  de l&oacute;gica combinacional son limitadas a un bloque de dos etapas de multiplicaci&oacute;n  registradas implementado con compuertas AND, seguida de una compuerta OR de dos  entradas, con la que se implementa la suma <a href="/img/revistas/eac/v33n3/f1403312.jpg">(Figura  14)</a>. </font></p>    
<P><font size="2" face="Verdana">El dise&ntilde;o fue sintetizado  en las 3 alternativas con librer&iacute;as diferentes: del fabricante Belmicrosystem,  Virtex-5 de Xilinx y SCL05u del fabricante Semi-Conductor Laboratory (SCL). El  an&aacute;lisis del dise&ntilde;o a nivel de diagrama RTL confirm&oacute; que  los circuitos generados por las diferentes herramientas de s&iacute;ntesis son  m&aacute;s sencillos y regulares en el caso de la ROM expresada como suma de productos  que en las versiones basadas en bloques de memoria de peque&ntilde;a capacidad  con salida multiplexada. </font></p>    <P>&nbsp;</p>    <P><font size="2" face="Verdana"><B><font size="3">VALIDACI&Oacute;N  Y VERIFICACI&Oacute;N FUNCIONAL</font></B> </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">La  verificaci&oacute;n funcional de cada una de las versiones se realiz&oacute; en  tres etapas fundamentales: </font></p>    <P><font size="2" face="Verdana">1. Simulaci&oacute;n  funcional del dise&ntilde;o VHDL mediante la herramienta ModelSim de Mentor Graphics.  Evaluaci&oacute;n de los resultados del comportamiento l&oacute;gico del dise&ntilde;o.  </font></p>    <P><font size="2" face="Verdana">2. Simulaci&oacute;n y An&aacute;lisis  de Tiempo empleando las herramientas LEONARDO SPECTRUM VERSION 2007a.37 de Mentor  Graphics y Timing Analizer de Xilinx. Se incluye informaci&oacute;n de temporizado  de la s&iacute;ntesis sobre diferentes tecnolog&iacute;as de ASICs. </font></p>    <P><font size="2" face="Verdana">3.  Implementaci&oacute;n y modelado sobre plataforma FPGA Spartan-3E y Virtex-5 de  Xilinx. </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>SIMULACI&Oacute;N  FUNCIONAL DEL DISE&Ntilde;O</B></font></p>    <P><font size="2" face="Verdana">La  simulaci&oacute;n es el proceso de evaluar el comportamiento de un sistema a partir  de un modelo de &eacute;ste. En la etapa inicial de la simulaci&oacute;n se valida  el modelo respecto al sistema real que representa. Luego, la simulaci&oacute;n  permite realizar numerosas pruebas en un corto tiempo y sin exponer al sistema  real, lo que permite perfeccionarlo y optimizarlo. </font></p>    <P><font size="2" face="Verdana">Una  vez finalizada la etapa del dise&ntilde;o correspondiente a la programaci&oacute;n  en Lenguaje de Descripci&oacute;n de Hardware - VHDL, se pasa a la comprobaci&oacute;n  del c&oacute;digo, empleando la herramienta ModelSim de Mentor Graphics. </font></p>    <P><font size="2" face="Verdana">ModelSim  es un entorno de modelizaci&oacute;n y simulaci&oacute;n que permite la verificaci&oacute;n  de los dise&ntilde;os generados en c&oacute;digo VHDL. Durante la simulaci&oacute;n,  se identifican errores u omisiones, se retorna a etapas anteriores del proceso  y se realizan los cambios pertinentes. </font></p>    <P><font size="2" face="Verdana">Se  efectu&oacute; la simulaci&oacute;n de cada bloque del DDS, de manera individual  y sobre el sistema en su conjunto. A continuaci&oacute;n se muestran algunas simulaciones  del M&oacute;dulo LCT2412B: </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">&#183;  <a href="/img/revistas/eac/v33n3/f1503312.jpg">Figura 15</a>: Correcta recepci&oacute;n  de cadenas de datos SPI, correspondientes a 3 bits de direccionamiento empleados  para indicar el registro del DDS en que deber&aacute;n ser almacenados los siguientes  24 bits de la Palabra de Sinton&iacute;a de Frecuencia. </font></p>    
<P><font size="2" face="Verdana">&#183;  <a href="eac03312.htm#f16">Figura 16</a>: Se&ntilde;al de salida del Acumulador  de Fase. Secuencia ascendente de n&uacute;meros binarios cuya envolvente equivale  a una rampa lineal anal&oacute;gica. Contiene la informaci&oacute;n de fase de  la se&ntilde;al cuasi-sinusoidal de salida. </font></p>    <P align="center"><img src="/img/revistas/eac/v33n3/f1603312.jpg" width="564" height="186">  <a name="f16"></a>     
<P>&nbsp;</p>    <P><font size="2" face="Verdana">&#183; <a href="/img/revistas/eac/v33n3/f1703312.jpg">Figura  17</a>: Latencia del sistema. Cambio de la frecuencia de salida del DDS a trav&eacute;s  de la conmutaci&oacute;n entre Perfiles de Usuario. El M&oacute;dulo LCT2412B  posee 55 etapas de pipeline balanceadas, lo cual implica una latencia de 55 pulsos  de reloj. </font></p>    
<P><font size="2" face="Verdana">&#183; <a href="/img/revistas/eac/v33n3/f1803312.jpg">Figura  18</a>: Generaci&oacute;n, a partir de una &uacute;nica se&ntilde;al de referencia  de frecuencia fija, de una representaci&oacute;n digital de la se&ntilde;al sinusoidal.  </font></p>    
<P>&nbsp;</p>    <P><font size="3" face="Verdana"><strong>AN&Aacute;LISIS DE  TIEMPO</strong></font><strong></strong></p>    <P><font size="2" face="Verdana">Para  el an&aacute;lisis de las demoras en el dise&ntilde;o se emplearon las librer&iacute;as  de los fabricantes de ASICs Belmicrosystem y Semi-Conductor Laboratory (SCL),  basadas en tecnolog&iacute;as CMOS de 0.35&#181;m y 0.5&#181;m respectivamente  y las librer&iacute;as del fabricante de FPGAs Xilinx para las familias Spartan-3E  y Virtex-5, basadas en tecnolog&iacute;as CMOS de 90nm y 65nm respectivamente.  </font></p>    <P><font size="2" face="Verdana">A partir del an&aacute;lisis de tiempo  realizado, empleando las herramientas LEONARDO SPECTRUM VERSION 2007a.37 de Mentor  Graphics y Timing Analizer de Xilinx, se obtuvieron los siguientes resultados:  </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">La <a href="eac03312.htm#t3">Tabla  3</a> evidencia una progresi&oacute;n en los resultados obtenidos. Se logr&oacute;  alcanzar la frecuencia de trabajo de 250 MHz implementando el M&oacute;dulo IP  LCT2412B sobre un FPGA de bajo desempe&ntilde;o (XC5VFX70T-1FFG1136) de la familia  Virtex-5. </font></p>    <P align="center"><font size="2" face="Verdana"><img src="/img/revistas/eac/v33n3/t0303312.jpg" width="562" height="290"></font><a name="t3"></a></p>    
<P><font size="2" face="Verdana">De  acuerdo a los resultados revelados por el an&aacute;lisis de tiempo, es posible  obtener un DDS capaz de generar una frecuencia de salida m&aacute;xima de 112MHz  empotrando el M&oacute;dulo IP LCT2412B en un FPGA Virtex-5 de bajo desempe&ntilde;o.  En la literatura se </font><font size="2" face="Verdana">reporta la comprobaci&oacute;n  pr&aacute;ctica que evidencia que se logran velocidades de trabajo, como promedio,  4,6 veces superiores en un ASIC que en un FPGA de bajo desempe&ntilde;o. [12]  </font></p>    <P><font size="2" face="Verdana">El M&oacute;dulo IP LCT2412B empotrado  en un FPGA Virtex-5 alcanza una frecuencia de salida m&aacute;xima de 112MHz.  Ello permite esperar que su implementaci&oacute;n en un ASIC, con tecnolog&iacute;a  CMOS 65nm, alcance frecuencias de salida superiores a 350 MHz, con un incremento  de velocidad de solo 3,1 veces contra el promedio de 4,6 que puede obtenerse.  [12] </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><B>IMPLEMENTACI&Oacute;N  Y MODELADO DEL M&Oacute;DULO IP SOBRE PLATAFORMA FPGA. VERIFICACI&Oacute;N FUNCIONAL</B></font></p>    <P><font size="2" face="Verdana">Como  soporte para la implementaci&oacute;n del dise&ntilde;o se emplearon las plataformas  Spartan-3E y Virtex-5 de Xilinx las cuales constituyen un medio id&oacute;neo  para la emulaci&oacute;n y verificaci&oacute;n de prototipos de ASIC. El hardware  empleado fue Tarjetas de Desarrollo Spartan-3E Starter Kit y ML507 Evaluation  Platform, de acuerdo a la versi&oacute;n del M&oacute;dulo IP a verificar <a href="eac03312.htm#f19">(Figura  19)</a>. </font></p>    <P align="center"><img src="/img/revistas/eac/v33n3/f1903312.jpg" width="533" height="196"><a name="f19"></a></p>    
<P>&nbsp;</p>    <P><font size="2" face="Verdana">Se  realizaron mediciones con el objetivo de comprobar las caracter&iacute;sticas  espectrales de la se&ntilde;al de salida <a href="/img/revistas/eac/v33n3/f2003312.jpg">(Figura  20)</a>. </font></p>    
]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">En el caso del m&oacute;dulo  LCT2412B se midi&oacute; directamente la se&ntilde;al de salida del DAC sin emplear  un Filtro Pasa-Bajos. En todos los casos fue empleado un Conversor Digital Anal&oacute;gico  basado en una matriz R-2R discreta. La dispersi&oacute;n de los valores de las  resistencias empleadas provoca un incremento del nivel de los arm&oacute;nicos  indeseados. </font></p>    <P><font size="2" face="Verdana">Adem&aacute;s, se realizaron  mediciones con el objetivo de evaluar las demoras del sistema durante los saltos  de fase implementados mediante la conmutaci&oacute;n entre Perfiles de Usuario.  </font></p>    <P><font size="2" face="Verdana">De acuerdo a los resultados obtenidos  mediante la verificaci&oacute;n funcional del sistema, es posible obtener un DDS  con un Rango Din&aacute;mico Libre de Espurias superior a 50dBc que efect&uacute;e  saltos de frecuencia configurables en toda la banda de trabajo con demoras constantes  que corresponden a una latencia de 55 pulsos de reloj. La <a href="/img/revistas/eac/v33n3/f2103312.jpg">Figura  21</a> muestra la demora de 220ns para una frecuencia de reloj de 250MHz. </font></p>    
<P>&nbsp;</p>    <P><font size="2" face="Verdana"><b><font size="3">CONCLUSIONES  </font></b> </font></p>    <P><font size="2" face="Verdana">Dise&ntilde;ados y validados  5 M&oacute;dulos IP para igual cantidad de variantes de DDS, implement&aacute;ndose  en las Tarjetas de Desarrollo Spartan3E y ML507 para su comprobaci&oacute;n. En  las pruebas realizadas se valid&oacute; el correcto funcionamiento de los dise&ntilde;os  y la repetitividad en las mediciones. </font></p>    <P><font size="2" face="Verdana">Dise&ntilde;ado  un M&oacute;dulo IP capaz de generar una frecuencia m&aacute;xima de salida de  112MHz empotrado en un FPGA Virtex-5 de bajo desempe&ntilde;o. Ello permite esperar  que su implementaci&oacute;n en un ASIC, con tecnolog&iacute;a CMOS 65nm, alcance  frecuencias de salida superiores a 350 MHz, con un incremento de velocidad de  solo 3,1 veces contra el promedio de 4,6 que puede obtenerse. [12] </font></p>    <P><font size="2" face="Verdana">Aplicadas  y validadas t&eacute;cnicas de reducci&oacute;n de niveles de espurias, comprob&aacute;ndose  su efectividad. Obtenido un Rango Din&aacute;mico Libre de Espurias superior a  50dBc. </font></p>    <P><font size="2" face="Verdana">Dise&ntilde;ado un M&oacute;dulo  IP capaz de efectuar saltos de frecuencia configurables en toda la banda de trabajo  con demoras constantes inferiores a 8&#181;s. </font></p>    <P><font size="2" face="Verdana">Enviadas  al &#171;foundry&#187; (f&aacute;brica de Circuitos Integrados) 2 versiones de  M&oacute;dulo IP para su an&aacute;lisis y evaluaci&oacute;n de factibilidad de  fabricaci&oacute;n utilizando tecnolog&iacute;a CMOS 0.35&igrave;m. </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">Aplicadas  novedosas variantes de optimizaci&oacute;n de dise&ntilde;os digitales, adquiri&eacute;ndose  una experiencia valiosa en el conocimiento de los procesos de fabricaci&oacute;n  de Circuitos Integrados a la Medida, permitiendo acercarse al l&iacute;mite potencial  de la tecnolog&iacute;a empleada. </font></p>    <P>&nbsp;</p>    <P><font size="3" face="Verdana"><strong><span class="style1">REFERENCIAS</span></strong></font></p>    <!-- ref --><P><font size="2" face="Verdana">1.  Bar-Giora Goldberg. Digital Frequency Synthesis Demystified. Cap. 4, P&aacute;g.  89. LLH Technology Publishing, 1999. ISBN 1-878707-47-7 </font><!-- ref --><P><font size="2" face="Verdana">2.  Hern&aacute;ndez, Rolando y Guill&eacute;n, Glauco. &#171;<I>S&iacute;ntesis digital  directa de se&ntilde;ales con reloj &uacute;nico&#187;.</I> LACETEL (1991). Ciudad  de la Habana. [En l&iacute;nea]. Disponible en: <A HREF="http://www.lacetel.cu" TARGET="_blank">http://www.lacetel.cu</A>  </font><!-- ref --><P><font size="2" face="Verdana">3. LACETEL (2011). Dise&ntilde;o de  un M&oacute;dulo IP para un ASIC Sintetizador Digital Directo. INFORM&Aacute;TICA  2011. Ciudad de la Habana. [En l&iacute;nea]. Disponible en: <A HREF="http://www.informaticahabana.cu/node/1633" TARGET="_blank">http://www.informaticahabana.cu/node/1633</A>  </font><!-- ref --><P><font size="2" face="Verdana">4. Analog Devices (1999). A Technical  Tutorial on Digital Signal Synthesis. [En l&iacute;nea]. Disponible en: <A HREF="http://www.analog.com" TARGET="_blank">http://www.analog.com</A>.      </font></p>    <P><font size="2" face="Verdana">5. LACETEL (2009). DDS IP Module LCT3212A  VHDL. Soft-Intellectual Property Module. Ciudad de la Habana. [En l&iacute;nea].  Disponible en: <A HREF="http://www.lacetel.cu" TARGET="_blank">http://www.lacetel.cu</A>  </font></p>    <P><font size="2" face="Verdana">6. LACETEL (2009). PD-DDS IP Module  LCT3212B VHDL. Soft-Intellectual Property Module. Ciudad de la Habana. [En l&iacute;nea].  Disponible en: <A HREF="http://www.lacetel.cu" TARGET="_blank">http://www.lacetel.cu</A>  </font></p>    ]]></body>
<body><![CDATA[<P><font size="2" face="Verdana">7. XILINX. (2005). Logicore DDS v5.0.  Disponible en: <A HREF="http://www.xilinx.com" TARGET="_blank">http://www.xilinx.com</A>  </font></p>    <P><font size="2" face="Verdana">8.LACETEL (2009). SK-DDS IP Module  LCT3212C VHDL. Soft-Intellectual Property Module. Ciudad de la Habana. [En l&iacute;nea].  Disponible en: <A HREF="http://www.lacetel.cu" TARGET="_blank">http://www.lacetel.cu</A>.  </font></p>    <!-- ref --><P><font size="2" face="Verdana">9. Ken Gentile, Roger Huntley. Signal  Cancellation Improves DDS SFDR. Agosto 2006. . [En l&iacute;nea]. Disponible en:  <A HREF="http://www.mwrf.com" TARGET="_blank">http://www.mwrf.com</A>.     </font></p>    <!-- ref --><P><font size="2" face="Verdana">10.  A. Wich, &#171;ASIC Direct Digital Synthesis circuit design,&#187; Task of Master  of Science Thesis, Faculty of Electrical Engineering, Czech Technical University  in Prague 2008.     </font></p>    <P><font size="2" face="Verdana">11. LACETEL. (2011).  LCT2412B: M&oacute;dulo IP para un Sintetizador Digital Directo con interfaz SPI  basado en lenguaje VHDL. Disponible en: <A HREF="http://www.lacetel.cu" TARGET="_blank">http://www.lacetel.cu</A>  </font></p>    <P><font size="2" face="Verdana">12. I. Kuon y J. Rose. (2007). Measuring  the Gap Between FPGAs and ASICs. IEEE Transactions on Computer-Aided Design of  Integrated Circuits and Systems 26. Disponible en: <A HREF="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.79.1366&rep=rep1&type=pdf" TARGET="_blank">http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.79.1366&amp;rep=rep1&amp;type=pdf</A>  </font></p>    <P>&nbsp;</p>    <P>&nbsp;</p>    ]]></body>
<body><![CDATA[<P>Recibido: Julio 2012    <br> Aprobado: Septiembre 2012  </p>    <P></p>    <P> <font size="2" face="Verdana"><span class="style1"><B></B></span></font></p></FONT>       ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bar-Giora]]></surname>
<given-names><![CDATA[Goldberg]]></given-names>
</name>
</person-group>
<source><![CDATA[Digital Frequency Synthesis Demystified]]></source>
<year>1999</year>
<page-range>89</page-range><publisher-name><![CDATA[LLH Technology Publishing]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hernández]]></surname>
<given-names><![CDATA[Rolando]]></given-names>
</name>
<name>
<surname><![CDATA[Guillén]]></surname>
<given-names><![CDATA[Glauco]]></given-names>
</name>
</person-group>
<source><![CDATA[Síntesis digital directa de señales con reloj único]]></source>
<year>1991</year>
<publisher-loc><![CDATA[Ciudad de la Habana ]]></publisher-loc>
<publisher-name><![CDATA[LACETEL]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="book">
<source><![CDATA[Diseño de un Módulo IP para un ASIC Sintetizador Digital Directo]]></source>
<year>2011</year>
<publisher-loc><![CDATA[Ciudad de la Habana ]]></publisher-loc>
<publisher-name><![CDATA[INFORMÁTICA]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
</name>
</person-group>
<source><![CDATA[A Technical Tutorial on Digital Signal Synthesis]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="book">
<source><![CDATA[DDS IP Module LCT3212A VHDL. Soft-Intellectual Property Module.]]></source>
<year>2009</year>
<publisher-loc><![CDATA[Ciudad de la Habana ]]></publisher-loc>
<publisher-name><![CDATA[LACETEL]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="book">
<source><![CDATA[PD-DDS IP Module LCT3212B VHDL. Soft-Intellectual Property Module.]]></source>
<year>2009</year>
<publisher-loc><![CDATA[Ciudad de la Habana ]]></publisher-loc>
<publisher-name><![CDATA[LACETEL]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="book">
<source><![CDATA[Logicore DDS v5.0.]]></source>
<year>2005</year>
<publisher-name><![CDATA[XILINX]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="book">
<source><![CDATA[SK-DDS IP Module LCT3212C VHDL. Soft-Intellectual Property Module.]]></source>
<year>2009</year>
<publisher-loc><![CDATA[Ciudad de la Habana ]]></publisher-loc>
<publisher-name><![CDATA[LACETEL]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Gentile]]></surname>
<given-names><![CDATA[Ken]]></given-names>
</name>
<name>
<surname><![CDATA[Huntley]]></surname>
<given-names><![CDATA[Roger]]></given-names>
</name>
</person-group>
<source><![CDATA[Signal Cancellation Improves DDS SFDR.]]></source>
<year>Agos</year>
<month>to</month>
<day> 2</day>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wich]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[ASIC Direct Digital Synthesis circuit design]]></source>
<year>2008</year>
<publisher-name><![CDATA[Task of Master of Science Thesis, Faculty of Electrical Engineering, Czech Technical University in Prague]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="book">
<source><![CDATA[LCT2412B: Módulo IP para un Sintetizador Digital Directo con interfaz SPI basado en lenguaje VHDL]]></source>
<year>2011</year>
<publisher-name><![CDATA[LACETEL]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[I.]]></surname>
<given-names><![CDATA[Kuon]]></given-names>
</name>
<name>
<surname><![CDATA[J.]]></surname>
<given-names><![CDATA[Rose]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Measuring the Gap Between FPGAs and ASICs.]]></article-title>
<source><![CDATA[IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 26.]]></source>
<year>2007</year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
