Você está na página 1de 268
ab erctorslez\oR Belial (kis de Circuitos By elitclicnc Roberto d'Amore Prefdcio Introdugio ‘ma exposigao gradual dos conceitos envolvidos em linguagens de programagao cnvolve algumas dificul- dades, devido & intertigagio dos temas. A explicagdo de um tSpico pode necessitar de um conceito ainda nao abordado, comprometendo, assim, o seu entendimento. A seqiéicia proposta pracura niio mencionar temas sinda nao abordados; quando necessaro, 6 dada una breve explicacdo sobre o novo tépico, © 0 capitulo que trata ‘ tema com mais profindidade ¢ indicado, ‘A orden dos tépicos abordados visa a ums curva de aprendizado acelerado para projetistas com experiéncia no desenvolvimento de cireaitos digits e profissionais da ree de programasio, Logo apés otercero capitulo, é pos- jvel realizar a descricdo, simuluglo ¢sintese de varios crcuitos basices. Assim, leitores habituados a desenvolver circuitos através de caprum esquemitiea ficam motivados, devido & identificacdo entre as estruturas da linguagem & circutos reais. Profigsionais da drea de programacfo sfo, também, beneficiados, pois a complexidade dos circuitos ‘propostos nos exercicios vai sendo clevada gradualmente, conforme novos t6pices slo apresentados. Sempre que possivel, procuramos manler uma correlagdo entre circuitos reais e 08 exemplos apresentados. Para projtista de circuitos digitais esse vinculo & importante, pois estabelece uma ligagéo entre a estrutura dese- jada e o modo de descrevé-la. No caso de profissionais da érea de programagao, que ntutas vezes desconhiecem ‘as reais possibilidades de implementagio de um circuito, o lo com exemplos reais evita o emprego de cédigos ‘complexos e por domais artficiosos, que nem sempre conduzem a citeuitos possiveis de serem sintetizados, Formato do texto O texto contém figuras, tabelas e quadros de eédigo. A numeragio das figuras, tabelas ¢ quadros identifica a secdo a que se referem. A figura que segue ilustra dois tos de quacros utilizados. No exemplo & esquerda da figura, oquadro contém apenas uma parcela de um cédigo. O quado a direite, dividido em cas regies, lustre ‘um eédigo completo de uma descricdo. A frea contendo a numeragao de linhas ¢ utilizada apenas para referén- cia no texto; ela nfo deve ser inserida no o6digo, Deve-se observar que & dada preferéncia a caracteres alfam- éricos pertencentes ao cédigo ASCII nos quadros, e, portanto, a grafia de algumas palavras nessa area pode estar incorreta. ‘Os termos em inglés foram, em sua maioria, vetidos para o portugués e podem ser encontrados no indice. rea de cbdlgo: ‘somanis caracteres ASCII ZL rea para numeragéo do inhas: ‘lo pertence so abdigo rea de cécigo: 2 [MRE TS sos we ome ‘coments ceracteres ASC 2 ae ae \ ifn’ ‘Quadie 0.12 Segment de um obdige ‘Guadkro a.i.t Example do ums cédigo completo -Exemplos de quadros contendo eéuigos de descrigbes. Preficio Contetido dos capitulos (© Capitulo 1 tem como objetivo apresentar um breve histérico da linguagem ¢ 08 passos envolvidos na sintese de um circuito digital. As etapas de uma sintese so, normalmente, dependentes das ferramentas utilizadas, Pro- ccuremos apresentar uma visSo que englobe, de una maneira mais ampla, os possiveis passos envolvidos. Como neste capitulo sf0 abordadas as etapas de um projeto, ¢ devido & falta de elementos necesséios para deseavolver ‘uma descricdo, as atividades podem ser complementadas com o aprendizado das ferramentas que scr8o utiliza- das, Descrigdes completas sfio oferecidas, ¢ todo o processo de compilacio, simulagdo, sintese ¢ programacio dde uma FPGA, pode set visto. ‘No Capitulo 2 so introduzidos os primeiros conceitos da linguagem, como tipos ¢ operadores prodefinidos, ‘Novamente, os exemplos ¢ exercicios visam sedimentar 0 conhecimento das ferramentas utilizadas empregan- do.0s conceitos vistos. Uma breve explicagio sobre a definigio de tipo é apresentada. Ela é suficiente para os capitalos seguintes. ‘Os Capituls 3 e4 apresentam alguns comandos concorrentes e seqienciais que perinitem elaborar descrigbes de complexidade mediana. Como a linguagem VDL fornece diversas altemnativas para descrever 0 comporta- ‘mento de um mesmo circuito, muitas das construgdes abordadas tem a sua operagio exemplificada através de um ‘mesmo circuito, Isso evita a exposigio de um novo circuito a cada novo comando c enfatiza as miltiplas opsBes para a descrigio. Os exercicios propostos procuram confrontar essas opgSes, com o objetivo de evitar que uma determinada construgio figue assotiada a um tipo de citeuito. 'No Capitulo 5 sto dados os conceitos de atraso, varidve e aributos. Alguns t6picos podem ser omitides ou resurnidos, permitindo que esse capitulo scja inscrido em unt outra capitulo. A descrigio de todos 08 atributos & tun pouce tediosa, ¢ pode ser abordada rapidamente. Atributos como" event” ¢ “ stable " iio devem ser omiti- dos, devido a suas aplicagdes na sintese de circuitos seqiienciais ‘© Capitulo 6 contém as principais estratégias para descrigio de citcuitos seqienciais visando & sintese. Repis- ttadores, maquinas de estado ¢ a inicializagao desses elementos so discutidos, No final desse capitulo, & poss vel realizar a descricao de circuitos com complexidade média para alta, pois muitos dos tépicos importantes da linguagem ja foram abordados. ‘No Capitulo 7 as possibilidades de um projeto sao estendidas: estruturas hieranquicas, © esquemas de terago ‘que permitem gerar citcuitos regulares so apresentados. A hierarquia & constituida de descriodes que sto refe- renciadas na forma de componentes. Os esqucmas de gerago ¢ iteracdo por laco permitera, ainda, a proposta de descrigées escalaveis, onde o tamanho do circuito pode ser programado no momento da sintese. Os exercicios propostos abordam estruturas regulares, como somadores e muttiplicadores celulares, onde é necessiria a inter ligagdo de diversos citcuitos em um modo preestabelecido. ‘© Capitulo 8 aborda os subprogramas fungio e procedimento. Ainda nesse capftulo, é estabelecido um paratelo ‘entre a criagio de cireuitos empregando componente, vista no capitulo anterior, e a criagdo de circuitos empre- ‘gando subprogramas. Sito abordadas, também, outras operacdes de subprogramas, como fingdes de conversa e sobrecarregamento de fungcs prodefinidas. ‘0 Capitulo 9 fomece subsidios para os tépicos a serem abordados no capitulo que segue, discutindo biblioteces pacotes. Esse capitulo tem a possibilidade de sor condensado, se necessério, Varios dos conceitos abordados podem ser apresentados nos Capitulos 10 © 11, onde so discutidos dois paeotes padronizados pelo IEEE. Os exercicios propostos so interessantes, endo vidvel adapt-tos, caso todos os eonceitos do capitulo no term sido abordados. O conjunto de exercicins leva & criagdo de um circuito que realiza uma operacso de divisfo. (Os Capitulos 10 e 11 sio imprescindiveis para a sintese de cireuitos que envolyam barramentos e portas com saida om estado de olta impedincia. Esses capitilos, podem ser apresentados logo apés 0 Capitulo 6 ou 7, con- forme a necessidade. Naturalmente, uma breve mengao dos conceitos de pacotes e bibliotecas € nevesséria, caso ‘0 Capitulo 9 vena a ser omitido. ‘No Capitulo 12 & abordada a criagio de novos tipos, ampliando os conceitos vistos no Capitulo 2. Com relagHo 4 sintese, € apresentada a desorigio de memsrias RAM € ROM empregando os noves conceitos introduzidos. O ‘Capitulo 13 continua a abordagem da definicdo de tipos, com a spresemtago do tipo arquivo. Esee tipo permite a operagio com arquivos no sistema hospedeiro. A discussti englaba arquivos no formato binério e no formato texto. Também so abordadas as diferencas entre as verses VHDI-1987 e VEDL-1993. ‘No Capitulo 14 so apresentados comandos que permite gerar mensagens ua fase de simulagiio, condicio- nar & execugio de um comando em funeio do término das iteragSes que ocorrem na simulagdo de comandos concorrentes, e configurar descrigdes estruturais. A criago de fingbes de resoluctio &, também, discutida. O Capitulo 15 contém uma série de técnicas para o teste de descrigdes empregando 08 conceitos abordados nos Capitulos 13 © 14,

Você também pode gostar