Conteúdo dos capítulos

O Capítulo 1 tem como objetivo apresentar um breve histórico da linguagem e os passos envolvidos na síntese de um circuito digital. As etapas de uma síntese são, normalmente, dependentes das fer-ramentas utilizadas. Procuramos apresentar uma visão que englobe, de uma maneira mais ampla, os possíveis passos envolvidos. Como neste capítulo são abordadas as etapas de um projeto, e devido à falta de elementos necessários para desenvolver uma descrição, as atividades podem ser comple-mentadas com o aprendizado das ferramentas que serão utilizadas. Descrições completas são ofe-recidas, e todo o processo de compilação, simulação, síntese e programação de uma FPGA, pode ser visto.

No Capítulo 2 são introduzidos os primeiros conceitos da linguagem, como tipos e operadores predefinidos. Novamente, os exemplos e exercícios visam sedimentar o conhecimento das ferramen-tas utilizadas empregando os conceitos vistos. Uma breve explicação sobre a definição de tipo é a-presentada. Ela é suficiente para os capítulos seguintes.

Os Capítulos 3 e 4 apresentam alguns comandos concorrentes e seqüenciais que permitem elabo-rar descrições de complexidade mediana. Como a linguagem VHDL fornece diversas alternativas pa-ra descrever o comportamento de um mesmo circuito, muitas das construções abordadas têm a sua operação exemplificada através de um mesmo circuito. Isso evita a exposição de um novo circuito a cada novo comando e enfatiza as múltiplas opções para a descrição. Os exercícios propostos procu-ram confrontar essas opções, com o objetivo de evitar que uma determinada construção fique asso-ciada a um tipo de circuito.

No Capítulo 5 são dados os conceitos de atraso, variável e atributos. Alguns tópicos podem ser omitidos ou resumidos, permitindo que esse capítulo seja inserido em um outro capítulo. A descrição de todos os atributos é um pouco tediosa, e pode ser abordada rapidamente. Atributos como “ event ” e “ stable ” não devem ser omitidos, devido a suas aplicações na síntese de circuitos seqüenciais.

O Capítulo 6 contém as principais estratégias para descrição de circuitos seqüenciais visando à síntese. Registradores, máquinas de estado e a inicialização desses elementos são discutidos. No fi-nal desse capítulo, é possível realizar a descrição de circuitos com complexidade média para alta, pois muitos dos tópicos importantes da linguagem já foram abordados.

No Capítulo 7 as possibilidades de um projeto são estendidas: estruturas hierárquicas, e esque-mas de iteração que permitem gerar circuitos regulares são apresentados. A hierarquia é constituída de descrições que são referenciadas na forma de componentes. Os esquemas de geração e iteração por laço permitem, ainda, a proposta de descrições escaláveis, onde o tamanho do circuito pode ser programado no momento da síntese. Os exercícios propostos abordam estruturas regulares, como somadores e multiplicadores celulares, onde é necessária a interligação de diversos circuitos em um modo preestabelecido.

O Capítulo 8 aborda os subprogramas função e procedimento. Ainda nesse capítulo, é estabeleci-do um paralelo entre a criação de circuitos empregando componente, vista no capítulo anterior, e a criação de circuitos empregando subprogramas. São abordadas, também, outras operações de sub-programas, como funções de conversão e sobrecarregamento de funções predefinidas.

O Capítulo 9 fornece subsídios para os tópicos a serem abordados no capítulo que segue, discu-tindo bibliotecas e pacotes. Esse capítulo tem a possibilidade de ser condensado, se necessário. Vá-rios dos conceitos abordados podem ser apresentados nos Capítulos 10 e 11, onde são discutidos dois pacotes padronizados pelo IEEE. Os exercícios propostos são interessantes, sendo viável adap-tá-los, caso todos os conceitos do capítulo não tenham sido abordados. O conjunto de exercícios le-va à criação de um circuito que realiza uma operação de divisão.

Os Capítulos 10 e 11 são imprescindíveis para a síntese de circuitos que envolvam barramentos e portas com saída em estado de alta impedância. Esses capítulos, podem ser apresentados logo após o Capítulo 6 ou 7, conforme a necessidade. Naturalmente, uma breve menção dos conceitos de pa-cotes e bibliotecas é necessária, caso o Capítulo 9 venha a ser omitido.

No Capítulo 12 é abordada a criação de novos tipos, ampliando os conceitos vistos no Capítulo 2. Com relação à síntese, é apresentada a descrição de memórias RAM e ROM empregando os novos conceitos introduzidos. O Capítulo 13 continua a abordagem da definição de tipos, com a apresenta-ção do tipo arquivo. Esse tipo permite a operação com arquivos no sistema hospedeiro. A discussão engloba arquivos no formato binário e no formato texto. Também são abordadas as diferenças entre as versões VHDL-1987 e VHDL-1993.

No Capítulo 14 são apresentados comandos que permitem gerar mensagens na fase de simula-ção, condicionar a execução de um comando em função do término das iterações que ocorrem na simulação de comandos concorrentes, e configurar descrições estruturais. A criação de funções de resolução é, também, discutida. O Capítulo 15 contém uma série de técnicas para o teste de descri-ções empregando os conceitos abordados nos Capítulos 13 e 14.

Os capítulos 16 e 17 contêm exemplos de aplicação da linguagem. No capítulo 16 são apresenta-dos os passos para elaboração de um código VHDL sintetizável a partir de um algoritmo  descrito por um pseudocódigo. No capítulo 17 são analisadas as considerações para descrição VHDL de micro-processador didático. O código completo do microprocessador está disponível no apêndice .



Sugestões para leitura e proposta de curso

Uma opção natural para a leitura do texto, bem como uma proposta de um curso sobre a linguagem, é a adoção da seqüência de capítulos apresentada no texto. Entretanto, nem sempre o leitor ou o instrutor dispõem de tempo suficiente, ou necessitam de todos os tópicos apresentados. Na figura que segue são sugeridas alternativas para o estudo, procurando selecionar itens de interesse específico, de modo a melhor atender uma determinada necessidade e reduzir o tempo necessário.

sequencia.gif

capa_2ed
segunda edição

Capa_1ed
primeira edição





Fotos: Arquivo FUMDHAM
Parque Nacional Serra da Capivara
Patrimonio Cultural da Humanidade - UNESCO