<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>vhdl &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/vhdl/</link>
	<description>Feed of posts on WordPress.com tagged "vhdl"</description>
	<pubDate>Wed, 02 Dec 2009 08:29:10 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[AVR8 virtual processor on FPGA]]></title>
<link>http://hackaday.com/2009/11/19/avr8-virtual-processor-on-fpga/</link>
<pubDate>Thu, 19 Nov 2009 17:47:44 +0000</pubDate>
<dc:creator>Mike Szczys</dc:creator>
<guid>http://hackaday.com/2009/11/19/avr8-virtual-processor-on-fpga/</guid>
<description><![CDATA[[Jack] wrote in to let us know about a project that creates a virtual microprocessor core based on t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignnone size-full wp-image-18538" title="butterfly-fpga-platform" src="http://hackadaycom.wordpress.com/files/2009/11/butterfly-fpga-platform.jpg" alt="" width="470" height="313" /></p>
<p>[Jack] wrote in to let us know about a <a href="http://www.gadgetfactory.net/gf/project/avr_core/">project that creates a virtual microprocessor core</a> based on the ATmega103 by using a Field-Programmable Gate Array. Great, we thought. Here&#8217;s another rather esoteric project like the <a href="http://hackaday.com/2009/10/17/nes-processor-cloned-on-a-fpga/">NES on a FPGA</a>, but what&#8217;s the motivation behind it? We asked [Jack] and he provided several scenarios where this is quite useful.</p>
<p>Implementing the AVR core allows code already written for the chips to be easily ported to an FPGA without a code rewrite. This way, if your needs outpaced the capabilities of the microcontroller long after the project has started, you can keep the code and move forward from that point with the added capabilities of the gate array. Having the core already implemented, you then only need to work with HDL for the parts of the project the AVR was unable to handle. He also makes the point that having an open source AVR core implementation provides a great tool for people already familiar with AVR to study when learning VHDL.</p>
<p>With products like the Butterfly that this project is based around, or the <a href="http://hackaday.com/2009/08/22/maple-beats-up-arduino-takes-its-shields/">Maple</a> we&#8217;ve seen in the past, <a href="http://hackaday.com/2008/12/11/how-to-programmable-logic-devices-cpld/">programmable logic</a> for the recreational hacker is starting to get a little easier.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[VHDL - Projetando Sistemas Digitais]]></title>
<link>http://reevolucao.net/2009/11/19/vhdl/</link>
<pubDate>Thu, 19 Nov 2009 03:09:56 +0000</pubDate>
<dc:creator>Kleber</dc:creator>
<guid>http://reevolucao.net/2009/11/19/vhdl/</guid>
<description><![CDATA[VHDL ou &#8220;VHSIC Hardware Description Language&#8221; (Linguagem de descrição de hardware VHSIC ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><blockquote>
<p style="text-align:justify;"><strong>VHDL</strong> ou &#8220;<a title="VHSIC" href="http://pt.wikipedia.org/wiki/VHSIC"><strong>V</strong>HSIC</a> <a title="Linguagem de Descrição de Hardware" href="http://pt.wikipedia.org/wiki/Linguagem_de_Descri%C3%A7%C3%A3o_de_Hardware"><strong>H</strong>ardware <strong>D</strong>escription <strong>L</strong>anguage</a>&#8221; (Linguagem de descrição de hardware VHSIC &#8220;<a title="VHSIC" href="http://pt.wikipedia.org/wiki/VHSIC"><strong>V</strong>ery <strong>H</strong>igh <strong>S</strong>peed <strong>I</strong>ntegrated <strong>C</strong>ircuits</a>&#8220;) é uma linguagem usada para facilitar o design (projeto/concepção) de circuitos digitais em <a title="FPGA" href="http://pt.wikipedia.org/wiki/FPGA">FPGAs</a> e <a title="ASIC" href="http://pt.wikipedia.org/wiki/ASIC">ASICs</a>.</p>
</blockquote>
<p style="text-align:justify;">É uma linguagem para projetar circuitos eletrônicos lógicos, se assemelha um pouco com pascal e tem como objetivo padronizar o modo de programar circuitos integrados de diferentes fabricantes de um modo padronizado, isto é, o que você projeta em VHDL poderá ser usado em qualquer circuito integrado sem reescrita de código.</p>
<p style="text-align:justify;">Mas a princípio, quem não tem muita experiência em sistemas embarcados pode se perder totalmente com a linguagem e de como utilizar. Um dos maiores problemas é aprender a usar as bibliotecas para começar a trabalhar, e alguns conceitos. Uma vantagem enorme é que a construção por meio de código é bem simplificada em relação ao projeto totalmente feito com símbolos primitivos e até mesmo substituindo decodificadores e contadores facilmente.</p>
<p>Tutorial em português de VHDL:<a title="VHDL pt" href="http://www.4shared.com/file/155031917/aef41748/Tutorial_VHDL.html" target="_blank"> VHDL pt</a></p>
<p>Outras fontes em inglês:</p>
<ol>
<li><a href="http://www.4shared.com/file/155543997/2ec91868/Rapid_Prototyping_of_Digital_Systems_2002_Hamblen__Furman.html">Rapid Prototyping of Digital Systems 2002 Hamblen &#38; Furman</a></li>
<li><a href="http://www.4shared.com/file/155544519/95657eba/_Delmar__Digital_Design_with_CPLD_Applications__VHDL.html">(Delmar) Digital Design with CPLD Applications &#38; VHDL</a></li>
<li><a href="http://www.4shared.com/file/155545457/afcf9beb/McGrawHillVHDLProgrammingbyExample4thEd.html">McGraw Hill VHDL Programming by Example 4th.Ed</a></li>
<li><a href="http://www.4shared.com/file/155544815/940ba1c2/VHDL_Beginners_Bk.html">VHDL_Beginners_Book </a></li>
</ol>
<p>A wikipédia tem bons exemplos <a title="em Português" href="http://pt.wikipedia.org/wiki/VHDL">em Português</a>, mas nada se compara com a versão <a href="http://en.wikipedia.org/wiki/VHDL">em inglês</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[VHDL Makefile]]></title>
<link>http://pgraycode.wordpress.com/2009/11/17/vhdl-makefile/</link>
<pubDate>Tue, 17 Nov 2009 20:53:15 +0000</pubDate>
<dc:creator>Mithrandir</dc:creator>
<guid>http://pgraycode.wordpress.com/2009/11/17/vhdl-makefile/</guid>
<description><![CDATA[Here is a short example for the Makefile I&#8217;m currently using to compile and test my VHDL proje]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:justify;">Here is a short example for the Makefile I&#8217;m currently using to compile and test my VHDL project:</p>
<p><code>.PHONY: all clean testbench<br />
&#160;<br />
VCDFILE = tmp<br />
STOPTIME = 42ns<br />
DEBUG = --vcd=$(VCDFILE) --stop-time=$(STOPTIME)<br />
CLEANUP = rm -f $(VCDFILE)<br />
OBJS = clock.o<br />
TARGET = <br />
&#160;<br />
all: <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;make test <br />
&#160;<br />
clean:<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ghdl --clean<br />
&#160;<br />
testbench:<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ghdl -m $(TARGET)<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ghdl -r $(TARGET) $(DEBUG)<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;gtkwave $(VCDFILE)<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$(CLEANUP)<br />
</code></p>
<p style="text-align:justify;"> Which is used in a terminal (providing you have <a href="http://pgraycode.wordpress.com/2009/10/18/verilog-and-vhdl-on-linux-ubuntu/">gtkwave and ghdl installed</a>) as follows:</p>
<p><code>$ make testbench TARGET=Chien_tb</code></p>
<p style="text-align:justify;">Hoping to be useful, I&#8217;ll retire. I&#8217;ll be back in a few weeks with more details.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Very High Speed Integrated Circuit &amp; LINUX]]></title>
<link>http://ezetina.wordpress.com/2009/11/16/vhdllinux/</link>
<pubDate>Tue, 17 Nov 2009 04:49:40 +0000</pubDate>
<dc:creator>ezetina</dc:creator>
<guid>http://ezetina.wordpress.com/2009/11/16/vhdllinux/</guid>
<description><![CDATA[VHDL &amp; LINUX Dentro de mi poca experiencia en linux una de las cosas mas complicadas  que me ha ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h1 style="text-align:center;"><strong>VHDL &#38; LINUX</strong></h1>
<p><strong>Dentro de mi poca experiencia en linux una de las cosas mas complicadas  que me ha tocado experimentar es el compilar y simular en en VHDL (Very High Speed Integrated Circuit), llegue   incluso a  recurrir a la emulacion  o virtualizacion de compiladores como Xilixs o Quartus, sin embargo googlenado un poco  y con muchas horas de practica logre desde la consola de mi linux generar simulaciones en este lenguaje. Dejo a continuacion un link con los paquetes necesarios para la compilacion y simulacion de un proyecto <a href="http://packages.ubuntu.com/">http://packages.ubuntu.com/</a>, si usas ubuntu puedes desde synaptic buscar los paquetes GTKWave o bien utilizar:</strong></p>
<blockquote><p><strong>$ sudo aptitude install ghdl<br />
$ sudo aptitude install gtkwave</strong></p></blockquote>
<p><strong>Si usas otra distribución, puedes verificar si encuentras el codigo fuente, en la excelente página de Roberto Aragón se puede encontrar información y ayuda, el enlace es el que sigue:</strong></p>
<blockquote><p><strong><a href="http://web.madritel.es/personales4/raragon/vhdl/t1.html">http://web.madritel.es/personales4/raragon/vhdl/t1.html</a></strong></p></blockquote>
<p><strong>A continuacion les comento de  algunos comandos utiles para  compilar nustros proyectos y claro para  generarla simualcion de los mismos, </strong><strong>GHDL</strong><strong> dispone de un método muy sencillo para detectar las dependencias entre ficheros (la opción </strong><strong>-i</strong><strong>) y para <em>elaborar</em> la unidad de simulación (la opción </strong><strong>-m</strong><strong>). Si dispones de todos los ficheros fuente de la unidad, ejecutando:</strong></p>
<blockquote><p><strong>$ ghdl -i *.vhd</strong><strong> </strong></p></blockquote>
<p><strong><em>importarás</em></strong><strong> todos los componentes definidos en los ficheros.  Una vez generado este fichero, </strong><strong>GHDL</strong><strong> ya sabe las dependencias entre entidades, arquitecturas y configuraciones de tu unidad y es capaz de generarla. Para ello sólo tienes que ejecutar la orden:</strong></p>
<blockquote><p><strong>$ ghdl -m <em>unidad-de-simulación</em></strong><strong> </strong></p></blockquote>
<p><strong>Para simular el recién creado modelo, puedes ahora generar un fichero de onda (VCD) y después verlo con </strong><strong>GTKWAVE</strong><strong> o ejecutar al mismo tiempo ambos programas. Para el primer caso primero ejecuta:</strong></p>
<blockquote><p><strong>$ ./adder_tb &#8211;vcd=adder.vcd</strong><strong> </strong></p></blockquote>
<p><strong>a lo que el sistema responderá:</strong></p>
<blockquote><p><strong>adder_tb.vhdl:52:7:(assertion note): end of test</strong></p></blockquote>
<p><strong>lo que significa que la simulación ha terminado con éxito. Se habrá creado el fichero adder_tb.vcd que contiene un seguimiendo de onda cuadrada en respuesta a la simulación. Para poder verlo y verificar los datos ejecuta:</strong></p>
<blockquote><p><strong>$ gtkwave adder.vcd</strong></p></blockquote>
<p><strong>y usa las opciones de menú en Search-&#62;Signal Search&#8230;para añadir señales y poder verificar las salidas del modelo. Si estás usando la versión 2.0.0pre3 de gtkwave y dispones de un fichero con trazas salvadas de una anterior ejecución (p.e. llamado adder.trc) puedes ejecutar la simulación cargando automáticamente las trazas con la llamada:</strong></p>
<blockquote><p><strong>$ gtkwave adder.vcd adder.trc</strong></p></blockquote>
<p><strong>Para ejecutar la simulación y al mismo tiempo ver la onda también puedes usar:</strong></p>
<blockquote><p><strong>$ ./adder_tb &#8211;vcd=- &#124; gtkwave -vcd</strong></p></blockquote>
<p><strong>Arrancará directamente GTKWAVE, de modo que puedas añadir las señales que quieras, y comprobar que tu modelo funciona adecuadamente.</strong></p>
<p><strong>Yo tarde mucho encontrando esta información en Google, y este post es  únicamente para  facilitar a  aquellos  googleros que necesiten esta información de  forma mas rápida y sencilla. En caso de que tengan alguna duda sobre el lenguaje, algún proyecto que no salgo o quieran simplemente compartir  un poco de información dejen  un comentario para   hacer el post correspondiente.</strong></p>
<p style="text-align:left;"><a href="http://ezetina.wordpress.com/files/2009/11/ghdl1.png"><img class="aligncenter size-full wp-image-98" title="ghdl" src="http://ezetina.wordpress.com/files/2009/11/ghdl1.png" alt="" width="497" height="355" /></a></p>
<p style="text-align:left;">edito!!  sabado 28 de Noviembre 2009</p>
<p style="text-align:left;">Agradezco a la comunidad http://chitlesh.fedorapeople.org/FEL/ por el apoyo mostrado, ademas  que  los screenshots pertenecen a esta web.</p>
<p style="text-align:left;">
<p style="text-align:left;">
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Coding Has Begun]]></title>
<link>http://benoztalay.wordpress.com/2009/11/14/coding-has-begun/</link>
<pubDate>Sat, 14 Nov 2009 05:45:20 +0000</pubDate>
<dc:creator>lilozzy</dc:creator>
<guid>http://benoztalay.wordpress.com/2009/11/14/coding-has-begun/</guid>
<description><![CDATA[I began coding certain elements of the OZ-3 in the last couple of weeks. It&#8217;s been going alrig]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I began coding certain elements of the OZ-3 in the last couple of weeks. It&#8217;s been going alright; I had to look back at my Logisim schematics to remember just how some parts work! I coded the smaller components, such as generic falling- and rising-edge triggered registers that can be sized according to their purpose. Also, I&#8217;ve done the ALU and condition block. Unfortunately, since I made up the schematics, I&#8217;ve forgotten the reasons behind various buffers that keep everything timed correctly (i.e., an instruction&#8217;s data doesn&#8217;t get to a stage in the pipeline too soon). This caused confusion on my part when programmed these buffers into the EX and WB stages.</p>
<p><!--more-->I&#8217;ve adopted a coding style that incorporates behavioral architectures on smaller-scale items, such as the ALU and registers, while using a structural approach to larger pieces, such as the pipeline stages. I did it this way because it allows me the most control over how things go together while still giving the synthesis tools room for optimization that I may not think of. For example, the EX stage of the OZ-3 has a handful of components: the ALU, ALU A and B input registers, the condition block, and a register that acts as a buffer for the ID stage&#8217;s control signals. I coded all of those components behaviorally, then studied my schematics to put the pieces together structurally to create the whole stage.</p>
<p>I suppose I ought to spell out how the OZ-3 operates in more detail at this point. The instruction fetch stage gets the instruction from instruction memory, then passes that instruction the instruction decode stage in the next cycle. All data are gathered during the rising edge of the clock (as in, the registers that separate each stage are rising-edge triggered), and processed in the second half of the cycle. During the instruction decode stage, everything instruction will do is sorted out, then all of the control signals go out to each stage, where they&#8217;re put into buffers to wait until the instruction gets to the stage. For instance, the MEM stage has a two-stage buffer because the instruction needs to finish two stages until it gets to MEM. I&#8217;ve structured everything to accept an instruction of all zeroes as &#8220;do nothing&#8221;. For instance, if the condition block receives &#8220;000&#8243; as the condition being tested, it automatically outputs &#8216;1,&#8217; allowing the instruction to go through.</p>
<p>There is one big roadblock that I know I will run into while creating the VHDL code for this processor. Since the development board I&#8217;m using has both Flash memory and RAM resources, I&#8217;m using the Flash to store programs and the RAM as regular data memory. Both are organized as 8Mbytes x 16bits, but my instructions are 32 bits long, which means that I&#8217;ll need to extend the instruction fetch stage to two stages. Beyond that, I also need to learn how to use these components. I&#8217;ll need to create a writer for the Flash so that I can load programs into it, which may or may not include interfacing with the host computer. I&#8217;ll need to get rid of the old load and store instructions for the memory because those store and load whole 32-bit words, while I can only run those operations with half words. The new instructions I&#8217;ll be replacing those with are: load upper, load lower, store upper, store lower. What these will do is load 16 bits at an address to the upper or lower half of a register, or store the upper or lower half of a register into an address in memory.</p>
<p>Currently, I have the execution and writeback stages complete and simulated successfully. I&#8217;m going to delve into datasheets on Intel StrataFlash and the Micron pseudo-dynamic RAM module to figure out how they work. The development board&#8217;s user manual provides a fair explanation of them, but I want to get more detail before I start synthesizing anything. The next item on the list is creating a Flash and RAM reader/writer/tester. After that, I&#8217;ll have a good grasp of those components, as well as a useful tool for my board.</p>
<p>Ben Oztalay</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Linguagem VHDL - Guia de referência]]></title>
<link>http://rosseto.wordpress.com/2009/11/12/linguagem-vhdl-guia-de-referencia/</link>
<pubDate>Thu, 12 Nov 2009 13:16:44 +0000</pubDate>
<dc:creator>Fábio Rosseto</dc:creator>
<guid>http://rosseto.wordpress.com/2009/11/12/linguagem-vhdl-guia-de-referencia/</guid>
<description><![CDATA[Introdução Este texto tem como objetivo principal listar todos os principais elementos que constitue]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Introdução</strong></p>
<p>Este texto tem como objetivo principal listar todos os principais<strong> </strong>elementos que constituem a linguagem VHDL.<strong> </strong></p>
<p><strong>&#62;&#62;&#62; Artigo em edição &#60;&#60;&#60;</strong></p>
<p><strong><!--more--><br />
</strong></p>
<h1><strong>Entity</strong></h1>
<p>Uma entity define um bloco &#8211; suas  entradas e suas saídas.</p>
<p>Declaração:</p>
<p><span style="color:#3366ff;">entity </span>&#60;nome_da_entidade&#62; <span style="color:#3366ff;">is</span></p>
<p><span style="color:#3366ff;">port </span>(</p>
<p>signal &#60;nome_do_sinal_1&#62;: &#60;sentido_do_sinal&#62; &#60;tipo_do_sinal&#62; := &#60;valor_inicial&#62;;</p>
<p>signal &#60;nome_do_sinal_n&#62;: &#60;sentido_do_sinal&#62; &#60;tipo_do_sinal&#62; := &#60;valor_inicial&#62;</p>
<p>)</p>
<p><span style="color:#3366ff;">end entity</span> &#60;nome_da_entidade&#62;;</p>
<p>A declaração das entradas/saídas da entidade  é feita através da declaração <strong>port</strong> (opcional).</p>
<p>Para especificação de tipo do sinal vide Seção <strong>Tipos.</strong></p>
<p>Sentido do sinal: <strong>in </strong>(entrada), <strong>out </strong>(saída), <strong>inout / buffer</strong> (porta bidirecional)<strong> </strong></p>
<h1><strong>Architecture</strong></h1>
<p>Uma architecture define o &#8216;comportamento&#8217; de uma entidade, ou ainda as conexões  entre a entidade e seus  componentes.</p>
<p>Declaração:</p>
<p><span style="color:#3366ff;">architecture </span>&#60;nome_da_architecture&#62; <span style="color:#3366ff;">of </span>&#60;nome_da_entidade&#62; <span style="color:#3366ff;">is</span></p>
<p>&#60;declaração dos sinais&#62;</p>
<p>&#60;declaração dos generics&#62;</p>
<p>&#60;declaração dos componentes&#62;</p>
<p><span style="color:#3366ff;">begin</span></p>
<p>&#60;processos&#62;</p>
<p><span style="color:#3366ff;">end architecture</span> &#60;nome_da_architecture&#62;;</p>
<p><strong>Processos</strong></p>
<p>Processos são blocos de código concorrentes presentes em um architecture que podem ser sensíveis a sinais pré-especificados.</p>
<p>Declaração:</p>
<p>&#60;nome_do_processo&#62;: <span style="color:#3366ff;">process is</span></p>
<p><span style="color:#3366ff;">begin</span></p>
<p><span style="color:#3366ff;"><span style="color:#000000;">&#60;laços/operações&#62;</span><br />
</span></p>
<p><span style="color:#3366ff;">end process </span>&#60;nome_do_processo&#62;;</p>
<h1><strong>Tipos de dados</strong></h1>
<p>O Diagrama a seguir exibe a árvore de tipos de dados  utilizada na  linguagem VHDL<strong><br />
</strong></p>
<p><strong><img class="size-full wp-image-39 aligncenter" title="tipos_vhdl" src="http://rosseto.wordpress.com/files/2009/10/tipos_vhdl.png" alt="tipos_vhdl" width="500" height="334" /></strong></p>
<p><strong><br />
</strong></p>
<ul>
<li><strong>constants</strong></li>
</ul>
<p><span style="color:#3366ff;">constant </span>&#60;nome_da_constante&#62;: &#60;tipo_da_constante&#62; := &#60;valor&#62;;</p>
<ul>
<li><strong>variables</strong></li>
</ul>
<p><span style="color:#3366ff;">variable </span>&#60;nome_da_variável&#62;: &#60;tipo_da_variável&#62; := &#60;valor_inicial&#62;;</p>
<p>Atribuição:</p>
<p>&#60;nome_da_variável&#62; := &#60;valor&#62;;</p>
<ul>
<li><strong>signals</strong></li>
</ul>
<p><span style="color:#3366ff;">signal </span>&#60;nome_do_sinal&#62;: &#60;sentido_do_sinal&#62; &#60;tipo_do_sinal&#62; := &#60;valor_inicial&#62;</p>
<p>Atribuição:</p>
<p>&#60;nome_do_sinal&#62; &#60;= &#60;valor&#62;;</p>
<p>Caso o sinal seja interno, isto é, se definido dentro de uma architecture, o sentido do sinal é desnecessário  (ele não faz parte do corpo da identity e, portanto, não se conecta externamente a nenhum sinal).</p>
<p><em>Atributos de sinais</em></p>
<p>&#60;Nome_do_Sinal&#62;<strong>&#8216;delayed(</strong>&#60;Tempo&#62;<strong>)</strong> &#8211; Valor do sinal atrasado em &#60;Tempo&#62; unidades de tempo<br />
&#60;Nome_do_Sinal&#62;<strong>&#8217;stable(</strong>&#60;Tempo&#62;<strong>)</strong> &#8211; True se nenhum evento ocorrer sobre o sinal &#60;Nome_do_Sinal&#62; nos últimos &#60;Tempo&#62; unidades de tempo<br />
&#60;Nome_do_Sinal&#62;<strong>&#8216;quiet(</strong>&#60;Tempo&#62;<strong>)</strong> &#8211; True se o sinal &#60;Nome_do_Sinal&#62; se mantiver constante por &#60;Tempo&#62; unidades de tempo<br />
&#60;Nome_do_Sinal&#62;<strong>&#8216;last_value</strong> &#8211; Valor do sinal &#60;Nome_do_Sinal&#62; antes da última variação/mudança<br />
&#60;Nome_do_Sinal&#62;<strong>&#8216;last_event</strong> &#8211; Instante no qual o sinal &#60;Nome_do_Sinal&#62; sofreu alteração pela última vez<br />
&#60;Nome_do_Sinal&#62;<strong>&#8216;last_active</strong> &#8211; Instante no qual o sinal &#60;Nome_do_Sinal&#62;esteve ativo na última vez<br />
&#60;Nome_do_Sinal&#62;<strong>&#8216;event</strong> &#8211; True se um evento ocorreu no sinal &#60;Nome_do_Sinal&#62; no ciclo corrente<br />
&#60;Nome_do_Sinal&#62;<strong>&#8216;active</strong> &#8211; True se o sinal &#60;Nome_do_Sinal&#62; está ativo no ciclo corrente<br />
&#60;Nome_do_Sinal&#62;<strong>&#8216;transaction</strong> &#8211; Valor de bit alterado a cada vez que o sinal &#60;Nome_do_Sinal&#62; sofre alterações</p>
<ul>
<li><strong>files</strong></li>
</ul>
<p><strong><br />
</strong></p>
<h2>Tipos de dados escalares</h2>
<p><span style="text-decoration:underline;"><br />
</span></p>
<h3><em>Definição de inteiros, floating point e tipos físicos<br />
</em></h3>
<p>Definições genéricas de tipo podem ser utilizadas para definir inteiros, floating point e tipos físicos.</p>
<p><span style="color:#3366ff;">type </span>&#60;nome_do_tipo&#62; <span style="color:#3366ff;">is range</span> &#60;limite_inferior&#62; <span style="color:#3366ff;">to </span>&#60;limite_superior&#62;</p>
<p><span style="color:#3366ff;">units</span></p>
<p>&#60;nome_da_unidade&#62;; l</p>
<p><span style="color:#3366ff;">end units </span>&#60;nome_do_tipo&#62;;</p>
<p><em>A seção units é opcional.</em></p>
<p><em>Sistema Numérico<br />
</em></p>
<p>B&#8221;&#60;Valor_Binário&#62;&#8221;</p>
<p>O&#8221;&#60;Valor Octal&#62;&#8221;</p>
<p>X&#8221;&#60;Valor Hexadecimal&#62;&#8221;</p>
<p>D&#8221;&#60;Valor decimal&#62;&#8221;</p>
<p><em><br />
</em></p>
<p><strong>tipos enumeration</strong></p>
<p><span style="color:#3366ff;">type </span>&#60;nome_da_enumeração&#62; <span style="color:#3366ff;">is</span></p>
<p>(&#60;nome_1&#62;, &#60;nome_2&#62;,&#60;nome_3&#62;,&#8230;);</p>
<p><strong>characters</strong></p>
<p>O tipo caracter é definido na linguagem como a enumeração de todos os caracteres da tabela ASCII.</p>
<p><span style="color:#3366ff;">variable </span>&#60;nome_da_variável&#62;: character;</p>
<p><strong>booleans</strong></p>
<p>O tipo booleano é definido por</p>
<p><span style="color:#3366ff;">type </span>boolean <span style="color:#3366ff;">is </span>(false,true);</p>
<p><em>bits</em></p>
<p>O tipo bit é definido por</p>
<p><span style="color:#3366ff;">type bit </span><span style="color:#3366ff;">is </span>(&#8216;0&#8242;,&#8217;1&#8242;);</p>
<p><strong>standard_logic</strong></p>
<p>Este tipo é definido no pacote std_logic_1164. É definido por</p>
<p><span style="color:#3366ff;">type </span>std_ulogic <span style="color:#3366ff;">is </span>(</p>
<p>&#8216;U&#8217;, &#8212; Uninitialized: Não inicializado</p>
<p>&#8216;X&#8217;, &#8212; Desconhecido forçado</p>
<p>&#8216;0&#8242;, &#8212; Zero forçado</p>
<p>&#8216;1&#8242;, &#8212; Um forçado</p>
<p>&#8216;Z&#8217;, &#8212; Alta impedância</p>
<p>&#8216;W&#8217;, &#8212; Desconhecido fraco (Weak)</p>
<p>&#8216;L&#8217;, &#8212; Zero fraco (Low)</p>
<p>&#8216;H&#8217; &#8212; Um fraco (High)</p>
<p>&#8216;-&#8217; &#8212; Não importa</p>
<p>);</p>
<p><strong>Subtipos</strong></p>
<p>Definição de subtipo:<em><br />
</em></p>
<p><span style="color:#3366ff;">subtype </span>&#60;nome_do_subtipo&#62; <span style="color:#3366ff;">is </span>&#60;tipo&#62; <span style="color:#3366ff;">range </span>&#60;limite_inferior&#62; <span style="color:#3366ff;">to </span>&#60;limite_superior&#62;<em> </em></p>
<p>Declaração de variável com subtipo:<em><br />
</em></p>
<p><span style="color:#3366ff;">variable </span>&#60;nome_da_variavel&#62;: &#60;nome_do_subtipo) := &#60;valor_inicial&#62;;</p>
<p><em>Atributos de escalares</em></p>
<p>&#60;Nome_do_sinal&#62;&#8217;<span style="color:#0000ff;">left </span>- primeiro (mais a esquerda) valor em &#60;Nome_do_sinal&#62;</p>
<p>&#60;Nome_do_sinal&#62;&#8217;<span style="color:#0000ff;">right </span>- último (mais a direita) valor em &#60;Nome_do_sinal&#62;</p>
<p>&#60;Nome_do_sinal&#62;&#8217;<span style="color:#0000ff;">low </span>- menor valor em &#60;Nome_do_sinal&#62;</p>
<p>&#60;Nome_do_sinal&#62;&#8217;<span style="color:#0000ff;">high </span>- maior valor em &#60;Nome_do_sinal&#62;</p>
<p>&#60;Nome_do_sinal&#62;&#8217;<span style="color:#0000ff;">ascending </span>- True se &#60;Nome_do_sinal&#62; está em uma faixa ascendente, False caso contrário</p>
<p>&#60;Nome_do_sinal&#62;&#8217;<span style="color:#0000ff;">image</span>(x) &#8211; string representando o valor de x</p>
<p>&#60;Nome_do_sinal&#62;&#8217;<span style="color:#0000ff;">value</span>(s) &#8211; o valor em &#60;Nome do Sinal&#62; que é representado por s</p>
<p>Aplicados apenas a tipos discretos ou físicos:</p>
<p>&#60;Nome_do_sinal&#62;<span style="color:#0000ff;">&#8216;pos</span>(x) &#8211; número da posição x em &#60;Nome_do_sinal&#62;</p>
<p>&#60;Nome_do_sinal&#62;<span style="color:#0000ff;">&#8216;val</span>(n) &#8211; valor em &#60;Nome_do_sinal&#62; na posição n</p>
<p>&#60;Nome_do_sinal&#62;<span style="color:#0000ff;">&#8217;succ</span>(x) &#8211; valor em &#60;Nome_do_sinal&#62; na posição um a mais que a de x</p>
<p>&#60;Nome_do_sinal&#62;<span style="color:#0000ff;">&#8216;pred</span>(x) &#8211; valor em &#60;Nome_do_sinal&#62; na posição um a menos que a de x</p>
<p>&#60;Nome_do_sinal&#62;<span style="color:#0000ff;">&#8216;leftof</span>(x) &#8211; valor em &#60;Nome_do_sinal&#62; na posição um a esquerda de x</p>
<p>&#60;Nome_do_sinal&#62;<span style="color:#0000ff;">&#8216;rightof</span>(x) &#8211; valor em &#60;Nome_do_sinal&#62; na posição um a direita de x</p>
<h2><strong>Array / Vetores<br />
</strong></h2>
<p><span style="color:#0000ff;">array </span>&#60;faixa&#62; <span style="color:#0000ff;">of </span>&#60;subtipo&#62;</p>
<p>A faixa é definida por:</p>
<p>&#60;limite_inferior&#62; <span style="color:#0000ff;">to </span>&#60;limite_superior&#62;</p>
<p>&#60;limite_superior&#62; <span style="color:#0000ff;">downto </span>&#60;limite_inferior&#62;</p>
<p>Multidimensional</p>
<p><span style="color:#0000ff;">type </span>&#60;nome_da_matriz&#62; <span style="color:#0000ff;">is array</span> (&#60;array_1&#62;,&#60;array_2&#62;,&#8230;) <span style="color:#0000ff;">of </span>&#60;tipo_definido&#62;;</p>
<p>A matriz pode ser indexada através de</p>
<p>nome_da_matriz(&#60;index_array_1&#62;,&#8230;);</p>
<p><em>Atributos de vetores</em></p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;left</span>(N) &#8211; Limite esquerdo da faixa de dimensão N do sinal &#60;Nome_do_Sinal&#62;</p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;right</span>(N) &#8211; Limite direito da faixa de dimensão N do sinal &#60;Nome_do_Sinal&#62;</p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;low</span>(N) &#8211; Limite inferior da faixa de dimensão N do sinal &#60;Nome_do_Sinal&#62;</p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;high</span>(N) &#8211; Limite superior da faixa de dimensão N do sinal &#60;Nome_do_Sinal&#62;</p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;range</span>(N) &#8211; Faixa do índice de dimensão N do sinal &#60;Nome_do_Sinal&#62;</p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;reverse_range</span>(N) &#8211; Reverso  do índice de dimensão N do sinal &#60;Nome_do_Sinal&#62;</p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;length</span>(N) &#8211; Comprimento do índice de dimensão N do sinal &#60;Nome_do_Sinal&#62;</p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;ascending</span>(N) &#8211; True se faixa do indice de dimensão N de &#60;Nome_do_Sinal&#62; está em uma faixa acendente, Falso caso contrário</p>
<p>&#60;Nome_do_Sinal&#62;<span style="color:#0000ff;">&#8216;element</span>(N) &#8211; Elemento subtipo de&#60;Nome_do_Sinal&#62;</p>
<h2><strong>Registro</strong></h2>
<p><span style="color:#3366ff;">type </span>&#60;Nome_do_registro&#62; <span style="color:#3366ff;">is record</span></p>
<p>&#60;Nome_do_elemento1&#62;: &#60;tipo&#62; range &#60;limite_inferior&#62; &#60;limite_superior&#62;;</p>
<p>&#60;Nome_do_elemento2&#62;: &#60;tipo&#62; range &#60;limite_inferior&#62; &#60;limite_superior&#62;;</p>
<p>&#60;Nome_do_elementon&#62;: &#60;tipo&#62; range &#60;limite_inferior&#62; &#60;limite_superior&#62;;</p>
<p><span style="color:#3366ff;">end record</span> &#60;Nome_do_registro&#62;;</p>
<p><span style="color:#3366ff;">variable </span>&#60;Nome_da_variável&#62;: &#60;Nome_do_registro&#62;</p>
<p>Acesso a elementos do registro:</p>
<p>&#60;Nome_do_registro&#62;.&#60;Nome_do_elemento1&#62;</p>
<h3><strong>Casting</strong></h3>
<p>to_string (&#60;valor&#62;)</p>
<p>to_ostring</p>
<p>to_hstring</p>
<p>integer_vector</p>
<p>bit_vector</p>
<h2><strong>Funções internas<br />
</strong></h2>
<p>retorna o máximo valor de um vetor, string, lista</p>
<p><strong>Máximo</strong></p>
<p><span style="color:#0000ff;">maximum</span>(&#60;value1&#62;,&#60;value2&#62;,&#8230;,&#60;valuen&#62;)</p>
<p>retorna o máximo valor de um vetor, string, lista</p>
<p><strong>Mínimo</strong></p>
<p><span style="color:#0000ff;">minimum</span>(&#60;value1&#62;,&#60;value2&#62;,&#8230;,&#60;valuen&#62;)</p>
<p>retorna o mínimo valor de um vetor, string, lista</p>
<p><strong>After</strong></p>
<p>A transferência do valor de sinal para o sinal de saída ocorre somente após &#60;tempo&#62; unidade de tempo.<strong><br />
</strong></p>
<p>&#60;Nome_do_Sinal&#62; = &#60;valor&#62; <span style="color:#0000ff;">after </span>&#60;tempo&#62;;</p>
<p><strong>When</strong></p>
<p>A transferência do valor de sinal para o sinal de saída ocorre de acordo com as cláusulas especificadas.</p>
<p>&#60;Nome_do_Sinal&#62; = &#60;valor1&#62; <span style="color:#0000ff;">when </span>&#60;cláusula,variável&#62; else &#60;valor2&#62;;</p>
<p><strong>Wait</strong></p>
<p>A expressão wait congela o processo até que haja alteração no sinal<strong> </strong>&#60;Nome_do_Sinal&#62; até determinada condição ocorrer (<span style="color:#0000ff;">until</span>) ou ainda por um determinado período de tempo &#60;tempo&#62; unidades de tempo.</p>
<p><span style="color:#0000ff;">Wait on</span> &#60;Nome_do_Sinal&#62; &#124; <span style="color:#0000ff;">until </span>&#60;condition&#62; &#124; <span style="color:#0000ff;">for </span>&#60;tempo&#62;</p>
<p>Delta delay &#8211; wait until</p>
<p><span style="text-decoration:underline;"><strong>Modelos de atraso</strong></span></p>
<p><strong>Transport</strong></p>
<p>Este mecanismo de atraso modela uma atraso em que não importa a largura do pulso, a saída representará um pulso idêntico atrasado.</p>
<p>&#60;Nome_do_Sinal&#62; <span style="color:#0000ff;">transport </span>&#60;valor, expressão&#62; <span style="color:#0000ff;">after </span>&#60;tempo&#62;</p>
<p><strong>Inertial</strong></p>
<p>Circuitos eletrônicos reais não possuem resposta em freqüência infinita, além disso possuem alguma inércia, ou seja, eles tendem a se manter no mesmo estado a menos que alguma estado aplicado nas suas entradas permaneça por um determinado período.</p>
<p>O ofeito deste mecanismo de atraso é o seguinte: caso o sinal de entrada não permaneça no mesmo estado por pelo menos &#60;tempo&#62; unidades de tempo, a saída não se altera.</p>
<p>&#60;Nome_do_Sinal&#62; <span style="color:#0000ff;">inertial </span>&#60;valor, expressão&#62; <span style="color:#0000ff;">after </span>&#60;tempo&#62;</p>
<p>Uma atribuição de sinal em que haja omissão do mecanismo de atraso possui atraso inercial.</p>
<p><img class="alignnone size-full wp-image-77" title="inertial_transport_delay" src="http://rosseto.wordpress.com/files/2009/11/inertial_transport_delay.png" alt="inertial_transport_delay" width="416" height="104" /></p>
<p>Exemplo de saídas para atraso inertial e transport, neste caso a largura do primeiro pulso não supera o atraso para o caso de atraso inercial, logo o sinal não é transferido para a saída.</p>
<p><strong>Reject</strong></p>
<p>Este mecanismo &#8216;rejeita&#8217; a atribuição caso o sinal não permaneça no mesmo estado por &#60;tempo&#62; unidades de tempo.</p>
<p>&#60;Nome_do_Sinal&#62; <span style="color:#0000ff;">reject </span>&#60;tempo&#62; &#60;valor, expressão&#62;</p>
<h2><strong>Laços</strong></h2>
<p><em>Laço loop</em></p>
<p>Representa a priori  um laço infinito.</p>
<p>Declaração:</p>
<p><span style="color:#0000ff;">loop;</span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">&#60;expressões&#62;</span></span></p>
<p><span style="color:#0000ff;">end loop;</span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;"><br />
</span></span></p>
<p><em>Função next</em></p>
<p>Declaração:</p>
<p>Esta expressão interrompe e reinicia a  execução do laço.</p>
<p><span style="color:#0000ff;">next;</span></p>
<p><span style="color:#0000ff;"><br />
</span></p>
<p><em>Função exit</em></p>
<p>Esta expressão interrompe o laço definitivamente.</p>
<p>Declaração:</p>
<p><span style="color:#0000ff;">exit;</span></p>
<p><span style="color:#0000ff;"><br />
</span></p>
<p>Laço Case</p>
<p>Permite a execução de determinados procedimentos de acordo com o valor do sinal &#60;nome_do_sinal&#62;.</p>
<p>Em alguns softwares que transcrevem o código para rtl, devido a possíveis limitações de dispositivos cpld/fpgas, exige-se que todas as possibilidades sejam tratadas através da condição <span style="text-decoration:underline;">when others</span>.</p>
<p>Declaração do &#8216;laço&#8217; case</p>
<p><span style="color:#0000ff;">case </span>&#60;nome_do_sinal&#62;</p>
<p><span style="color:#0000ff;">when </span>&#60;value_1&#62; =&#62;</p>
<p>&#60;expressões&#62;</p>
<p><span style="color:#0000ff;">when </span>&#60;value_2&#62; =&#62;</p>
<p>&#60;expressões&#62;</p>
<p><span style="color:#0000ff;">when others =&#62; <span style="color:#000000;">&#8211; condição opcional</span><br />
</span></p>
<p>&#60;expressões&#62;</p>
<p><span style="color:#0000ff;">end case;</span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">Outra forma de declarar um &#8216;laço&#8217; condicional case é utilizar o &#8216;laço&#8217; with.</span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">Declaração do &#8216;laço&#8217; with<br />
</span></span></p>
<p><span style="color:#0000ff;">with<span style="color:#000000;"> &#60;nome_do_sinal&#62;</span></span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">&#60;variável&#62; := &#60;valor1&#62;</span> when <span style="color:#000000;">&#60;valor01&#62;,</span><br />
</span></p>
<p>&#60;valor2&#62; <span style="color:#0000ff;">when </span>&#60;valor02&#62;,</p>
<p>&#60;valorn&#62; <span style="color:#0000ff;">when </span>&#60;valor0n&#62;;</p>
<p>Se nenhum procedimento é necessário, e, no entanto, todos os casos precisem de algum tipo de tratamento, recomenda-se a utilização da expressão</p>
<p><span style="color:#0000ff;">Null;</span></p>
<p><span style="color:#0000ff;"><br />
</span></p>
<p><span style="color:#0000ff;"><em><span style="color:#000000;">Laço if</span></em><br />
</span></p>
<p><span style="color:#0000ff;">if </span>&#60;condição&#62; <span style="color:#0000ff;">then</span></p>
<p>&#60;expressões&#62;</p>
<p><span style="color:#0000ff;">elsif </span>&#60;condição&#62; <span style="color:#0000ff;">then</span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">&#60;expressões&#62;</span><br />
</span></p>
<p><span style="color:#0000ff;">else</span></p>
<p><span style="color:#0000ff;"><span style="color:#000000;">&#60;expressões&#62;</span><br />
</span></p>
<p><span style="color:#0000ff;">end if;</span></p>
<p><span style="color:#0000ff;"><br />
</span></p>
<p><span style="color:#0000ff;"><em><span style="color:#000000;">Laço While</span></em><br />
</span></p>
<p><span style="color:#0000ff;">while </span>&#60;condição&#62; <span style="color:#0000ff;">loop</span></p>
<p><span style="color:#0000ff;">end loop;</span></p>
<p><span style="color:#0000ff;"><br />
</span></p>
<p><span style="color:#0000ff;">for </span>&#60;variável&#62; in  &#60;lim_1&#62; <span style="color:#0000ff;">to</span>/<span style="color:#0000ff;">downto </span>&#60;lim_2&#62; <span style="color:#0000ff;">loop</span></p>
<p><span style="color:#0000ff;">end loop;</span></p>
<p><strong><br />
</strong></p>
<h2><strong>Componentes</strong></h2>
<p>Entidade principal:</p>
<p>Junto com os sinais declare o componente</p>
<p><span style="color:#0000ff;">component </span>&#60;Nome_do_componente&#62; <span style="color:#0000ff;">is</span></p>
<p><span style="color:#0000ff;">port </span>(</p>
<p><span style="color:#0000ff;">signal </span>&#60;nome_do_sinal_i&#62;: &#60;sentido_do_sinal&#62; &#60;tipo_do_sinal&#62; := &#60;valor_inicial&#62;</p>
<p>)</p>
<p><span style="color:#0000ff;">end component;</span></p>
<p>No architecture instancie e conecte os sinais as portas do componente</p>
<p>&#60;nome_da_instancia&#62;:  component &#60;nome_da_entidade_componente&#62;</p>
<p>port map ( &#60;sinal1&#62;, &#60;sinal2&#62; );</p>
<h2><strong>Funções</strong></h2>
<p><span style="color:#0000ff;">function</span>&#60;Nome_da_função&#62; (&#60;parameter1&#62;,&#60;paremeter2&#62;) <span style="color:#0000ff;">return </span>&#60;tipo_parametro_retorno&#62; <span style="color:#0000ff;">is</span></p>
<p><span style="color:#0000ff;">variable </span>&#60;Nome_variavel_retorno&#62;:  &#60;tipo_variavel_retorno&#62;;</p>
<p><span style="color:#0000ff;">begin</span></p>
<p>&#60;declarações&#62;</p>
<p><span style="color:#0000ff;">return </span>&#60;Nome_variavel_retorno&#62;;</p>
<p><span style="color:#0000ff;">end function</span> &#60;Nome_da_função&#62;;</p>
<h2><strong>Procedimentos</strong></h2>
<p><span style="color:#0000ff;">procedure </span>&#60;Nome_do_procedimento&#62; (&#60;parameter1&#62;,&#60;paremeter2&#62;) <span style="color:#0000ff;"> is<br />
</span></p>
<p><span style="color:#0000ff;">begin</span></p>
<p>&#60;declarações&#62;</p>
<p><span style="color:#0000ff;">end procedure </span>&#60;Nome_do_procedimento&#62;;</p>
<h2><strong>Pacotes</strong></h2>
<p>Declaração de pacote:</p>
<p><span style="color:#0000ff;">package </span>&#60;Nome_do_pacote&#62; <span style="color:#0000ff;">is</span></p>
<p>&#60;declarações do pacote&#62;</p>
<p><span style="color:#0000ff;">end package </span>&#60;Nome_do_pacote&#62;;</p>
<p>Standard Packages</p>
<ul>
<li>standard</li>
<li>env</li>
<li>textio</li>
<li>math_real</li>
<li>math_complex</li>
<li>std_logic_1164</li>
<li>numeric_bit</li>
<li>numeric_std</li>
<li>numeric_bit_unsigned</li>
<li>numeric_std_unsigned</li>
<li>fixed_float_types</li>
<li>fixed_generic_pkg</li>
<li>fixed_pkg</li>
<li>float_generic_pkg</li>
<li>float_pkg</li>
</ul>
<p><strong><br />
</strong></p>
<p><strong><br />
</strong></p>
<p><strong>Referências</strong></p>
<p>http://en.wikipedia.org/wiki/Vhdl</p>
<p><strong><br />
</strong></p>
<p>Softwares</p>
<ul>
<li>Atera Quartus II</li>
<li>Xilinx &#8211; ISE</li>
<li>ModelSim</li>
</ul>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Máquinas de estados em VHDL]]></title>
<link>http://ivnaan.wordpress.com/2009/11/07/maquinas-de-estados-em-vhdl/</link>
<pubDate>Sat, 07 Nov 2009 20:54:11 +0000</pubDate>
<dc:creator>Vianna</dc:creator>
<guid>http://ivnaan.wordpress.com/2009/11/07/maquinas-de-estados-em-vhdl/</guid>
<description><![CDATA[Não tenho tanta experiência e conhecimento em VHDL quanto o Marcelo Barros ou o Francisco de Souza, ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Não tenho tanta experiência e conhecimento em VHDL quanto o <a href="http://jedizone.wordpress.com/">Marcelo Barros</a> ou o <a href="http://chico.net.br/">Francisco de Souza</a>, leitor do Blog. No entanto, eu já estava preparando esse texto há um tempinho e complementei com algumas idéias desse <a href="http://jedizone.wordpress.com/2008/06/20/maquinas-de-estados-e-sintese-de-circuitos-com-vhdl/">outro texto</a> do supracitado Marcelo.</p>
<p>Inclusive, a leitura desse outro texto é <span style="text-decoration:underline;">altamente recomendada</span>!</p>
<p>Vamos ao meu humilde post:</p>
<p>Meu primeiro contato com VHDL foi há mais de um ano, mas só comecei a fazer projetos com ele há 3 meses, o que não é quase nada. Se alguém leu um dos primeiros posts desse blog, vai perceber que eu dizia que não é possível atribuir valor a um signal em mais de um local do código e isso é algo facilmente resolvido com as máquinas de estado.</p>
<p>Você pode tranquilamente fazer alguns circuitos em VHDL só usando IF e ELSE, mas, com o tempo, isso acaba atrapalhando quando você precisa configurar um sinal, fazer uma ou várias ações e, por fim, configurá-lo novamente.</p>
<p>Com o CASE, é possível criar estados e esses estados podem, cada um na sua vez, configurar o valor de um mesmo sinal.</p>
<p>Veja o exemplo abaixo:<br />
<img class="aligncenter size-full wp-image-153" title="estados2" src="http://ivnaan.wordpress.com/files/2009/11/estados2.png" alt="estados2" width="600" height="422" /></p>
<p>Esse seria o modelo de um programa fictício que começa no estado A e fica nele até um sinal X receber o valor 1 (como se alguém clicasse num botão para disparar o mecanismo) depois ele passaria pelos estados B, C, E, F, retornando ao B e seguindo o loop até que um certo sinal Y receba o valor 1, então o sistema entra no estado D e por fim volta ao estado A para aguardar novamente o sinal X.</p>
<p>Para implementar essa máquina de estados, pode-se usar <a href="http://pt.wikipedia.org/wiki/Flip-flop" target="_blank">flip-flops</a> do tipo D ( D é a entrada e Q é a saída), um para cada estado. A saída Q de cada Flip-flop é o controle para um certo circuito que atua quando o estado está ativo.</p>
<p><img class="aligncenter size-full wp-image-176" title="flipflops_3" src="http://ivnaan.wordpress.com/files/2009/11/flipflops_3.png" alt="flipflops_3" width="600" height="439" /></p>
<p>Traduzir isso para código VHDL é simplesmente seguir as setas e colocar o que acontece em cada estado.</p>
<p><img class="aligncenter size-full wp-image-157" title="codigo" src="http://ivnaan.wordpress.com/files/2009/11/codigo.png" alt="codigo" width="402" height="552" /><br />
O sinal &#8220;estado&#8221; pode ser definido como:</p>
<blockquote><p><code>signal estado: natural range 0 to 5:= 0;</code></p></blockquote>
<p>Além disso, o &#8220;when others&#8221; serve para prevenir possíveis erros no valor do <strong>estado</strong>. Nesse caso não vai ter problema, mas é uma boa prática de programação usá-lo.</p>
<p>Com esse exemplo, dá pra ver que em qualquer um dos estados B, C, E ou F o valor do sinal Y poderia ser modificado sem problemas. Além disso, fica mais fácil de entender para que o código serve se uma outra pessoa quiser ler.</p>
<p>No texto do Marcelo Barros, vocês vão notar que ele usa os estados com nomes. Isso também é uma boa prática de programação, mas como estou só mostrando o conceito, acho que fica mais simples de entender. Isso não é complicado de fazer:</p>
<p>Usando o &#8220;type&#8221;, você configura os possíveis nomes dos estados, como abaixo. Use sempre nomes que descrevam bem o que irá ser feito no estado.</p>
<blockquote><p><code>type <strong>estados</strong> is (aguardando, setup, modulo, soma, iteracao, multiplicacao);</code></p></blockquote>
<p>Para acabar, a parte do conteúdo do estado, que mostra o que ele realmente faz pode ser escrita num novo CASE dentro de um &#8220;process (estado)&#8221;. Serve para deixar o código mais limpo.</p>
<p>Bem, por hoje é só. Se estiver algo errado no código ou no desenho, avisem.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Básico das FPGAs]]></title>
<link>http://ivnaan.wordpress.com/2009/11/06/basico-das-fpgas/</link>
<pubDate>Fri, 06 Nov 2009 02:13:07 +0000</pubDate>
<dc:creator>Vianna</dc:creator>
<guid>http://ivnaan.wordpress.com/2009/11/06/basico-das-fpgas/</guid>
<description><![CDATA[Se você quer entrar no mundo das FPGAs e aprender descrever Hardware em VHDL, eu aconselho a leitura]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Se você quer entrar no mundo das FPGAs e aprender descrever Hardware em VHDL, eu aconselho a leitura de um texto curto e bem explicado sobre esse assunto no blog do Ricardo Bittencourt (Brain Dump): <a href="http://www.ricbit.com/2009/11/ataque-cilonio.html">http://www.ricbit.com/2009/11/ataque-cilonio.html</a></p>
<p>Somente um pouco mais avançado que um Hello World da programação de Hardware, ele ensina a fazer leds acenderem em sequência. Tudo numa linguagem simples e com muitas imagens. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Test CPU 1 - FPGA Implementation]]></title>
<link>http://benoztalay.wordpress.com/2009/10/28/test-cpu-1-fpga-implementation/</link>
<pubDate>Thu, 29 Oct 2009 03:05:25 +0000</pubDate>
<dc:creator>lilozzy</dc:creator>
<guid>http://benoztalay.wordpress.com/2009/10/28/test-cpu-1-fpga-implementation/</guid>
<description><![CDATA[As I mentioned in my previous post, the next step that I wanted to take after designing the OZ-3 in ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>As I mentioned in my previous post, the next step that I wanted to take after designing the OZ-3 in simulation was to design and implement a simple CPU in an FPGA, just to get used to complex systems. Ironically, a couple days before I made that post, I had finished that CPU. It&#8217;s called Test CPU 1.</p>
<p>I said &#8220;simple CPU,&#8221; and by that, I mean a single-cycle, 16-bit RISC. The instruction set is ten instructions total; only the essentials. It doesn&#8217;t have any input capabilities, and all output capabilities are in 32 individual output pins, so data transfers would be rather difficult. Also, there are eight 16-bit registers. It can address 256 bytes of dRAM, and programs are limited to 4 MB, organized as 2Mbits x 16bits. The ALU is capable of addition and subtraction only, and it can only branch on zero. Here&#8217;s the full instruction set:<!--more--></p>
<ol>
<li>add</li>
<li>subtract</li>
<li>add immediate</li>
<li>subtract immediate</li>
<li>compare</li>
<li>branch on zero</li>
<li>jump</li>
<li>set/reset output pin</li>
<li>store</li>
<li> load</li>
</ol>
<p>All of the immediates specified in add/subtract immediate are limited to five bits, so that makes loading 16-bit registers with values rather painstaking. Compare is simply subtraction without the register file being told to load the value on the ALU result bus.</p>
<p>I won&#8217;t really go into the microarchitecture, but one of the bigger problems I ran into while coding this processor involved synchronizing units with the clock and making sure nothing ended up being a two-stage process when everything was supposed to be single-cycle. I originally placed the program counter outside of the control unit/instruction decoder. This was a mistake, because I was clocking the control unit, as it was handling the Z-flag, which required a register to hold the value for use in the next instruction. I tried solving this by separating the Z-flag control area and the regular control area. This way, the Z-flag logic was the only part of the control unit that was clocked. I ended up running into undetermined problems with this, though.</p>
<p>To solve these problems, I put the program counter in the control unit and made sure that the control unit, register file, and dRAM were the only clocked pieces of the processor. By the way, during the first half of a cycle, all of the data is being interpreted/processed, and during the second half, the data is written. At last, after long hours of simulation, I was able to get it to work!</p>
<p>In actual synthesis, I ended up just getting rid of the data RAM all together. I wasn&#8217;t able to use the RAM resources on my FPGA development board because learning the interface wasn&#8217;t really worth it for this project. None of the programs I wanted to test used it, either. Eight registers were enough for my purposes. This drastically reduced the time it took to synthesize, map, translate, and place and route. From there, generating the programming file doesn&#8217;t take too long. It also cut down the amount of warnings given by ISE 11 by about 3,000.</p>
<p>I ran the CPU at 1 MHz, dividing down from the 50 MHz clock supplied on the board. The first program I got to work was one that counted to 0xFFFF, then lit an LED and waited indefinitely. The second program, my personal favorite, was one that controlled a 2&#215;16 LCD display on a peripheral module, displaying the message &#8220;It works! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> &#8221; Working out the timing for this program was especially difficult. I had to switch jump and branch address so many times that I ended up mixing them up and causing errors in the program that way. Despite this, it was quite rewarding when I clicked &#8220;Program Chain&#8221; then waited a couple seconds and saw &#8220;It works! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> &#8221; on the screen, instead of a blank screen or flashing cursor. It&#8217;s still a  bit touchy; I have yet to find out why. But, this is where this project ends. I&#8217;ve begun coding components of the OZ-3, and hope to have a functional FPGA implementation by the end of November, or this year at the latest.</p>
<p>Ben Oztalay</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Simulação VHDL usando ModelSim]]></title>
<link>http://rosseto.wordpress.com/2009/10/25/simulacao-vhdl-usando-modelsim/</link>
<pubDate>Sun, 25 Oct 2009 12:51:50 +0000</pubDate>
<dc:creator>Fábio Rosseto</dc:creator>
<guid>http://rosseto.wordpress.com/2009/10/25/simulacao-vhdl-usando-modelsim/</guid>
<description><![CDATA[Introdução O ModelSim é  um popular aplicativo da Mentor Graphics voltado para a simulação e debug d]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h1><strong>Introdução</strong></h1>
<p>O <a href="http://www.model.com/">ModelSim</a> é  um popular aplicativo da <a href="http://www.mentor.com/">Mentor Graphics</a><strong> </strong>voltado para a simulação e debug de hardware, em especial de dispositivos FPGA e ASIC. Este software trabalha com as linguagens de descrição de hardware Verilog, SystemC e VHDL.</p>
<p>O objetivo deste texto é listar os procedimentos básicos necessários para simulação de um projeto VHDL usando o ModelSim.</p>
<h1><strong>Tutorial </strong></h1>
<p><strong><br />
</strong></p>
<p><strong><em>Criação de projeto ModelSim</em></strong></p>
<p style="text-align:left;">Crie um projeto no ModelSim através da opção File &#62; New &#62; Project. Na janela que irá se abrir insira o nome do projeto (Project Name) e o caminho onde os arquivos do projeto deverão ser salvos (Project Location). Recomenda-se ainda renomear a biblioteca (Default Library Name) a ser utilizada na simulação.</p>
<p style="text-align:center;">
<p style="text-align:center;"><img class="size-full wp-image-7   aligncenter" title="MS_NewProject" src="http://rosseto.wordpress.com/files/2009/10/ms_newproject.jpg" alt="MS_NewProject" width="331" height="279" /></p>
<p>Caso o projeto já esteja codificado insira os arquivos contendo todas as entidades utilizadas através da opção &#8211; Add Existing File &#8211; (utilize a tecla CTRL caso precise selecionar mais de um arquivo).</p>
<p style="text-align:center;"><img class="size-full wp-image-10 aligncenter" title="Add_itens_to_project" src="http://rosseto.wordpress.com/files/2009/10/add_itens_to_project.jpg" alt="Add_itens_to_project" width="270" height="237" /></p>
<p>Após fechar esta janela, caso precise criar, adicionar ou remover algum arquivo referente ao projeto, isto poderá ser feito através da janela Workplace, utilizando a guia project, a partir do menu exibido ao clicar com o botão direito dentro desta janela. Caso a janela Workplace não esteja sendo exibida, no menu principal, selecione View &#62; Workplace.</p>
<p style="text-align:center;"><img class="size-full wp-image-9 aligncenter" title="Modelsim_Prj_management" src="http://rosseto.wordpress.com/files/2009/10/modelsim_prj_management1.jpg" alt="Modelsim_Prj_management" width="500" height="374" /></p>
<p>Após a inserção / edição dos entidades é necessário &#8216;compilar&#8217; os arquivos  para preparar o projeto para a simulação. Isso pode ser feito diretamente da janela Workplace, na guia Project &#8211; clique com o botão direito no arquivo com a entidade a ser simulada e selecione a opção compile.</p>
<p>Esta função pode ainda ser feita através do menu principal Compile. A opção Compile all prepara/verifica todos os arquivos do projeto.</p>
<p><strong><em>Simulação</em></strong></p>
<p>Na janela Workplace, selecione a guia Library. Procure pela biblioteca criada para o projeto, e clique em (+) para exibir todas as entidades. Dê um duplo clique na entidade a ser simulada.</p>
<p>A janela Objects, contendo todos os sinais utilizados pela entidade e a janela Wave, onde as formas de onda destes sinais serão exibidas devem ser abertas.</p>
<p>Caso elas não sejam exibidas habilite-as através do menu principal View &#62; Objects e View &#62; Wave.</p>
<p>Arraste (da janela Object para a janela Wave) os sinais que precisem ser visualizados durante a simulação.</p>
<p>Caso queira &#8216;forçar&#8217; um valor/sinal de relógio os sinais, clique com o botão direito no sinal (Em quaisquer das janelas abertas) e selecione a opção desejada: a opção &#8216;force&#8217; pode ser utilizada para configurar um sinal contínuo e &#8216;clock&#8217; para configurar as características de um sinal  de relógio.</p>
<p>Para rodar a simulação recomenda-se utilizar o terminal Transcript. Se o terminal não estiver sendo exibido habilite-o utilizando o menu View.</p>
<p>Para rodar o projeto utilize o comando run &#60;intervalo de tempo&#62;  &#60;ENTER&#62;, ou ainda para uma simulação contínua, run -all.</p>
<p><img class="alignnone size-full wp-image-12" title="simulacao_wave" src="http://rosseto.wordpress.com/files/2009/10/simulacao_wave.jpg" alt="simulacao_wave" width="500" height="374" /></p>
<p>Você pode também verificar a simulação passo a passo através do comando step. Nesse caso o código fonte será varrido linha a linha após cada comando step. Para parar o projeto utilize o comando break; ou stop;</p>
<p>Todas estas opções estão também disponíveis através do menu principal simulate, a opção break pode  ainda ser acessada através do menu de atalhos <img class="alignnone size-full wp-image-11" title="simulacao_botoes" src="http://rosseto.wordpress.com/files/2009/10/simulacao_botoes.jpg" alt="simulacao_botoes" width="104" height="34" /> (O último ícone representa esta opção).</p>
<p><em>Versão do software utilizada na elaboração do texto: ModelSim SE PLUS 6.3f</em></p>
<p><em>Notas:</em></p>
<p>Utilizando a linguagem <a href="http://en.wikipedia.org/wiki/Tcl">tcl</a> é possível elaborar novos comando para o modelsim.</p>
<p>Para gerar os sinais de entrada para o teste do projeto recomenda-se a criação de entidades com este propósito (test bench).  Neste caso, o projeto principal é conectado como um componente dentro da entidade de testes.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Verilog and VHDL on Linux (Ubuntu)]]></title>
<link>http://pgraycode.wordpress.com/2009/10/18/verilog-and-vhdl-on-linux-ubuntu/</link>
<pubDate>Sun, 18 Oct 2009 17:02:17 +0000</pubDate>
<dc:creator>Mithrandir</dc:creator>
<guid>http://pgraycode.wordpress.com/2009/10/18/verilog-and-vhdl-on-linux-ubuntu/</guid>
<description><![CDATA[For those interested in programming electronic components there is always the possibility to use Xil]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:justify;">For those interested in programming electronic components there is always the possibility to use <a href="http://www.xilinx.com/">Xilinx</a> if you are on Windows. Of course, there is a Xilinx port for Linux but it is buggy application and a very large download. This article aims to give an alternative to this application. One that will need only a few KB of download from an apt-get source.</p>
<p><!--more--></p>
<p style="text-align:justify;">Of course, we are speaking about <a href="http://www.icarus.com/eda/verilog/">Icarus Verilog (iverilog)</a>, <a href="http://ghdl.free.fr/">GHDL</a> and <a href="http://gtkwave.sourceforge.net/">GtkWave</a>.</p>
<p style="text-align:justify;">After installing each of them (command line, download, whatever), you can start desgning. Suppose we have the following source:</p>
<p><code>module bser(en, clk, in, out, done);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;input en, clk;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;input [7:0]in;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;output out, done;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;reg [2:0]cst;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;reg out, done;<br />
&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;initial<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;begin<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;done = 0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;cst = 3'b0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;out = 0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br />
&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;always @(posedge en)<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;begin<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;done = 0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;cst = 3'b0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;out = 0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br />
&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;always @(posedge clk)<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (en)<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;begin<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;out = in[cst];<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;cst = cst + 1;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (cst == <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> <br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;begin<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;done = 1;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;cst = 0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br />
endmodule<br />
</code></p>
<p style="text-align:justify;">We need to test our source manually, so we will write a benchmark file (consult the documentation for the syntax) in which we will introduce two lines for dumping information about variables:</p>
<p><code>module bser_tb;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;reg en, clk;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;reg [7:0]in;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;bser g(en, clk, in, out, done);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;initial<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;begin<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;en = 0; in=8'b00010111; clk=0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<font color="#ff40ff">$dumpfile(&#34;bser_tb&#34;);<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;$dumpvars;</font><br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;#10000 $finish;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br />
&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;always<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;begin<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;#1 clk = ~clk;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br />
&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;initial<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;begin<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;#2 en=1;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;end<br />
endmodule<br /></code></p>
<p style="text-align:justify;">Now, we will compile the source, run it and then use gtkwave to see the results. All of this is very repetitive, so a Makefile was needed:</p>
<p><code><br />
test_bser:<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;iverilog bser.v bser_tb.v<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;./a.out<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;gtkwave bser_tb<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;rm -f a.out bser_tb<br />
</code></p>
<p style="text-align:justify;">This is what we will obtain after a few milliseconds:</p>
<p style="text-align:center;"><a href="http://photos.piry.net/view/49846Screenshot.png"><img src="http://photos.piry.net/view/49846Screenshot.png" alt="GtkWave result" /></img></a></p>
<p style="text-align:justify;">That&#8217;s all.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Cronômetro em VHDL]]></title>
<link>http://ivnaan.wordpress.com/2009/10/15/cronometro-em-vhdl/</link>
<pubDate>Fri, 16 Oct 2009 00:09:10 +0000</pubDate>
<dc:creator>Vianna</dc:creator>
<guid>http://ivnaan.wordpress.com/2009/10/15/cronometro-em-vhdl/</guid>
<description><![CDATA[Meu último projeto em VHDL foi um simples cronômetro com precisão de centésimos de segundo que, com ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Meu último projeto em VHDL foi um simples cronômetro com precisão de centésimos de segundo que, com dois displays de sete segmentos, apresenta o tempo.</p>
<p><a href="http://ltodi.est.ips.pt/lab-dee-et/datasheets/optoelectronica/L195114-02.gif"><img class="aligncenter size-full wp-image-118" title="disp7-seg" src="http://ivnaan.wordpress.com/files/2009/10/disp7-seg.gif" alt="disp7-seg" width="300" height="268" /></a></p>
<p>Como só é possível apresentar dois dígitos de cada vez, foi adicionado suporte a um botão que, quando pressionado, muda o que o display exibe: Ele começa exibindo décimos e centésimos de segundo. Com um clique, passa a exibir os segundos. No clique seguinte, os minutos e depois, com mais um clique, as horas.</p>
<p>Para parar e continuar o cronômetro, foi usado mais um botão, ficando um sistema bem simples e funcional.</p>
<div id="attachment_115" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-115" title="Cronometro funcionando" src="http://ivnaan.wordpress.com/files/2009/10/imag081.jpg?w=300" alt="Cronometro funcionando" width="300" height="225" /><p class="wp-caption-text">Cronômetro rodando numa MAX 7k da Altera</p></div>
<p style="text-align:left;">A imagem está em baixa resolução, mas mostra o cronômetro gravado numa CPLD MAX7128S da Altera, que deve ter uns 15 anos. Ela tem um clock de 25,175MHz, que permite um cronômetro com precisão de cerca de 40 nanosegundos (3,97 x 10⁻⁸ s), mas isso seria impossível de ver no display (centésimos de segundos já aparecem borrados). Então, no código, tem um divisor de frequência onde é usado um clock de 100Hz para a contagem de tempo.</p>
<p>O WordPress não permite anexar arquivos de texto, então coloquei no pastebin: <a href="http://pastebin.com/f459d41">http://pastebin.com/f459d41</a>. Pena que eles não têm syntax highlight para VHDL. Para ver melhor, use o Notepad++ ou o Kate.</p>
<p>Para poder reutilizar esse código, será preciso trocar o valor do clock da sua CPLD ou FPGA para que o cronômetro marque o tempo certo. Nesse caso, o divisor de frequência usa o valor 125875 ou 11110101110110011, criando 200 descidas e subidas por segundo, que equivale a um clock de 100Hz.</p>
<p>Meu próximo projeto em VHDL será um controlador de interface serial RS232, aquela que provavelmente não existe mais no seu computador. Mesmo assim, é possível utilizar um conversor USB &#8211; RS232, como o que eu comprei por US$3,00 no <a title="Conversor USB para RS232" href="http://www.dealextreme.com/details.dx/sku.24512">DealExtreme</a>.</p>
<p>Por hoje é só, pessoal.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Notepad++ 5.5.1]]></title>
<link>http://netvietnam.org/2009/10/09/notepad-5-5-1/</link>
<pubDate>Fri, 09 Oct 2009 12:15:09 +0000</pubDate>
<dc:creator>Nhân Mã</dc:creator>
<guid>http://netvietnam.org/2009/10/09/notepad-5-5-1/</guid>
<description><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></description>
<content:encoded><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></content:encoded>
</item>
<item>
<title><![CDATA[Notepad++ 5.5.0]]></title>
<link>http://netvietnam.org/2009/09/21/notepad-5-5-0/</link>
<pubDate>Mon, 21 Sep 2009 13:14:16 +0000</pubDate>
<dc:creator>Nhân Mã</dc:creator>
<guid>http://netvietnam.org/2009/09/21/notepad-5-5-0/</guid>
<description><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></description>
<content:encoded><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></content:encoded>
</item>
<item>
<title><![CDATA[VHDL]]></title>
<link>http://ivnaan.wordpress.com/2009/09/11/vhdl/</link>
<pubDate>Fri, 11 Sep 2009 07:34:11 +0000</pubDate>
<dc:creator>Vianna</dc:creator>
<guid>http://ivnaan.wordpress.com/2009/09/11/vhdl/</guid>
<description><![CDATA[Very complicated Hardware Description Language. Pessoa sobre VHDL Claro que não significa isso, mas ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><blockquote><p>Very complicated Hardware Description Language.</p></blockquote>
<p style="padding-left:30px;">Pessoa sobre VHDL</p>
<p>Claro que não significa isso, mas bem que poderia.</p>
<p>Aprendendo VHDL para programar uma CPLD a fazer um simples circuito para criar um pulso ao clique de um botão me custou 3 dias.</p>
<p>E o projeto era simples: Criar um divisor de frequência para o conseguir 100Hz ao invés de 250MHz, esperar 3 ciclos do novo clock após o botão ser pressionado (evita ruído) e depois gerar um pulso para a saída.</p>
<div id="attachment_22" class="wp-caption aligncenter" style="width: 574px"><img class="size-full wp-image-22" title="altera" src="http://ivnaan.wordpress.com/files/2009/09/altera2.jpg" alt="Placa UP1 da Altera" width="564" height="304" /><p class="wp-caption-text">Placa UP1 da Altera</p></div>
<p>Coisas que podem ser feitas em outras linguagens de programação dão problemas em VHDL, como mudar o valor de uma das variáveis duas vezes no processo.</p>
<p>Acho melhor começar a ler mais sobre VHDL.</p>
<p>Fui.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Over 60 New Items Added to Library]]></title>
<link>http://safaribooksonline.wordpress.com/2009/08/13/over-60-new-items-added-to-library/</link>
<pubDate>Thu, 13 Aug 2009 22:47:31 +0000</pubDate>
<dc:creator>Safari Books Online</dc:creator>
<guid>http://safaribooksonline.wordpress.com/2009/08/13/over-60-new-items-added-to-library/</guid>
<description><![CDATA[62 new items added to the Library from leading publishers like Addison-Wesley Professional, FT Press]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p></br><br />
62 new items added to the Library from leading publishers like Addison-Wesley Professional, FT Press, IBM Press, IBM Redbooks, IconLogic, Inc., Manning Publications, McGraw-Hill, Morgan Kaufmann, O’Reilly Media, Inc., Packt Publishing, Peachpit Press, Pearson Certification, Prentice Hall, Sams, Total Training, Inc., and Wharton School Publishing.</br></p>
<table border="0">
<tbody>
<tr>
<td>  </td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321637208/?cid=blog-200908-Rough Cuts-Addison-Wesley Professional-9780321637208"><img class="alignnone" title=" LINQ to Objects Using C# 4.0: Using and Extending LINQ to Objects and Parallel LINQ (PLINQ)" src="http://my.safaribooksonline.com/images/9780321637208/9780321637208_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321637208/?cid=blog-200908-Rough Cuts-Addison-Wesley Professional-9780321637208" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321637208/?cid=blog-200908-Rough Cuts-Addison-Wesley Professional-9780321637208" target="_blank">LINQ to Objects Using C# 4.0: Using and Extending LINQ to Objects and Parallel LINQ (PLINQ)</a></strong><br />
By:  Troy Magennis.<br />
Publisher:  Addison-Wesley Professional</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321647672/?cid=blog-200908-Rough Cuts-Addison-Wesley Professional-9780321647672"><img class="alignnone" title=" Network Maintenance and Troubleshooting Guide: Field Tested Solutions for Everyday Problems, Second Edition" src="http://my.safaribooksonline.com/images/9780321647672/9780321647672_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321647672/?cid=blog-200908-Rough Cuts-Addison-Wesley Professional-9780321647672" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321647672/?cid=blog-200908-Rough Cuts-Addison-Wesley Professional-9780321647672" target="_blank">Network Maintenance and Troubleshooting Guide: Field Tested Solutions for Everyday Problems, Second Edition</a></strong><br />
By:  Neal Allen.<br />
Publisher:  Addison-Wesley Professional</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780137057061/?cid=blog-200908-Rough Cuts-FT Press-9780137057061"><img class="alignnone" title=" Technical Analysis Plain and Simple: Charting the Markets in Your Language, Third Edition" src="http://my.safaribooksonline.com/images/9780137057061/9780137057061_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780137057061/?cid=blog-200908-Rough Cuts-FT Press-9780137057061" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780137057061/?cid=blog-200908-Rough Cuts-FT Press-9780137057061" target="_blank">Technical Analysis Plain and Simple: Charting the Markets in Your Language, Third Edition</a></strong><br />
By:  Michael N. Kahn &#8211; CMT.<br />
Publisher:  FT Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780137036455/?cid=blog-200908-Rough Cuts-IBM Press-9780137036455"><img class="alignnone" title=" Software Test Engineering with IBM Rational Functional Tester: The Definitive Resource" src="http://my.safaribooksonline.com/images/9780137036455/9780137036455_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780137036455/?cid=blog-200908-Rough Cuts-IBM Press-9780137036455" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780137036455/?cid=blog-200908-Rough Cuts-IBM Press-9780137036455" target="_blank">Software Test Engineering with IBM Rational Functional Tester: The Definitive Resource</a></strong><br />
By:  Chip Davis. Daniel Chirillo. Daniel Gouveia. Fariz Saracevic. Jeffrey R. Bocarsly. Larry Quesada. Lee B. Thomas. Marc van Lint.<br />
Publisher:  IBM Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0738432709/?cid=blog-200908-Book-IBM Redbooks-0738432709"><img class="alignnone" title=" Curam Business Application Suite on IBM System Z" src="http://my.safaribooksonline.com/images/0738432709/0738432709_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0738432709/?cid=blog-200908-Book-IBM Redbooks-0738432709" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0738432709/?cid=blog-200908-Book-IBM Redbooks-0738432709" target="_blank">Curam Business Application Suite on IBM System Z</a></strong><br />
By:  Abbas Birjandi. Gaurav Bhagat. Helene Grosch. Guillaume Hoareau. Hank Kehlbeck. Yannick Le Floch. Daniel Moraru. Eamonn Moriarty. Robert O&#8217;Brien. William Walsh.<br />
Publisher:  IBM Redbooks</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/073843275X/?cid=blog-200908-Book-IBM Redbooks-073843275X"><img class="alignnone" title=" IBM z/OS V1R10 Communications Server TCP/IP Implementation Volume 4: Security and Policy-Based Networking" src="http://my.safaribooksonline.com/images/073843275X/073843275X_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/073843275X/?cid=blog-200908-Book-IBM Redbooks-073843275X" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/073843275X/?cid=blog-200908-Book-IBM Redbooks-073843275X" target="_blank">IBM z/OS V1R10 Communications Server TCP/IP Implementation Volume 4: Security and Policy-Based Networking</a></strong><br />
By:  Bill White. Mike Ebbers. Valirio de Souza Braga Jr.. WenHong Chen. Gwen Dente. Octavio L. Ferreira. Marco Giudici. Joel Porterie. Micky Reichenberg. Andi Wijaya.<br />
Publisher:  IBM Redbooks</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0738432938/?cid=blog-200908-Book-IBM Redbooks-0738432938"><img class="alignnone" title=" IBM Power 520 and Power 550 (POWER6) System Builder" src="http://my.safaribooksonline.com/images/0738432938/0738432938_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0738432938/?cid=blog-200908-Book-IBM Redbooks-0738432938" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0738432938/?cid=blog-200908-Book-IBM Redbooks-0738432938" target="_blank">IBM Power 520 and Power 550 (POWER6) System Builder</a></strong><br />
By:  Bart Jacob. Lukasz Dyjakon. Gun Woo Kim. Rohit Sood.<br />
Publisher:  IBM Redbooks</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0738433004/?cid=blog-200908-Book-IBM Redbooks-0738433004"><img class="alignnone" title=" WebSphere Application Server V7.0 Security Guide" src="http://my.safaribooksonline.com/images/0738433004/0738433004_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0738433004/?cid=blog-200908-Book-IBM Redbooks-0738433004" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0738433004/?cid=blog-200908-Book-IBM Redbooks-0738433004" target="_blank">WebSphere Application Server V7.0 Security Guide</a></strong><br />
By:  Carla Sadtler. Fabio Albertoni. Leonard Blunt. Shu Guang Chen. Elisa Ferracane. Grzegorz Smolko. Joerg-Ulrich Veser. Sean Zhu.<br />
Publisher:  IBM Redbooks</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0738433047/?cid=blog-200908-Book-IBM Redbooks-0738433047"><img class="alignnone" title=" WebSphere Application Server V7 Administration and Configuration Guide" src="http://my.safaribooksonline.com/images/0738433047/0738433047_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0738433047/?cid=blog-200908-Book-IBM Redbooks-0738433047" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0738433047/?cid=blog-200908-Book-IBM Redbooks-0738433047" target="_blank">WebSphere Application Server V7 Administration and Configuration Guide</a></strong><br />
By:  Carla Sadtler. Fabio Albertoni. Leonard Blunt. Michael Connolly. Stefan Kwiatkowski. Thayaparan Shanmugaratnam. Henrik Sjostrand. Saori Tanikawa. Margaret Ticknor. Joerg-Ulrich Veser. Carla Sadtler. Fabio Albertoni. Leonard Blunt. Michael Connolly. Stefan<br />
Publisher:  IBM Redbooks</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0738433055/?cid=blog-200908-Book-IBM Redbooks-0738433055"><img class="alignnone" title=" WebSphere Application Server V7 Messaging Administration Guide" src="http://my.safaribooksonline.com/images/0738433055/0738433055_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0738433055/?cid=blog-200908-Book-IBM Redbooks-0738433055" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0738433055/?cid=blog-200908-Book-IBM Redbooks-0738433055" target="_blank">WebSphere Application Server V7 Messaging Administration Guide</a></strong><br />
By:  Carla Sadtler. Leonard Blunt. Neela M Suram.<br />
Publisher:  IBM Redbooks</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0738433136/?cid=blog-200908-Book-IBM Redbooks-0738433136"><img class="alignnone" title=" Discovering the Business Value Patterns of Integrated Information Framework" src="http://my.safaribooksonline.com/images/0738433136/0738433136_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0738433136/?cid=blog-200908-Book-IBM Redbooks-0738433136" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0738433136/?cid=blog-200908-Book-IBM Redbooks-0738433136" target="_blank">Discovering the Business Value Patterns of Integrated Information Framework</a></strong><br />
By:  Rufus Credle. Victor Akibola. Vijay Karna. Devi Pannerselvam. Remesh Pillai. Satyaprema Prasad.<br />
Publisher:  IBM Redbooks</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781932733280/?cid=blog-200908-Book-IconLogic, Inc.-9781932733280"><img class="alignnone" title=" Essentials of Adobe Captivate 4: “Skills and Drills” Learning" src="http://my.safaribooksonline.com/images/9781932733280/9781932733280_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781932733280/?cid=blog-200908-Book-IconLogic, Inc.-9781932733280" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781932733280/?cid=blog-200908-Book-IconLogic, Inc.-9781932733280" target="_blank">Essentials of Adobe Captivate 4: “Skills and Drills” Learning</a></strong><br />
By:  Kevin A. Siegel.<br />
Publisher:  IconLogic, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781932733303/?cid=blog-200908-Book-IconLogic, Inc.-9781932733303"><img class="alignnone" title=" Essentials of Adobe RoboHelp 8 HTML: “Skills and Drills” Learning" src="http://my.safaribooksonline.com/images/9781932733303/9781932733303_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781932733303/?cid=blog-200908-Book-IconLogic, Inc.-9781932733303" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781932733303/?cid=blog-200908-Book-IconLogic, Inc.-9781932733303" target="_blank">Essentials of Adobe RoboHelp 8 HTML: “Skills and Drills” Learning</a></strong><br />
By:  Kevin A. Siegel.<br />
Publisher:  IconLogic, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781933988276/?cid=blog-200908-Book-Manning Publications-9781933988276"><img class="alignnone" title=" The Art of Unit Testing: with Examples in .NET" src="http://my.safaribooksonline.com/images/9781933988276/9781933988276_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781933988276/?cid=blog-200908-Book-Manning Publications-9781933988276" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781933988276/?cid=blog-200908-Book-Manning Publications-9781933988276" target="_blank">The Art of Unit Testing: with Examples in .NET</a></strong><br />
By:  Roy Osherove.<br />
Publisher:  Manning Publications</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781933988498/?cid=blog-200908-Book-Manning Publications-9781933988498"><img class="alignnone" title=" Hello World!: Computer Programming for Kids and Other Beginners" src="http://my.safaribooksonline.com/images/9781933988498/9781933988498_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781933988498/?cid=blog-200908-Book-Manning Publications-9781933988498" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781933988498/?cid=blog-200908-Book-Manning Publications-9781933988498" target="_blank">Hello World!: Computer Programming for Kids and Other Beginners</a></strong><br />
By:  Warren Sande. Carter Sande.<br />
Publisher:  Manning Publications</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781933988931/?cid=blog-200908-Book-Manning Publications-9781933988931"><img class="alignnone" title=" Grails in Action" src="http://my.safaribooksonline.com/images/9781933988931/9781933988931_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781933988931/?cid=blog-200908-Book-Manning Publications-9781933988931" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781933988931/?cid=blog-200908-Book-Manning Publications-9781933988931" target="_blank">Grails in Action</a></strong><br />
By:  Glen Smith. Peter Ledbrook.<br />
Publisher:  Manning Publications</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781933988962/?cid=blog-200908-Book-Manning Publications-9781933988962"><img class="alignnone" title=" Mule in Action" src="http://my.safaribooksonline.com/images/9781933988962/9781933988962_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781933988962/?cid=blog-200908-Book-Manning Publications-9781933988962" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781933988962/?cid=blog-200908-Book-Manning Publications-9781933988962" target="_blank">Mule in Action</a></strong><br />
By:  David Dossot. John D&#8217;Emic.<br />
Publisher:  Manning Publications</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780071496094/?cid=blog-200908-Book-McGraw-Hill-9780071496094"><img class="alignnone" title=" MCITP SQL Server™ 2005 Database Administration All-in-One Exam Guide (Exams 70-431, 70-443, and 70-444)" src="http://my.safaribooksonline.com/images/9780071496094/9780071496094_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780071496094/?cid=blog-200908-Book-McGraw-Hill-9780071496094" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780071496094/?cid=blog-200908-Book-McGraw-Hill-9780071496094" target="_blank">MCITP SQL Server™ 2005 Database Administration All-in-One Exam Guide (Exams 70-431, 70-443, and 70-444)</a></strong><br />
By:  Darril Gibson.<br />
Publisher:  McGraw-Hill</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780071546690/?cid=blog-200908-Book-McGraw-Hill-9780071546690"><img class="alignnone" title=" MCITP SQL Server™ 2005 Database Developer All-in-One Exam Guide (Exams 70-431, 70-441, and 70-442)" src="http://my.safaribooksonline.com/images/9780071546690/9780071546690_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780071546690/?cid=blog-200908-Book-McGraw-Hill-9780071546690" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780071546690/?cid=blog-200908-Book-McGraw-Hill-9780071546690" target="_blank">MCITP SQL Server™ 2005 Database Developer All-in-One Exam Guide (Exams 70-431, 70-441, and 70-442)</a></strong><br />
By:  Darril Gibson.<br />
Publisher:  McGraw-Hill</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780071591027/?cid=blog-200908-Book-McGraw-Hill-9780071591027"><img class="alignnone" title=" OCA Oracle Database 11g: Administration I Exam Guide (Exam 1Z0-052)" src="http://my.safaribooksonline.com/images/9780071591027/9780071591027_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780071591027/?cid=blog-200908-Book-McGraw-Hill-9780071591027" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780071591027/?cid=blog-200908-Book-McGraw-Hill-9780071591027" target="_blank">OCA Oracle Database 11g: Administration I Exam Guide (Exam 1Z0-052)</a></strong><br />
By:  John Watson.<br />
Publisher:  McGraw-Hill</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780120887859/?cid=blog-200908-Book-Morgan Kaufmann-9780120887859"><img class="alignnone" title=" The Designer’s Guide to VHDL, Third Edition" src="http://my.safaribooksonline.com/images/9780120887859/9780120887859_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780120887859/?cid=blog-200908-Book-Morgan Kaufmann-9780120887859" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780120887859/?cid=blog-200908-Book-Morgan Kaufmann-9780120887859" target="_blank">The Designer’s Guide to VHDL, Third Edition</a></strong><br />
By:  Peter Ashenden.<br />
Publisher:  Morgan Kaufmann</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780123705228/?cid=blog-200908-Book-Morgan Kaufmann-9780123705228"><img class="alignnone" title=" Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation" src="http://my.safaribooksonline.com/images/9780123705228/9780123705228_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780123705228/?cid=blog-200908-Book-Morgan Kaufmann-9780123705228" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780123705228/?cid=blog-200908-Book-Morgan Kaufmann-9780123705228" target="_blank">Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation</a></strong><br />
By:  Scott Hauck. Andre DeHon.<br />
Publisher:  Morgan Kaufmann</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780123705976/?cid=blog-200908-Book-Morgan Kaufmann-9780123705976"><img class="alignnone" title=" VLSI Test Principles and Architectures: Design for Testability" src="http://my.safaribooksonline.com/images/9780123705976/9780123705976_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780123705976/?cid=blog-200908-Book-Morgan Kaufmann-9780123705976" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780123705976/?cid=blog-200908-Book-Morgan Kaufmann-9780123705976" target="_blank">VLSI Test Principles and Architectures: Design for Testability</a></strong><br />
By:  Laung-Terng Wang. Cheng-Wen Wu. Xiaoqing Wen.<br />
Publisher:  Morgan Kaufmann</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780125531801/?cid=blog-200908-Book-Morgan Kaufmann-9780125531801"><img class="alignnone" title=" Physically Based Rendering: From Theory to Implementation" src="http://my.safaribooksonline.com/images/9780125531801/9780125531801_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780125531801/?cid=blog-200908-Book-Morgan Kaufmann-9780125531801" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780125531801/?cid=blog-200908-Book-Morgan Kaufmann-9780125531801" target="_blank">Physically Based Rendering: From Theory to Implementation</a></strong><br />
By:  Matt Pharr. Greg Humphreys.<br />
Publisher:  Morgan Kaufmann</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781558607026/?cid=blog-200908-Book-Morgan Kaufmann-9781558607026"><img class="alignnone" title=" Readings in Hardware/Software Co-Design" src="http://my.safaribooksonline.com/images/9781558607026/9781558607026_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781558607026/?cid=blog-200908-Book-Morgan Kaufmann-9781558607026" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781558607026/?cid=blog-200908-Book-Morgan Kaufmann-9781558607026" target="_blank">Readings in Hardware/Software Co-Design</a></strong><br />
By:  Giovanni De Micheli. Rolf Ernst. Wayne Wolf.<br />
Publisher:  Morgan Kaufmann</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781558607491/?cid=blog-200908-Book-Morgan Kaufmann-9781558607491"><img class="alignnone" title=" The System Designer’s Guide to VHDL-AMS: Analog, Mixed-Signal, and Mixed-Technology Modeling" src="http://my.safaribooksonline.com/images/9781558607491/9781558607491_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781558607491/?cid=blog-200908-Book-Morgan Kaufmann-9781558607491" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781558607491/?cid=blog-200908-Book-Morgan Kaufmann-9781558607491" target="_blank">The System Designer’s Guide to VHDL-AMS: Analog, Mixed-Signal, and Mixed-Technology Modeling</a></strong><br />
By:  Peter Ashenden. Gregory Peterson. Darrell Teegarden.<br />
Publisher:  Morgan Kaufmann</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781558609259/?cid=blog-200908-Book-Morgan Kaufmann-9781558609259"><img class="alignnone" title=" Modeling Embedded Systems and SoCs: Concurrency and Time in Models of Computation" src="http://my.safaribooksonline.com/images/9781558609259/9781558609259_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781558609259/?cid=blog-200908-Book-Morgan Kaufmann-9781558609259" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781558609259/?cid=blog-200908-Book-Morgan Kaufmann-9781558609259" target="_blank">Modeling Embedded Systems and SoCs: Concurrency and Time in Models of Computation</a></strong><br />
By:  Axel Jantsch.<br />
Publisher:  Morgan Kaufmann</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780596805357/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805357"><img class="alignnone" title=" The Art of Community, 1st Edition" src="http://my.safaribooksonline.com/images/9780596805357/9780596156718_xs.gif" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780596805357/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805357" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780596805357/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805357" target="_blank">The Art of Community, 1st Edition</a></strong><br />
By:  Jono Bacon.<br />
Publisher:  O&#8217;Reilly Media, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780596805760/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805760"><img class="alignnone" title=" Programming the iPhone User Experience, 1st Edition" src="http://my.safaribooksonline.com/images/9780596805760/9780596155469_xs.gif" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780596805760/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805760" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780596805760/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805760" target="_blank">Programming the iPhone User Experience, 1st Edition</a></strong><br />
By:  Toby Boudreaux.<br />
Publisher:  O&#8217;Reilly Media, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780596805418/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805418"><img class="alignnone" title=" flex &#38; bison, 1st Edition" src="http://my.safaribooksonline.com/images/9780596805418/9780596155971_xs.gif" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780596805418/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805418" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780596805418/?cid=blog-200908-Book-O'Reilly Media, Inc.-9780596805418" target="_blank">flex &#38; bison, 1st Edition</a></strong><br />
By:  John Levine.<br />
Publisher:  O&#8217;Reilly Media, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781847192912/?cid=blog-200908-Book-Packt Publishing-9781847192912"><img class="alignnone" title=" Quality Assurance for Dynamics AX-Based ERP Solutions: Verifying Dynamics AX customization to the Microsoft IBI standards" src="http://my.safaribooksonline.com/images/9781847192912/9781847192912_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781847192912/?cid=blog-200908-Book-Packt Publishing-9781847192912" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781847192912/?cid=blog-200908-Book-Packt Publishing-9781847192912" target="_blank">Quality Assurance for Dynamics AX-Based ERP Solutions: Verifying Dynamics AX customization to the Microsoft IBI standards</a></strong><br />
By:  Anil Kumar Gupta.<br />
Publisher:  Packt Publishing</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781847193278/?cid=blog-200908-Book-Packt Publishing-9781847193278"><img class="alignnone" title=" Active Directory Disaster Recovery: Expert guidance on planning and implementing Active Directory disaster recovery plans" src="http://my.safaribooksonline.com/images/9781847193278/9781847193278_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781847193278/?cid=blog-200908-Book-Packt Publishing-9781847193278" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781847193278/?cid=blog-200908-Book-Packt Publishing-9781847193278" target="_blank">Active Directory Disaster Recovery: Expert guidance on planning and implementing Active Directory disaster recovery plans</a></strong><br />
By:  Florian Rommel.<br />
Publisher:  Packt Publishing</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781847193636/?cid=blog-200908-Book-Packt Publishing-9781847193636"><img class="alignnone" title=" PHP Oracle Web Development: Data Processing, Security, Caching, XML, Web Services, and AJAX" src="http://my.safaribooksonline.com/images/9781847193636/9781847193636_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781847193636/?cid=blog-200908-Book-Packt Publishing-9781847193636" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781847193636/?cid=blog-200908-Book-Packt Publishing-9781847193636" target="_blank">PHP Oracle Web Development: Data Processing, Security, Caching, XML, Web Services, and AJAX</a></strong><br />
By:  Yuli Vasiliev.<br />
Publisher:  Packt Publishing</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781847194305/?cid=blog-200908-Book-Packt Publishing-9781847194305"><img class="alignnone" title=" JDBC 4.0 and Oracle JDeveloper for J2EE Development: A J2EE developer’s guide for using Oracle JDeveloper’s integrated database features to build data-driven applications" src="http://my.safaribooksonline.com/images/9781847194305/9781847194305_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781847194305/?cid=blog-200908-Book-Packt Publishing-9781847194305" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781847194305/?cid=blog-200908-Book-Packt Publishing-9781847194305" target="_blank">JDBC 4.0 and Oracle JDeveloper for J2EE Development: A J2EE developer’s guide for using Oracle JDeveloper’s integrated database features to build data-driven applications</a></strong><br />
By:  Deepak Vohra.<br />
Publisher:  Packt Publishing</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9781904811176/?cid=blog-200908-Book-Packt Publishing-9781904811176"><img class="alignnone" title=" SOA Approach to Integration: XML, Web Services, ESB, and BPEL in Real-World SOA Projects" src="http://my.safaribooksonline.com/images/9781904811176/9781904811176_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9781904811176/?cid=blog-200908-Book-Packt Publishing-9781904811176" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9781904811176/?cid=blog-200908-Book-Packt Publishing-9781904811176" target="_blank">SOA Approach to Integration: XML, Web Services, ESB, and BPEL in Real-World SOA Projects</a></strong><br />
By:  Poornachandra Sarang. Frank Jennings. Matjaz Juric. Ramesh Loganathan.<br />
Publisher:  Packt Publishing</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321672865/?cid=blog-200908-Rough Cuts-Peachpit Press-9780321672865"><img class="alignnone" title=" Real World Google SketchUp 7" src="http://my.safaribooksonline.com/images/9780321672865/9780321672865_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321672865/?cid=blog-200908-Rough Cuts-Peachpit Press-9780321672865" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321672865/?cid=blog-200908-Rough Cuts-Peachpit Press-9780321672865" target="_blank">Real World Google SketchUp 7</a></strong><br />
By:  Mike Tadros.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321678744/?cid=blog-200908-Book-Peachpit Press-9780321678744"><img class="alignnone" title=" The Digital Photography Book, Volume 3" src="http://my.safaribooksonline.com/images/9780321678744/9780321678744_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321678744/?cid=blog-200908-Book-Peachpit Press-9780321678744" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321678744/?cid=blog-200908-Book-Peachpit Press-9780321678744" target="_blank">The Digital Photography Book, Volume 3</a></strong><br />
By:  Scott Kelby.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684653/?cid=blog-200908-Video-Peachpit Press-9780321684653"><img class="alignnone" title=" Plug-ins for Photoshop: featuring OnOne Software" src="http://my.safaribooksonline.com/images/9780321684653/9780321684653_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684653/?cid=blog-200908-Video-Peachpit Press-9780321684653" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684653/?cid=blog-200908-Video-Peachpit Press-9780321684653" target="_blank">Plug-ins for Photoshop: featuring OnOne Software</a></strong><br />
By:  Matt Kloskowski.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684660/?cid=blog-200908-Video-Peachpit Press-9780321684660"><img class="alignnone" title=" Real World HDR" src="http://my.safaribooksonline.com/images/9780321684660/9780321684660_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684660/?cid=blog-200908-Video-Peachpit Press-9780321684660" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684660/?cid=blog-200908-Video-Peachpit Press-9780321684660" target="_blank">Real World HDR</a></strong><br />
By:  Matt Kloskowski.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684677/?cid=blog-200908-Video-Peachpit Press-9780321684677"><img class="alignnone" title=" The Making of Times Square: Part 1" src="http://my.safaribooksonline.com/images/9780321684677/9780321684677_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684677/?cid=blog-200908-Video-Peachpit Press-9780321684677" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684677/?cid=blog-200908-Video-Peachpit Press-9780321684677" target="_blank">The Making of Times Square: Part 1</a></strong><br />
By:  Bert Monroy.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684684/?cid=blog-200908-Video-Peachpit Press-9780321684684"><img class="alignnone" title=" Dreamweaver CS4 for Beginners" src="http://my.safaribooksonline.com/images/9780321684684/9780321684684_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684684/?cid=blog-200908-Video-Peachpit Press-9780321684684" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684684/?cid=blog-200908-Video-Peachpit Press-9780321684684" target="_blank">Dreamweaver CS4 for Beginners</a></strong><br />
By:  Rafael Concepcion.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684691/?cid=blog-200908-Video-Peachpit Press-9780321684691"><img class="alignnone" title=" Online Photo Portfolios with Lightroom 2 and Dreamweaver CS4" src="http://my.safaribooksonline.com/images/9780321684691/9780321684691_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684691/?cid=blog-200908-Video-Peachpit Press-9780321684691" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684691/?cid=blog-200908-Video-Peachpit Press-9780321684691" target="_blank">Online Photo Portfolios with Lightroom 2 and Dreamweaver CS4</a></strong><br />
By:  Rafael Concepcion.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684707/?cid=blog-200908-Video-Peachpit Press-9780321684707"><img class="alignnone" title=" Flash CS4 for Beginners" src="http://my.safaribooksonline.com/images/9780321684707/9780321684707_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684707/?cid=blog-200908-Video-Peachpit Press-9780321684707" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684707/?cid=blog-200908-Video-Peachpit Press-9780321684707" target="_blank">Flash CS4 for Beginners</a></strong><br />
By:  Rafael Concepcion.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684714/?cid=blog-200908-Video-Peachpit Press-9780321684714"><img class="alignnone" title=" Building a Website with Photoshop CS4 and Dreamweaver CS4" src="http://my.safaribooksonline.com/images/9780321684714/9780321684714_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684714/?cid=blog-200908-Video-Peachpit Press-9780321684714" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684714/?cid=blog-200908-Video-Peachpit Press-9780321684714" target="_blank">Building a Website with Photoshop CS4 and Dreamweaver CS4</a></strong><br />
By:  Rafael Concepcion.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684721/?cid=blog-200908-Video-Peachpit Press-9780321684721"><img class="alignnone" title=" Getting Up To Speed with Wacom Intuos 4" src="http://my.safaribooksonline.com/images/9780321684721/9780321684721_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684721/?cid=blog-200908-Video-Peachpit Press-9780321684721" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684721/?cid=blog-200908-Video-Peachpit Press-9780321684721" target="_blank">Getting Up To Speed with Wacom Intuos 4</a></strong><br />
By:  Corey Barker.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780321684738/?cid=blog-200908-Video-Peachpit Press-9780321684738"><img class="alignnone" title=" Creative Integration with Photoshop CS4 and Illustrator" src="http://my.safaribooksonline.com/images/9780321684738/9780321684738_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780321684738/?cid=blog-200908-Video-Peachpit Press-9780321684738" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780321684738/?cid=blog-200908-Video-Peachpit Press-9780321684738" target="_blank">Creative Integration with Photoshop CS4 and Illustrator</a></strong><br />
By:  Corey Barker.<br />
Publisher:  Peachpit Press</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780789742476/?cid=blog-200908-Rough Cuts-Pearson Certification-9780789742476"><img class="alignnone" title=" CompTIA A+ Exam Cram, Fourth Edition" src="http://my.safaribooksonline.com/images/9780789742476/9780789742476_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780789742476/?cid=blog-200908-Rough Cuts-Pearson Certification-9780789742476" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780789742476/?cid=blog-200908-Rough Cuts-Pearson Certification-9780789742476" target="_blank">CompTIA A+ Exam Cram, Fourth Edition</a></strong><br />
By:  David L. Prowse.<br />
Publisher:  Pearson Certification</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780137149254/?cid=blog-200908-Rough Cuts-Prentice Hall-9780137149254"><img class="alignnone" title=" Practical Virtualization Solutions: Virtualization from the Trenches" src="http://my.safaribooksonline.com/images/9780137149254/9780137149254_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780137149254/?cid=blog-200908-Rough Cuts-Prentice Hall-9780137149254" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780137149254/?cid=blog-200908-Rough Cuts-Prentice Hall-9780137149254" target="_blank">Practical Virtualization Solutions: Virtualization from the Trenches</a></strong><br />
By:  Kenneth Hess. Amy Newman.<br />
Publisher:  Prentice Hall</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780768689334/?cid=blog-200908-Book-Sams-9780768689334"><img class="alignnone" title=" Windows Server® 2008 How-To" src="http://my.safaribooksonline.com/images/9780768689334/9780768689334_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780768689334/?cid=blog-200908-Book-Sams-9780768689334" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780768689334/?cid=blog-200908-Book-Sams-9780768689334" target="_blank">Windows Server® 2008 How-To</a></strong><br />
By:  J. Peter Bruzzese. Ronald Barrett. Wayne Dipchan.<br />
Publisher:  Sams</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911253093/?cid=blog-200908-Video-Total Training, Inc.-0827911253093"><img class="alignnone" title=" Total Training for Adobe Photoshop CS3: Essentials" src="http://my.safaribooksonline.com/images/0827911253093/0827911253093_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911253093/?cid=blog-200908-Video-Total Training, Inc.-0827911253093" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911253093/?cid=blog-200908-Video-Total Training, Inc.-0827911253093" target="_blank">Total Training for Adobe Photoshop CS3: Essentials</a></strong><br />
By:  Chad Perkins.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911257091/?cid=blog-200908-Video-Total Training, Inc.-0827911257091"><img class="alignnone" title=" Total Training for Adobe Flash CS3 Professional: Essentials" src="http://my.safaribooksonline.com/images/0827911257091/0827911257091_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911257091/?cid=blog-200908-Video-Total Training, Inc.-0827911257091" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911257091/?cid=blog-200908-Video-Total Training, Inc.-0827911257091" target="_blank">Total Training for Adobe Flash CS3 Professional: Essentials</a></strong><br />
By:  John Ulliman.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911261098/?cid=blog-200908-Video-Total Training, Inc.-0827911261098"><img class="alignnone" title=" Total Training for Adobe Dreamweaver CS3: Essentials" src="http://my.safaribooksonline.com/images/0827911261098/0827911261098_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911261098/?cid=blog-200908-Video-Total Training, Inc.-0827911261098" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911261098/?cid=blog-200908-Video-Total Training, Inc.-0827911261098" target="_blank">Total Training for Adobe Dreamweaver CS3: Essentials</a></strong><br />
By:  Janine Warner.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911267090/?cid=blog-200908-Video-Total Training, Inc.-0827911267090"><img class="alignnone" title=" Total Training for Adobe Flash CS3: Professional ActionScript 3 Essentials" src="http://my.safaribooksonline.com/images/0827911267090/0827911267090_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911267090/?cid=blog-200908-Video-Total Training, Inc.-0827911267090" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911267090/?cid=blog-200908-Video-Total Training, Inc.-0827911267090" target="_blank">Total Training for Adobe Flash CS3: Professional ActionScript 3 Essentials</a></strong><br />
By:  John Ulliman.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911281096/?cid=blog-200908-Video-Total Training, Inc.-0827911281096"><img class="alignnone" title=" Total Training for Adobe After Effect CS3: Essentials" src="http://my.safaribooksonline.com/images/0827911281096/0827911281096_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911281096/?cid=blog-200908-Video-Total Training, Inc.-0827911281096" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911281096/?cid=blog-200908-Video-Total Training, Inc.-0827911281096" target="_blank">Total Training for Adobe After Effect CS3: Essentials</a></strong><br />
By:  Ko Maruyama.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911283090/?cid=blog-200908-Video-Total Training, Inc.-0827911283090"><img class="alignnone" title=" Total Training for Adobe Illustrator CS3: Advanced" src="http://my.safaribooksonline.com/images/0827911283090/0827911283090_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911283090/?cid=blog-200908-Video-Total Training, Inc.-0827911283090" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911283090/?cid=blog-200908-Video-Total Training, Inc.-0827911283090" target="_blank">Total Training for Adobe Illustrator CS3: Advanced</a></strong><br />
By:  Geoff Blake.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911293099/?cid=blog-200908-Video-Total Training, Inc.-0827911293099"><img class="alignnone" title=" Total Training for Adobe Photoshop CS3: Advanced" src="http://my.safaribooksonline.com/images/0827911293099/0827911293099_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911293099/?cid=blog-200908-Video-Total Training, Inc.-0827911293099" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911293099/?cid=blog-200908-Video-Total Training, Inc.-0827911293099" target="_blank">Total Training for Adobe Photoshop CS3: Advanced</a></strong><br />
By:  Justin Seeley.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911301091/?cid=blog-200908-Video-Total Training, Inc.-0827911301091"><img class="alignnone" title=" Total Training for Adobe Premiere Pro CS3: Essentials" src="http://my.safaribooksonline.com/images/0827911301091/0827911301091_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911301091/?cid=blog-200908-Video-Total Training, Inc.-0827911301091" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911301091/?cid=blog-200908-Video-Total Training, Inc.-0827911301091" target="_blank">Total Training for Adobe Premiere Pro CS3: Essentials</a></strong><br />
By:  Jason Barbosa. Christopher Hunt.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911303095/?cid=blog-200908-Video-Total Training, Inc.-0827911303095"><img class="alignnone" title=" Total Training for Adobe Flash CS3 Professional: Production Premium Integration" src="http://my.safaribooksonline.com/images/0827911303095/0827911303095_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911303095/?cid=blog-200908-Video-Total Training, Inc.-0827911303095" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911303095/?cid=blog-200908-Video-Total Training, Inc.-0827911303095" target="_blank">Total Training for Adobe Flash CS3 Professional: Production Premium Integration</a></strong><br />
By:  John Ulliman.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911305099/?cid=blog-200908-Video-Total Training, Inc.-0827911305099"><img class="alignnone" title=" Total Training for Adobe CS3: Design Workflow" src="http://my.safaribooksonline.com/images/0827911305099/0827911305099_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911305099/?cid=blog-200908-Video-Total Training, Inc.-0827911305099" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911305099/?cid=blog-200908-Video-Total Training, Inc.-0827911305099" target="_blank">Total Training for Adobe CS3: Design Workflow</a></strong><br />
By:  Geoff Blake.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911309097/?cid=blog-200908-Video-Total Training, Inc.-0827911309097"><img class="alignnone" title=" Total Training for Adobe CS3: Web Design Workflow" src="http://my.safaribooksonline.com/images/0827911309097/0827911309097_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911309097/?cid=blog-200908-Video-Total Training, Inc.-0827911309097" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911309097/?cid=blog-200908-Video-Total Training, Inc.-0827911309097" target="_blank">Total Training for Adobe CS3: Web Design Workflow</a></strong><br />
By:  Abbas Rizvi.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/0827911336093/?cid=blog-200908-Video-Total Training, Inc.-0827911336093"><img class="alignnone" title=" Total Training for Adobe Dreamweaver CS3: Advanced" src="http://my.safaribooksonline.com/images/0827911336093/0827911336093_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/0827911336093/?cid=blog-200908-Video-Total Training, Inc.-0827911336093" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/0827911336093/?cid=blog-200908-Video-Total Training, Inc.-0827911336093" target="_blank">Total Training for Adobe Dreamweaver CS3: Advanced</a></strong><br />
By:  Janine Warner.<br />
Publisher:  Total Training, Inc.</td>
</tr>
<tr>
<td height="110" valign="top"><a href="http://my.safaribooksonline.com/9780137042029/?cid=blog-200908-Book-Wharton School Publishing-9780137042029"><img class="alignnone" title=" The Fortune at the Bottom of the Pyramid: Eradicating Poverty Through Profits, Revised and Updated 5th Anniversary Edition" src="http://my.safaribooksonline.com/images/9780137042029/9780137042029_xs.jpg" alt="" width="76" height="94" /></a><a href="http://my.safaribooksonline.com/9780137042029/?cid=blog-200908-Book-Wharton School Publishing-9780137042029" target="_blank"></a></td>
<td valign="top"><strong><a href="http://my.safaribooksonline.com/9780137042029/?cid=blog-200908-Book-Wharton School Publishing-9780137042029" target="_blank">The Fortune at the Bottom of the Pyramid: Eradicating Poverty Through Profits, Revised and Updated 5th Anniversary Edition</a></strong><br />
By:  C. K. Prahalad.<br />
Publisher:  Wharton School Publishing</td>
</tr>
</table>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Back at DAC]]></title>
<link>http://siliconcowboy.wordpress.com/2009/07/30/back-at-dac/</link>
<pubDate>Thu, 30 Jul 2009 22:09:23 +0000</pubDate>
<dc:creator>siliconcowboy</dc:creator>
<guid>http://siliconcowboy.wordpress.com/2009/07/30/back-at-dac/</guid>
<description><![CDATA[I&#8217;ve been attending the Design Automation Conference ever since I was a cub technology reporte]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I&#8217;ve been attending the Design Automation Conference ever since I was a cub technology reporter at Electronic News.  Back then, things were very dynamic.  People were arguing over deep technical questions such as whether to support VHDL or Verilog, or another standard; what post-layout schemes to adopt; how to devise a heirarchical design methodology.  Today the questions are much deeper, and so is the technology. </p>
<p>We have the ability, now, to design chips that are as complex as not just a city but an entire region&#8217;s electrical grid, in a space the size of your small fingernail and quite a bit thinner.  Designers are implementing chips with tens or even hundreds of processor cores.  A cell phone that had a dozen chips five years ago has two, perhaps just one. </p>
<p>Designing and verifying these systems can be extremely complex.  Today, it&#8217;s not possible to draw a line in the sand between analog chip design and digital chip design.  Everything is mixed signal, so the software has to be able to understand both worlds and figure out how to help the designer deal with them&#8230;now!  That&#8217;s because systems manufacturers need the chips now. </p>
<p>But how can you be sure such a complex design is correct before taking it to manufacturing? One leading foundry manager said recently that there are more than 120 design recommendations that deal with boundary effects alone&#8230;that is, recommendations for making sure that microscopic electrical lines stay far enough apart, in every dimension, to avoid a short circuit or similar problem. A typical verification strategy today involves working through billions of possibilities.  As one verification marketing manager put it recently, there are more possible variations in a complex semiconductor device today than there are atoms in the known universe. </p>
<p>Crunching through all that data in less than 30 centuries requires extremely fast verification software, working in parallel over multiple computers.  And because nearly every step of the design process has a complimentary verification step, all of the design software has to be parallelized to be anywhere near fast enough to be useful.</p>
<p>There&#8217;s also the growing question of power efficiency.  Is my chip running at the lowest possible rate of power consumption, while still doing everything I need it to do? Can I make it last longer if it runs cooler?  Can I avoid expensive cooling devices or exotic chip packaging technologies by making my chip operate cooler?  Low power design has become extremely important not just because it&#8217;s green, but because it can save money as well.</p>
<p>Similarly, we&#8217;ve begun to expand outward.  By growing our expertise in low power design, the industry is now growing its ability to communicate with systems designers.  Whereas in the past the applications developers simply needed to know what kind of performance and memory they could expect from their device, today they need to know what power shutoff tools are available so they can automatically power down an LCD screen or a GPS locator while you are talking on the phone, for example.  The link between applications developers and chip developers is now at the firmware level, and this holds great promise for the industry.</p>
<p>The global recession has impacted every industry.  This is abundantly clear as I see former colleagues from several companies and even competitors, walking the floor of DAC with resumes and business cards in hand.  It would be a depressing sight, except that I earnestly believe this industry holds an important key to economic revitalization.  This is an exceptional, international group of people dedicated to improving their products and technologies for the common good.  This is a highly educated group of people, mentally tuned to that challenge.  This is a group that thrives on innovation, on entrepreneurship, and on risk-taking in pursuit of practical ideas with great potential benefit.</p>
<p>This is the group that will continue to develop the foundation technologies of the future.  And it is still very dynamic.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Notepad++ 5.4.5]]></title>
<link>http://netvietnam.org/2009/07/15/notepad-5-4-5/</link>
<pubDate>Wed, 15 Jul 2009 12:23:02 +0000</pubDate>
<dc:creator>Nhân Mã</dc:creator>
<guid>http://netvietnam.org/2009/07/15/notepad-5-4-5/</guid>
<description><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></description>
<content:encoded><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></content:encoded>
</item>
<item>
<title><![CDATA[Notepad++ 5.4.4]]></title>
<link>http://netvietnam.org/2009/07/06/notepad-5-4-4/</link>
<pubDate>Mon, 06 Jul 2009 12:22:56 +0000</pubDate>
<dc:creator>Nhân Mã</dc:creator>
<guid>http://netvietnam.org/2009/07/06/notepad-5-4-4/</guid>
<description><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></description>
<content:encoded><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></content:encoded>
</item>
<item>
<title><![CDATA[FEL12: Eclipse for reusable Embedded/VHDL/Verilog IP]]></title>
<link>http://chitlesh.wordpress.com/2009/07/01/fel12-eclipse-for-reusable-embeddedvhdlverilog-ip/</link>
<pubDate>Wed, 01 Jul 2009 11:10:02 +0000</pubDate>
<dc:creator>Chitlesh</dc:creator>
<guid>http://chitlesh.wordpress.com/2009/07/01/fel12-eclipse-for-reusable-embeddedvhdlverilog-ip/</guid>
<description><![CDATA[The picture shows the respective eclipse-plugins, which will enhance : frontend design autogeneratio]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The picture shows the respective eclipse-plugins, which will enhance :</p>
<ul>
<li>frontend design</li>
<li>autogeneration of documentation and maintenance of professional datasheets</li>
<li>Perl/Tcl scripting (<a href="http://chitlesh.wordpress.com/2008/12/28/fel-perl-for-eda-on-your-fedora/">Perl modules which featured as from FEL10</a>)</li>
<li>version controlled</li>
</ul>
<p>experience for <strong>Fedora</strong> users.</p>
<blockquote><p>Think Methodology and not random packaging.</p></blockquote>
<p><img class="alignleft size-medium wp-image-386" title="eclipse" src="http://chitlesh.wordpress.com/files/2009/07/eclipse.png?w=191" alt="eclipse" width="191" height="300" /></p>
<p>This is sentence that many people have heard from me. Feeding design methodologies is one of the reasons why Fedora Electronic Lab  is so attractive to many small companies.</p>
<p>Development behind FEL 12 focusses on adding value to the frontend design. Eclipse, being an industry standard IDE, is FEL&#8217;s main IDE for digital/embedded hardware design.</p>
<p>In the following blog posts, I will cover these features in depth, meanwhile you can try those plugins with yum on your Fedora 11. Only eclipse-eclox and eclipse-texlipse are not yet part of the Fedora collection. They are being reviewed #<a href="https://bugzilla.redhat.com/show_bug.cgi?id=506429">506429</a> and #<a href="https://bugzilla.redhat.com/show_bug.cgi?id=506431">506431</a> respectively.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[I2C-Interface]]></title>
<link>http://jefflieu.wordpress.com/2009/06/11/i2c-interface/</link>
<pubDate>Thu, 11 Jun 2009 13:57:05 +0000</pubDate>
<dc:creator>jefflieu</dc:creator>
<guid>http://jefflieu.wordpress.com/2009/06/11/i2c-interface/</guid>
<description><![CDATA[The files include: - I2C slave core for FPGA implementation - Example of I2C based register file whi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The files include:</p>
<p>- I2C slave core for FPGA implementation</p>
<p>- Example of I2C based register file which would be useful for those needs FPGA-uC communication.<br />
<a href="http://www.megaupload.com/?d=46R6GWXC">I2C Slave VHDL </a><a href="http://www.megaupload.com/?d=46R6GWXC"></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Notepad++ 5.4]]></title>
<link>http://netvietnam.org/2009/05/26/notepad-5-4/</link>
<pubDate>Tue, 26 May 2009 09:26:39 +0000</pubDate>
<dc:creator>Nhân Mã</dc:creator>
<guid>http://netvietnam.org/2009/05/26/notepad-5-4/</guid>
<description><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></description>
<content:encoded><![CDATA[Notepad++ là trình biên tập mã nguồn miễn phí (và là công cụ thay thế cho Notepad), hỗ trợ nhiều ngô]]></content:encoded>
</item>

</channel>
</rss>
