<?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>1665-6423</journal-id>
<journal-title><![CDATA[Journal of applied research and technology]]></journal-title>
<abbrev-journal-title><![CDATA[J. appl. res. technol]]></abbrev-journal-title>
<issn>1665-6423</issn>
<publisher>
<publisher-name><![CDATA[Universidad Nacional Autónoma de México, Instituto de Ciencias Aplicadas y Tecnología]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1665-64232005000200001</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[A hardware implementation of punctured convolutional codes to complete a Viterbi decoder core]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[García]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Guzmán]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Torres]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Instituto Politécnico Nacional Centro de Investigación y Estudios Avanzados ]]></institution>
<addr-line><![CDATA[Guadalajara Jalisco]]></addr-line>
<country>México</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>00</month>
<year>2005</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>00</month>
<year>2005</year>
</pub-date>
<volume>3</volume>
<numero>2</numero>
<fpage>77</fpage>
<lpage>88</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_arttext&amp;pid=S1665-64232005000200001&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_abstract&amp;pid=S1665-64232005000200001&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.mx/scielo.php?script=sci_pdf&amp;pid=S1665-64232005000200001&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[This paper presents a VLSI (Very Large Scale Integration) implementation of high punctured convolutional codes. We present a new circuit architecture that is capable of processing up to 10 convolutional codes rate (n-1)/n with the constraint length-7 derived by the puncturing technique from the basic rate-1/2. The present circuit was designed in order to complete an existing Viterbi decoder core, adding some extra functionality such as a convolutional encoder, differential encoder/decoder, punctured convolutional encoder and symbol insertion to depuncture the received data. This extra functionality includes 10 different programmable coding rates without the need to add additional logic in the system implementation, while other existing coders need it to attain higher coding rates. Therefore, a single chip solution is presented. The design was implemented in VHDL (Very High Speed Integrated Circuit Hardware Description Language) synthesized in Synopsystool, and tested in a FPGA. Functional verification was done, by means of simulation, to ensure that the circuit implements intended functionality. Such simulations were executed using Synopsys and a Sun Ultra Sparc 10 workstation. Different bit error probability performance curves show an agreement between simulated and theoretical values.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[El presente trabajo presenta el diseño, la implementación y la verificación de un circuito con código convolucional perforado para completar un decodificador de Viterbi. A esta versión se le añadieron las siguientes funcionalidades: codificador convolucional, codificador/decodificador diferencial, codificador convolucional perforado con inserción de símbolos. Además, se incluyeron 10 diferentes razones de codificación, superando versiones existentes en el mercado. El circuito desarrollado no requiere lógica externa para realizar el perforado, por lo que puede implementarse en un solo chip. El diseño fue implementado en VHDL, sintetizado usando la herramienta Synopsys, y probado en un FPGA. Se empleó una estación de trabajo Ultra Sparc 10. La verificación funcional permitió probar que el diseño satisface los requerimientos formulados. Finalmente, se presentan diferentes curvas que demuestran una buena coincidencia de los valores obtenidos de la probabilidad de error con los teóricos.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Convolutional Coding]]></kwd>
<kwd lng="en"><![CDATA[Viterbi Decoding]]></kwd>
<kwd lng="en"><![CDATA[Punctured Codes]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[  	    <p align="center"><font face="verdana" size="4"><b>A hardware implementation of punctured convolutional codes to complete a Viterbi decoder core</b></font></p>     <p align="center"><font face="verdana" size="4">&nbsp;</font></p>  	    <p align="center"><font face="verdana" size="2"><b>E. Garc&iacute;a, M. Guzm&aacute;n &amp; D. Torres</b></font></p>     <p align="center"><font face="verdana" size="2">&nbsp;</font></p>  	    <p align="justify"><font face="verdana" size="2"><i>Centro de Investigaci&oacute;n y Estudios Avanzados del IPN, Unidad Guadalajara Prol. L&oacute;pez Mateos Sur # 590 Guadalajara, Jalisco, M&eacute;xico</i>. <a href="mailto:dtorres@gdl.cinvestav.mx">dtorres@gdl.cinvestav.mx</a></font></p>     <p align="justify"><font face="verdana" size="2">&nbsp;</font></p>  	    <p align="justify"><font face="verdana" size="2">Received: October 14<sup>th</sup>, 2002.     <br>     Accepted: May 30<sup>th</sup>, 2005.</font></p>     <p align="justify"><font face="verdana" size="2">&nbsp;</font></p>  	    ]]></body>
<body><![CDATA[<p align="justify"><font face="verdana" size="2"><b>Abstract</b></font></p>  	    <p align="justify"><font face="verdana" size="2">This paper presents a VLSI (Very Large Scale Integration) implementation of high punctured convolutional codes. We present a new circuit architecture that is capable of processing up to 10 convolutional codes rate (n&#45;1)/n with the constraint length&#45;7 derived by the puncturing technique from the basic rate&#45;1/2. The present circuit was designed in order to complete an existing Viterbi decoder core, adding some <i>extra functionality</i> such as a <i>convolutional encoder, differential encoder/decoder, punctured convolutional encoder and symbol insertion to depuncture the received data. This extra functionality includes 10 different programmable coding rates without the need to add additional logic in the system implementation, while other existing coders need it to attain higher coding rates.</i> Therefore, <i>a single chip solution is presented.</i> The design was implemented in VHDL (<i>Very High Speed Integrated Circuit Hardware Description Language)</i> synthesized in Synopsystool, and tested in a FPGA. Functional verification was done, by means of simulation, to ensure that the circuit implements intended functionality. Such simulations were executed using <i>Synopsys</i> and a <i>Sun Ultra Sparc 10 workstation.</i> Different bit error probability performance curves show an agreement between simulated and theoretical values.</font></p> 	    <p align="justify"><font face="verdana" size="2"><b>Keywords:</b> Convolutional Coding, Viterbi Decoding, Punctured Codes.</font></p> 	    <p align="justify"><font face="verdana" size="2">&nbsp;</font></p>  	    <p align="justify"><font face="verdana" size="2"><b>Resumen</b></font></p>  	    <p align="justify"><font face="verdana" size="2">El presente trabajo presenta el dise&ntilde;o, la implementaci&oacute;n y la verificaci&oacute;n de un circuito con c&oacute;digo convolucional perforado para completar un decodificador de Viterbi. A esta versi&oacute;n se le a&ntilde;adieron las siguientes funcionalidades: codificador convolucional, codificador/decodificador diferencial, codificador convolucional perforado con inserci&oacute;n de s&iacute;mbolos. Adem&aacute;s, se incluyeron 10 diferentes razones de codificaci&oacute;n, superando versiones existentes en el mercado. El circuito desarrollado no requiere l&oacute;gica externa para realizar el perforado, por lo que puede implementarse en un solo chip. El dise&ntilde;o fue implementado en VHDL, sintetizado usando la herramienta Synopsys, y probado en un FPGA. Se emple&oacute; una estaci&oacute;n de trabajo Ultra Sparc 10. La verificaci&oacute;n funcional permiti&oacute; probar que el dise&ntilde;o satisface los requerimientos formulados. Finalmente, se presentan diferentes curvas que demuestran una buena coincidencia de los valores obtenidos de la probabilidad de error con los te&oacute;ricos.</font>	</p> 	    <p align="justify"><font face="verdana" size="2">&nbsp;</font></p>         <p align="justify"><font size="2" face="verdana"><a href="../pdf/jart/v3n2/v3n2a1.pdf" target="_blank">DESCARGAR ART&Iacute;CULO EN FORMATO PDF</a></font></p>         <p align="justify">&nbsp;</p>         <p align="justify"><font face="verdana" size="2"><b>REFERENCES</b></font></p>         ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">&#91;1&#93; Wilson S. G., Digital Modulation and Coding, Prentice Hall, New Jersey, 1996.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816768&pid=S1665-6423200500020000100001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;2&#93; Haccoun D. and Begin G., High&#45;Rate Punctured Convolutional Codes for Vlterbi and Sequential Decoding, IEEE Trans. Communications, vol 37, No 11, November, pp. 1113&#45;1125, 1989.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816770&pid=S1665-6423200500020000100002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2"> &#91;3&#93; Lee C, Convolutional Coding: Fundamentals and Applications, Artech House, INC, Norwood, MA., 1997.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816772&pid=S1665-6423200500020000100003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;4&#93; Cain J.B., Clark G.C., and Geist J., Punctured Convolutional Codes of Rate (n&#45;1</font><font face="verdana" size="2">)/n and simplified maximum likelihood decoding. IEEE Trans. Inform. Theory, vol. IT&#45;25, Jan., pp. 97&#45;100, 1979.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816774&pid=S1665-6423200500020000100004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;5&#93; Yasuda, Y., Kashlki, K., and Hirata, Y., High&#45;Rate Punctured Convolutional Codes for Soft Decision Viterbi Decoding. IEEE Trans. Communications, vol. COM&#45;32, March, pp. 315&#45;319, 1984.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816776&pid=S1665-6423200500020000100005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>         ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">&#91;6&#93; Qualcomm Corp., Q1900 Viterbi Encoder/Decoder Data Sheet, T998.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816778&pid=S1665-6423200500020000100006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;7&#93; Intel Corp., Stel 2030C Convolutional Encoder Viterbi Decoder Data Sheet, January, 2000.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816780&pid=S1665-6423200500020000100007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;8&#93; Sjoholm S. and Lindh L., VHDL for Designers. Prentice Hall, 1997.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816782&pid=S1665-6423200500020000100008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;9&#93; Proakis J.G., Digital Communications, Mc Graw Hill, Third Edition, 1995.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816784&pid=S1665-6423200500020000100009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>     <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;10&#93; Forney G.D. Jr., Convolutional Codes I: Algebraic Structure. IEEE Trans, on Information Theory, Vol IT&#45;16, No. 6, November, pp. 720&#45;738, 1970.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816786&pid=S1665-6423200500020000100010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </font></p>         ]]></body>
<body><![CDATA[<!-- ref --><p align="justify"><font face="verdana" size="2">&#91;11&#93; Forney G.D. Jr., The Viterbi Algorithm. IEEE Proceedings, IT&#45;61(3), March, pp: 268&#45;273, 1973.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816788&pid=S1665-6423200500020000100011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;12&#93; Bazdresch L.M., A VLSI Implementation of the Viterbi Algorithm. CINVESTAV Unidad Guadalajara, Mexico, July, 2000.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816790&pid=S1665-6423200500020000100012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>         <!-- ref --><p align="justify"><font face="verdana" size="2">&#91;13&#93; Bergeron, J. Writing testbenches, functional verification of HDL models. Kluwer Academic Publishers, 2000.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=4816792&pid=S1665-6423200500020000100013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></font></p>      ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wilson]]></surname>
<given-names><![CDATA[S. G.]]></given-names>
</name>
</person-group>
<source><![CDATA[Digital Modulation and Coding]]></source>
<year>1996</year>
<publisher-loc><![CDATA[New Jersey ]]></publisher-loc>
<publisher-name><![CDATA[Prentice Hall]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Haccoun]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Begin]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[High-Rate Punctured Convolutional Codes for Vlterbi and Sequential Decoding]]></article-title>
<source><![CDATA[IEEE Trans. Communications]]></source>
<year>1989</year>
<volume>37</volume>
<numero>11</numero>
<issue>11</issue>
<page-range>1113-1125</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Lee]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<source><![CDATA[Convolutional Coding: Fundamentals and Applications]]></source>
<year>1997</year>
<publisher-loc><![CDATA[Norwood^eMA. MA.]]></publisher-loc>
<publisher-name><![CDATA[Artech House, INC]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cain]]></surname>
<given-names><![CDATA[J.B.]]></given-names>
</name>
<name>
<surname><![CDATA[Clark]]></surname>
<given-names><![CDATA[G.C.]]></given-names>
</name>
<name>
<surname><![CDATA[Geist]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Punctured Convolutional Codes of Rate (n-1)/n and simplified maximum likelihood decoding]]></article-title>
<source><![CDATA[IEEE Trans. Inform. Theory]]></source>
<year>1979</year>
<volume>IT-25</volume>
<page-range>97-100</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Yasuda]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
<name>
<surname><![CDATA[Kashlki]]></surname>
<given-names><![CDATA[K.]]></given-names>
</name>
<name>
<surname><![CDATA[Hirata]]></surname>
<given-names><![CDATA[Y.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[High-Rate Punctured Convolutional Codes for Soft Decision Viterbi Decoding]]></article-title>
<source><![CDATA[IEEE Trans. Communications]]></source>
<year>1984</year>
<volume>COM-32</volume>
<page-range>315-319</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="">
<collab>Qualcomm Corp.</collab>
<source><![CDATA[Q1900 Viterbi Encoder/Decoder Data Sheet, T998]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="">
<collab>Intel Corp.</collab>
<source><![CDATA[Stel 2030C Convolutional Encoder Viterbi Decoder Data Sheet]]></source>
<year>Janu</year>
<month>ar</month>
<day>y,</day>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sjoholm]]></surname>
<given-names><![CDATA[S.]]></given-names>
</name>
<name>
<surname><![CDATA[Lindh]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
</person-group>
<source><![CDATA[VHDL for Designers]]></source>
<year>1997</year>
<publisher-name><![CDATA[Prentice Hall]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Proakis]]></surname>
<given-names><![CDATA[J.G.]]></given-names>
</name>
</person-group>
<source><![CDATA[Digital Communications]]></source>
<year>1995</year>
<edition>Third</edition>
<publisher-name><![CDATA[Mc Graw Hill]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Forney]]></surname>
<given-names><![CDATA[G.D. Jr.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Convolutional Codes I: Algebraic Structure]]></article-title>
<source><![CDATA[IEEE Trans, on Information Theory]]></source>
<year>1970</year>
<volume>IT-16</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>720-738</page-range></nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Forney]]></surname>
<given-names><![CDATA[G.D. Jr.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The Viterbi Algorithm]]></article-title>
<source><![CDATA[IEEE Proceedings]]></source>
<year>1973</year>
<volume>IT-61</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>268-273</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bazdresch]]></surname>
<given-names><![CDATA[L.M.]]></given-names>
</name>
</person-group>
<source><![CDATA[A VLSI Implementation of the Viterbi Algorithm]]></source>
<year>July</year>
<month>, </month>
<day>20</day>
<publisher-name><![CDATA[CINVESTAV Unidad Guadalajara]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Bergeron]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
</person-group>
<source><![CDATA[Writing testbenches, functional verification of HDL models]]></source>
<year>2000</year>
<publisher-name><![CDATA[Kluwer Academic Publishers]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
