Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Desvinculando a Realidade: A Importância da Abstração em Sistemas Digitais, Manuais, Projetos, Pesquisas de Eletrônica

Este documento discute a importância da abstração em sistemas digitais, enfatizando a necessidade de ordenar o processo de projeto de sistemas digitais. Ele aborda as formas de representação de sistemas sequenciais e a importância de técnicas de complexidade para variar a qualidade de algoritmos e estruturas de dados. O texto também cita exemplos de técnicas como diagramas de decisão binária reduzidos e bases de conhecimento.

Tipologia: Manuais, Projetos, Pesquisas

2012

Compartilhado em 14/08/2012

salvador-a-salvador-12
salvador-a-salvador-12 🇧🇷

1 documento

1 / 24

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Projeto Logico Automatizado de Sistemas
Digitais Sequenciais
Ney Laert Vilar Calazans
5deJunho de 1998
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Pré-visualização parcial do texto

Baixe Desvinculando a Realidade: A Importância da Abstração em Sistemas Digitais e outras Manuais, Projetos, Pesquisas em PDF para Eletrônica, somente na Docsity!

Pro jeto Logico Automatizado de Sistemas

Digitais Seq uenciais

Ney Laert Vilar Calazans

5 de Junho de 1998

Conte udo

Prefacio vii G^enese do Livro............................. ix P ublico Alvo............................... x Impacto sobre Alunos de Graduac~ao e Pos-graduac~ao..... x Impacto sobre Pro ssionais e Pesquisadores........... x Tratamento do Tema........................... xi Justi cativa de Inclus~ao na Escola de Computac~ao....... xii Pre-conhecimento Requerido...................... xiii Tecnica, Tecnologia, Meto do, Meto dologia............... xiv Estrutura do Volume e Roteiro de Leitura............... xiv Relac~ao com a Bibliogra a da Area................... xvi Contato com o Autor.......................... xvii

Agradecimentos xix

1 Intro duc~ao 1 1.1 De nic~ao de Sistemas Digitais................... 1 1.2 Plano do Captulo......................... 4 1.3 Pro jeto e Fabricac~ao de Sistemas Digitais............ 4 1.4 Sistemas Combinacionais e Seq uenciais.............. 7 1.4.1 Sistemas Digitais e Armazenamento de Informac~ao... 8 1.4.2 Sistemas Digitais e o Conceito de Estado........ 10 1.4.3 De nic~ao de Sistemas Combinacionais e Seq uenciais.. 12 1.5 Taxonomia de Sistemas Digitais.................. 12 1.6 O Pro cesso de Pro jeto de Sistemas Digitais........... 17 1.6.1 Uma Palavra sobre Mo delos................ 18 1.6.2 Mo delos para o Pro cesso de Pro jeto........... 18 1.6.3 Pro jeto, Otimizac~ao e Complexidade........... 28 1.6.4 Fases do Pro jeto de Sistemas Digitais.......... 30 1.7 Pro jeto Auxiliado p or Computador................ 32 1.7.1 Estrutura Geral de Sistemas de cad Eletr^onico..... 32

i

 - 1.7.2 cad Acad^emico versus cad Comercial 
  • 1.8 Escop o da Obra
  • 1.9 Conclus~oes do Captulo
  • 1.10 Persp ectiva Historica e Bibliogra a
  • 1.11 Resumo do Captulo
  • 2 Fundamentac~ao Teorica
    • 2.1 Estruturas Algebricas, Grafos e Func~oes
      • 2.1.1 Relac~oes Binarias
      • 2.1.2 Grafos
      • 2.1.3 Reticulados e Algebras Bo oleanas
      • 2.1.4 Func~oes discretas
    • 2.2 Representac~oes de Func~oes Discretas
      • 2.2.1 Representac~oes C ubicas de Func~oes Discretas
      • 2.2.2 Diagramas de Decis~ao Binaria
      • 2.2.3 Formas Implcitas de Representac~ao
    • 2.3 Analise de Complexidade de Algoritmos
      • 2.3.1 Crescimento Assintotico de Func~oes
      • 2.3.2 Classes de Complexidade de Problemas
    • 2.4 Problemas Formais
      • 2.4.1 Problemas de Grafos
      • 2.4.2 Problemas de Algebra Bo oleana
    • 2.5 Conclus~oes do Captulo
    • 2.6 Persp ectiva Historica e Bibliogra a
    • 2.7 Resumo do Captulo
  • 3 Representac~ao Seq uencial
    • 3.1 Um Estudo de Caso de Sistema Seq uencial
    • 3.2 Mo delos Seq uenciais
      • 3.2.1 Mo delos Para o Comp ortamento Interno
      • 3.2.2 Mo delo Geral
    • 3.3 Representac~oes Sncronas
    • 3.4 Representac~oes Assncronas
      • 3.4.1 Estados em Sistemas Digitais Assncronos
      • 3.4.2 afts e astgs
      • 3.4.3 Uma Implementac~ao Assncrona
    • 3.5 Conclus~oes do Captulo
    • 3.6 Persp ectiva Historica e Bibliogra a
    • 3.7 Resumo do Captulo
  • 4 Sntese Sncrona
    • 4.1 Minimizac~ao de Estados
      • 4.1.1 De nic~ao de Minimizac~ao de Estados
      • 4.1.2 Enunciado do Problema de Minimizac~ao de Estados
      • 4.1.3 Restric~oes de Compatibilidade e Incompatibilidade
      • 4.1.4 Restric~oes de Cob ertura
      • 4.1.5 Restric~oes de Fechamento
      • 4.1.6 Gerac~ao das Restric~oes sm
      • 4.1.7 Complexidade da Gerac~ao de Restric~oes sm
      • 4.1.8 Algoritmo de Minimizac~ao de Estados para isfsms
    • 4.2 Problemas de Co di cac~ao
      • 4.2.1 Os Problemas de Co di cac~ao em fsms
      • 4.2.2 Restric~oes de Entrada
      • 4.2.3 Restric~oes de Sada
      • 4.2.4 Complexidade de Gerac~ao de Restric~oes sa
    • 4.3 Pseudo-Dicotomias
      • 4.3.1 A De nic~ao de Pseudo-Dicotomia
      • 4.3.2 Pseudo-Dicotomias e Co di cac~ao
    • 4.4 Pseudo-Dicotomias e Restric~oes
      • 4.4.1 Representando Restric~oes com Pseudo-dicotomias
      • 4.4.2 O Arcab ouco de Pseudo-Dicotomias
    • 4.5 Problema Co di cac~ao Bo oleana Restrita
      • 4.5.1 Co di cac~ao Bo oleana Restrita - Enunciado
      • 4.5.2 O Problema sm/sa Dois Nveis - Enunciado
      • 4.5.3 Soluc~oes para Problemas de Co di cac~ao Restrita
    • 4.6 O Meto do asstuce
      • 4.6.1 A Primeira Iterac~ao
      • 4.6.2 As Iterac~oes Subseq uentes
      • 4.6.3 Discuss~ao do Meto do asstuce
    • 4.7 Conclus~oes do Captulo
    • 4.8 Persp ectiva Historica e Bibliogra a
    • 4.9 Resumo do Captulo
  • 5 Sntese Assncrona
    • 5.1 Sncronos: Vantagens e Inconvenientes
    • 5.2 Assncronos: Mo delos e Problemas
      • 5.2.1 Mo delagem da Representac~ao de Informac~ao
      • 5.2.2 Mo delagem do Ambiente
      • 5.2.3 Mo delagem de Fen^omenos Temp orais
      • 5.2.4 Problemas Temp orais
    • 5.3 Taxonomia Assncronas
      • 5.3.1 Uma Prop osta de Criterios e Classi cac~oes
    • 5.4 Caracterizac~ao de Transitorios
    • 5.5 Um Estilo de Pro jeto Assncrono Mo derno
      • 5.5.1 Pressup ostos do Estilo Micropip eline
      • 5.5.2 Implementac~ao de Controle em Micropip elines
      • 5.5.3 Estrutura de Sistemas Digitais Micropip eline
    • 5.6 Conclus~oes do Captulo
    • 5.7 Persp ectiva Historica e Bibliogra a
    • 5.8 Resumo do Captulo
  • 6 Analise Seq uencial
    • 6.1 Mo delo de Analise de Sistemas Digitais
      • 6.1.1 Analise Abstrata
      • 6.1.2 Analise Concreta
      • 6.1.3 Relac~ao Entre as Classes de Tarefas de Analise
    • 6.2 Veri cac~ao de Inclus~ao de Linguagem
      • 6.2.1 Aut^omatos! -Regulares
      • 6.2.2 Veri cac~ao Formal com Aut^omatos-L
      • 6.2.3 Inclus~ao de Linguagem! -Regular
    • 6.3 Conclus~oes do Captulo
    • 6.4 Persp ectiva Historica e Bibliogra a
    • 6.5 Resumo do Captulo
  • Bibliogra a
  • Indice Remissivo
  • 1.1 Mo delo generico de sistema digital. Lista de Figuras
  • 1.2 Engenharia de Sistemas vlsi.
  • 1.3 Porta logica E.
  • 1.4 Tr^es circuitos que transitoriamente amazenam informac~ao.
  • 1.5 Circuito combinacional com laco de realimentac~ao.
  • 1.6 Uma taxonomia para ics.
  • 1.7 O mo delo de Suzim.
  • 1.8 O diagrama Y ou mo delo de Ga jski-Kuhn.
  • 1.9 Exemplo de pro cesso de pro jeto representado com o diagrama Y.
  • 1.10 O mo delo de Medland para o pro cesso de pro jeto.
  • 1.11 O mo delo de Medland como um pro cesso de pro jeto iterativo.
  • 1.12 Fases do pro jeto de sistemas digitais e o diagrama Y.
  • 1.13 Estrutura geral de um sistema de cad eletr^onico.
  • 2.1 Tr^es diagramas de Hasse para o Exemplo 2.3.
  • 2.2 Exemplos de grafos.
  • 2.3 Diagrama de Hasse para o Exemplo 2.6.
  • 2.4 Esquemas simbolico e cub o p osicional para func~oes discretas.
  • 2.5 Comp ortamento de func~oes usando esquemas mistos.
  • 2.6 Tr^es bdds representando a func~ao f (a; b; c) = a _ (b ^ c).
  • 2.7 Um meta-pro duto de uma disjunc~ao de cub os.
  • 2.8 Exemplo de limites assintoticos para uma func~ao.
  • 2.9 Relac~ao entre as classes de complexidade de problemas.
  • 3.1 Mo delos para sistemas de transic~ao de estados nitos.
  • 3.2 Diagrama de blo cos do controle de trafego.
  • 3.3 fsm do controle de trafego.
  • 3.4 Representac~ao de fsms sncrona e assncronas.
  • 3.5 Esp eci cac~ao sncrona de problema.
  • 3.6 Implementac~ao sncrona de um sistema digital.
  • 3.7 Exemplos de diferentes tip os de aft.
  • 3.8 astg e a rede de Petri sub jacente.
  • 4.1 Tab elas de compatibilidade inicial e nal.
  • 4.2 Grafos de junc~ao e de compatibilidade.
  • 4.3 Algoritmo de compatveis primos.
  • 4.4 Restric~oes de entrada em fsms.
  • 4.5 Minimizac~ao de tab elas de cub os.
  • 4.6 Co di cac~oes e minimizac~ao de tab elas de cub os.
  • 4.7 Tab elas de cub os e restric~oes de domin^ancia.
  • 4.8 Tab elas de cub os e restric~oes disjuntivas.
  • 4.9 Co di cac~ao de estados e pla nal para fsm lion9.
  • 4.10 stt e restric~oes de entrada para a fsm A.
  • 5.1 Um diagrama de blo cos tpico de um sistema sncrono.
  • 5.2 Temp o de hold e setup: de nic~ao e violac~ao.
  • 5.3 Escorregamento do sinal de relogio.
  • 5.4 Portas logicas trilha simples e trilha dupla.
  • 5.5 Porta logica XOR, o OU da logica de eventos.
  • 5.6 Proto colos de comunicac~ao assncronos.
  • 5.7 Diagrama de temp os para um mo delo de inversor com atraso.
  • 5.8 Mo delo fsico de um inversor.
  • 5.9 Comparac~ao de atrasos inerciais inteiros binario e ternario.
  • 5.10 Mo delos de distribuic~ao de atrasos em circuitos assncronos.
  • 5.11 Exemplo de corrida.
  • 5.12 Exemplo de transitorio.
  • 5.13 Elemento-C, o E da logica de eventos.
  • 5.14 Outros op eradores da logica de eventos.
  • 5.15 Elemento de memoria controlado p or eventos.
  • 5.16 A estrutura de controle basica em micropip elines.
  • 5.17 Estrutura geral de uma implementac~ao micropip eline.
  • 6.1 Hierarquia de atividades de analise.
  • 6.2 Simulac~ao e veri cac~ao comparadas.
  • 6.3 Arquitetura de um sistema de emulac~ao.
  • 6.4 Relac~ao entre diferentes tip os de tarefas de analise.
  • 6.5 Exemplo de aut^omato! -regular.
  • 6.6 Primeiro exemplo de aut^omato-L.
  • 6.7 Aut^omato-L para in nitas o corr^encias de \Bach".
  • 6.8 Ilustrac~ao das op erac~oes lim (L) e L!
  • 6.9 Aut^omatos que aceitam lim (L) e L!
  • 6.10 Um exemplo de aut^omato pro duto.
  • 6.11 Pro cedimento inclus ao~ de linguagem.
  • 6.12 Ilustrac~ao de n~ao-inclus~ao no conjunto ciclo.
  • 6.13 Teste de inclus~ao de linguagem sobre aut^omato pro duto.
  • 2.1 Tab ela-verdade para o Exemplo 2.7. Lista de Tab elas
  • 2.2 Tr^es tab elas c ubicas para o Exemplo 2.7.
  • 2.3 Conjunc~ao comp onente a comp onente de cub os.
  • 2.4 Op erac~ao sup ercub o comp onente a comp onente.
  • 2.5 Valores para crescimento assintotico de func~oes.
  • 2.6 Temp o de execuc~ao de algoritmos em maquina de 100 mips.
  • 3.1 Exemplos de express~oes e linguagens regulares.
  • 3.2 aft parcial, sem tra co na Picada do Mato.
  • 3.3 aft primitiva nal para cruzamento da BR 2000.
  • 3.4 aft nal reduzida para cruzamento da BR 2000.
  • 4.1 Tab ela de transic~ao de estados.
  • 4.2 Compatveis primos para o exemplo 4.1.
  • 4.3 Tab ela de transic~ao de estados minimizada.
  • 4.4 Tab ela de transic~ao da fsm beecount.
  • 4.5 stt para a maquina lion9.
  • 4.6 Regras para de nir os elementos eij da matriz avaliac~ao E
  • 5.1 Co di cac~ao dupla trilha com conjuntos de dados alternantes.
  • 6.1 Meto dos de prova empregados em veri cac~ao formal.

Prefacio

G^enese do Livro

Esta obra, como tantas outras, surgiu da insatisfac~ao, b em como das necessi- dades geradas p or esta. A insatisfac~ao derivou entre outras raz~oes, da baixa disp onibilidade de livros em p ortugu^es sobre o tema pro jeto de sistemas digi- tais. Entenda-se aqui que se trata da disp onibilidade de livros que contemplem o estado da arte no assunto. Quando se ministra cursos a nvel de graduac~ao e pos-graduac~ao, raramen- te o do cente se contenta em seguir passo a passo um livro-texto p or melhor que este seja, esp ecialmente se o assunto coincide com suas areas de atuac~ao em p esquisa. Ele acaba p or complementar o curso com outras obras, artigos, exerccios ou sua vis~ao p essoal do tema. A inexist^encia de uma obra que aten- da a vis~ao p essoal do assunto p elo autor constituiu um segundo motivo de insatisfac~ao. Assuntos como pro jeto de sistemas digitais apresentam um grau de dina- mismo tamanho que p ouco temp o se passa antes de uma tecnica de pro jeto recem prop osta ser melhorada, ou mesmo sup erada p or outra mais rapida, mais econ^omica ou amb os. Como tal, a panoplia de tecnicas disp onveis sup e- ra amplamente o que se p o de de nir, analisar e comparar em uma unica obra. Assim, esta obra, como qualquer outra da area, n~ao p o de alegar cobrir to das as tecnicas de pro jeto, ou mesmo um conjunto abrangente destas. O livro presen- te e uma vis~ao particular da area, com esp eranca de constituir um panorama signi cativo do estado da arte em pro jeto de sistemas digitais seq uenciais. A disciplina de pro jeto logico encontra-se ho je rmemente estab elecida em currculos de graduac~ao no contexto nacional, seja de cursos de Ci^encia da Com- putac~ao e Informatica, seja de cursos de Engenharia Eletrica e da Computac~ao. Contudo, a ^enfase e, ainda ho je, freq uentemente colo cada no aprendizado de tecnicas manuais de pro jeto, insu cientes e, no mais das vezes, inadequadas para servir de base a discuss~ao dos problemas de pro jeto de sistemas vlsi. Vis- to que estes ultimos s~ao o blo co construtivo basico de sistemas computacionais mo dernos, e que de sua compreens~ao dep ende a melhor explorac~ao dos recursos

ix

destes sistemas, vale a p ena salientar aqui a necessidade de mudanca na forma de ab ordar o pro cesso de pro jeto de sistemas digitais. As tecnicas de pro jeto logico automatizado p ossuem uma longa historia. Por exemplo, meto dos de otimizac~ao combinacional e seq uencial automatizados foram prop ostos desde a decada de 50 [132, 150 ]. O advento de sistemas vlsi fomentou o uso amplo e a evoluc~ao de tais meto dos ap enas a partir de meados da decada de 80, quando a e ci^encia computacional dos mesmos aumentou sobremaneira [22, 23 , 62 , 69 ]. Mesmo em vista deste ultimo fato, nos parece injusti cado que mesmo livros- texto empregados de forma ampla em cursos de graduac~ao, tais como as obras de Hayes e Mano [95, 127 ] n~ao contemplem a discuss~ao, nem sup er cial, das tecnicas mo dernas de pro jeto, principalmente se considerarmos que ja existem livros que enderecam o tema adequadamente, tais como o de Hill e Peterson [98].

P ublico Alvo

Impacto sobre Alunos de Graduac~ao e Pos-graduac~ao

Um dos ob jetivos do livro e exp or o p ublico alvo oriundo de cursos de gra- duac~ao, talvez p ela primeira vez, ao corp o de meto dos e representac~oes de pro jeto logico seq uencial automatizado em uso corrente, junto a alguns desen- volvimentos recentes da area. Do p onto de vista do p ublico oriundo de cursos de pos-graduac~ao, enxerga- mos uma car^encia freq uente no corp o discente novato em p esquisa na area de pro jeto de sistema digitais: a p ouca familiaridade com a quanti cac~ao da e - ci^encia de meto dos e formas de representac~ao empregadas. Este livro salienta o qu~ao imprescindvel e o uso de tecnicas de analise de complexidade para ava- liar a qualidade dos algoritmos e estruturas de dados, ou seja, das resp ectivas implementac~oes de meto dos e formas de representac~ao.

Impacto sobre Pro ssionais e Pesquisadores

As tecnicas e meto dos a serem discutidos no livro, conquanto desenvolvidas primordialmente para atender necessidades esp ec cas em pro jeto logico auto- matizado de sistemas digitais, p ossuem camp o de aplicac~ao em outros domnios. Por exemplo, a formulac~ao dada a problemas de co di cac~ao Bo oleana [41] no livro e geral, e ja foi aplicada ao pro jeto fsico, b em como a varios subpro- blemas distintos de pro jeto logico combinacional e seq uencial. Diagramas de decis~ao binaria reduzidos e ordenados (do ingl^es, reduced ordered binary deci- sion diagrams ou robdds), asso ciados as tecnicas implcitas de representac~ao, causaram um grande impacto nos ultimos anos p elo aumento, em varias ordens de grandeza, do tamanho maximo de problemas sol uveis p or computador.

x

Na presente obra, optamos p or investigar em detalhe um n umero limitado de asp ectos esp ec cos do tema. Em particular, optamos p or colo car a ^enfase prin- cipal em meto dos de sntese seq uencial e alguma ^enfase em meto dos de analise, concentrando-nos em asp ectos de veri cac~ao formal. Refer^encias extensas para ab ordagens complementares ou distintas s~ao includas, visando p ermitir uma explorac~ao mais ampla do esp ectro de tecnicas de pro jeto logico seq uencial existentes.

Justi cativa de Inclus~ao na Escola de Computac~ao

\O pro jeto de sistemas digitais e atribuic~ao de engenheiros eletr^onicos". Esta frase p o de ter sido uma verdade inquestionavel ha ap enas 15 anos atras. Ho je, p elo menos no que diz resp eito a sistemas digitais vlsi, a realidade e bastante distinta. Vejamos alguns fatos da area que d~ao sup orte a esta ultima a rmac~ao. Sistemas mo dernos de pro jeto auxiliado p or computador (Computer Aided Design ou cad) para sistemas digitais vlsi p o dem comp ortar de 150 a 200 programas que manipulam m ultiplas bibliotecas de modulos, o to do integrado atraves de um banco de dados de pro jeto e um sistema de controle do uxo de concepc~ao (formando os chamados cad frameworks). Tais sistemas chegam a ser comercializados p or quantias que excedem US$500.000,00. Ainda assim, nenhum destes sistemas de cad p o de ser classi cado como completo. Cada um dos programas de tal sistema p o de ter sido subpro duto de achados de p esqui- sa recente, do cumentados em dissertac~oes de mestrado ou teses de doutorado. Ap enas a ttulo de exemplo, p o demos citar tr^es teses de doutorado desenvolvi- das nos ultimos anos, to das dedicadas quase que exclusivamente ao problema de co di cac~ao Bo oleana aplicada ao nvel logico de abstrac~ao: o trabalho de Avedillo na Universidade de Sevilha [11], o de Villa, na Universidade de Ber- keley [186], e aquele desenvolvido p elo autor na Universidade de Louvain [40]. E certamente esta lista n~ao e exaustiva, mesmo considerando o curto p ero do considerado e o tema restrito. Como se p o de notar, a complexidade da area de pro jeto vlsi requer uma estreita co op erac~ao entre implementadores de programas de auxlio ao pro jeto e pro jetistas de \hardware". No primeiro grup o, encontra-se p essoal com for- mac~ao em eletr^onica, mas tambem p essoal de Ci^encia da Computac~ao, alem de areas limtrofes, como Engenharia da Computac~ao. No segundo grup o, encontra-se ate mesmo p essoal de Ci^encia da Computac~ao, p or diversos moti- vos, entre os quais p o demos citar:

 a automatizac~ao crescente dos nveis inferiores de pro jeto viabiliza a abs- trac~ao de grande parte dos detalhes eletricos do sistema digital alvo, ha- bilitando ao pro jeto p essoal com formac~ao em construc~ao de algoritmos e treino com ferramentas de pro jeto;

xii

 da mesma forma, o advento de comp onentes p ersonalizaveis vlsi tais co- mo os FPGAs [30], comp ostos de matrizes de celulas descritas sobretudo no nvel logico de abstrac~ao, capacitam a execuc~ao de pro jetos p or parte de leigos em micro eletr^onica e eletr^onica;

 o pro jeto no nvel sist^emico, emb ora ainda a nvel de p esquisa, atinge ho je o p onto de automatizar a implementac~ao integrada de um sistema digital comp osto de software e hardware, exigindo a co op erac~ao entre p essoal de eletr^onica e de computac~ao, seja para a pro duc~ao de programas de auxlio ao pro jeto, seja para o adequado emprego das mesmas na obtenc~ao de um sistema digital o mais otimizado p ossvel;

 os nveis sup eriores de abstrac~ao de pro jeto lidam com primitivas de des- cric~ao tais como las, pilhas e arvores, mais proximas do treinamento de p essoal de computac~ao que daquele do p essoal de eletr^onica, o que e particularmente verdade no contexto de cursos de engenharia no Brasil, em func~ao das caractersticas destes ultimos, como a exist^encia, ate b em p ouco temp o, de um currculo mnimo obrigatorio.

Consideramos que a discuss~ao acima justi ca ser o tema do livro, uma area de aplicac~ao com amplo esp ectro de p ossibilidades de atuac~ao para informatas, tanto quanto para engenheiros. Quanto ao assunto esp ec co do livro, pro jeto logico seq uencial, trata-se de tema amplo, p ois abrange um conjunto signi cativo de meto dos de sntese, otimizac~ao e analise de sistemas digitais no nvel logico de abstrac~ao. O te- ma tambem e atual, como atesta a disp onibilidade de p oucas obras de alta qualidade versando sobre o assunto [90, 7, 66 , 133 , 99 ].

Pre-conhecimento Requerido

O p ublico alvo do livro compreende alunos de graduac~ao e pos-graduac~ao, b em como p esquisadores e pro ssionais. O pre-conhecimento tecnico esp erado para ab ordar os conte udos n~ao e extenso. O programa de uma primeira disciplina de graduac~ao versando sobre logica digital, tal como previsto no currculo de refer^encia da So ciedade Brasileira de Computac~ao (SBC), e su ciente para cobrir os pre-requisitos relacionados a hardware. Com relac~ao a algoritmos e estruturas de dados, o livro pressup~oe alguma exp osic~ao previa ao tema, a nvel intro dutorio. Ou seja, esp era-se que os leitores sejam versados em desenvolvimento de algoritmos e conhecam es- truturas de dados elementares tais como pilhas, las, arvores e listas e algum contato com uma linguagem de programac~ao pro cedural tal como c ou pascal. A familiaridade com princpios de analise de complexidade de algoritmos, tais

xiii

Estrutura do Volume e Roteiro de Leitura

Os conte udos do livro est~ao distribudos em seis captulos. Os tr^es primeiros captulos apresentam a base necessaria para o desenvolvimento do tema da obra nos tr^es captulos nais. O Captulo 1 inicia com a de nic~ao do tema e o p o- sicionamento deste com relac~ao ao pro cesso de pro duc~ao mo derno de sistemas digitais. Neste, intro duz-se de nic~oes para sistemas combinacinais e seq uen- ciais, apresenta-se uma classi cac~ao geral de sistemas digitais e estuda-se um conjunto de mo delos que p o dem ser empregados para racionalizar e represen- tar o pro cesso de pro jeto de sistemas digitais. O mesmo Captulo ainda sugere uma vis~ao mo derna das fases de pro jeto de sistemas digitais complexos, carac- terizando a disciplina de pro jeto logico como central a discuss~ao subseq uen te. O Captulo conclui discutindo o emprego de sistemas de pro jeto auxiliado p or computador na concepc~ao de sistemas digitais, em vista das fases de pro jeto caracterizadas. Apresentar a fundamentac~ao teorica do tema do livro e pap el do Captulo 2. Grafos, estruturas algebricas e func~oes s~ao os principais fundamentos matema- ticos apresentados. A seguir, discute-se em detalhe um conjunto de formas de representac~ao de func~oes discretas, adequado para manipular representac~oes logicas de sistemas digitais. Estuda-se ent~ao alguns dos problemas teoricos fundamentais, aos quais se p o de reduzir os problemas de sntese e analise de sistemas digitais seq uenciais. Finalmente, intro duz-se os princpios e as no- tac~oes a empregar para a analise dos algoritmos. A primeira parte encerra-se ao caracterizar as principais formas de repre- sentac~ao de sistemas seq uenciais, no Captulo 3, com base nas formas de repre- sentac~ao de func~oes discretas do Captulo 2. A segunda parte da obra particiona os temas segundo dois conceitos orto- gonais: tip os de atividades do pro jeto seq uencial e formas de implementac~ao de sistemas seq uenciais. Os Captulos 4 e 5 tratam das atividades de sntese e otimizac~ao, enquanto que o Captulo 6 lida com a fase de analise. A forma de implementac~ao sncrona e assunto do Captulo 4, enquanto que sistemas assncronos s~ao tratados no Captulo 5. As duas formas de implementac~ao s~ao tratadas em conjunto para as atividades de analise, no Captulo 6. A sntese e otimizac~ao de sistemas digitais sncronos e sem d uvida umas das areas mais desenvolvidas em p esquisa e desenvolvimento na atualidade. Em conseq u^encia, seria muito difcil em uma obra de medio p orte como esta ser su cientemente abrangente a p onto de cobrir o assunto de maneira geral ap enas no Captulo 4. Opta-se ent~ao p or explorar em detalhe um arcab ouco teorico particular para o qual muitos problemas p o dem ser map eados. O arca- b ouco denomina-se Co di cac~ao Bo oleana Restrita, ou bce(do ingl^es, Boolean Constrained Encoding) [40]. Este e o mais longo dos captulos do livro, e junto com o Captulo 2 o que requer maior u^encia teorica para sua compreens~ao. Ao contrario do Captulo 2, os dois ultimos s~ao escritos sob a forma de re-

xv

vis~oes abrangentes de mo delos e do estado da arte nos temas sistemas assncronos e analise de sistemas digitais seq uenciais, resp ectivamente. Alem disto, os Captulos 5 e 6 t^em em comum com o Captulo 2 o fato de cada um deles discutir em detalhe dois meto dos de soluc~ao de problemas tpicos da area res- p ectiva e ampla quantidade de refer^encias onde o leitor p o de ab ordar meto dos adicionais em detalhe. Cada um dos seis captulos p ossui tr^es Sec~oes nais comuns a to dos: Con- clus~oes, Persp ectiva Historica e Bibliogra a, Resumo. Os Captulos 4, 5 e 6 s~ao em tese indep endentes e p o dem assim ser lidos em qualquer ordem. Para leitores a nvel de graduac~ao, os Captulos 1 e 3 s~ao pre- requisitos para a leitura de qualquer dos Captulos da segunda parte do livro, e os conte udos do Captulo 2 s~ao fundamentais para o Captulo 4. Ainda consi- derando p ublico de graduac~ao, o Captulo 3 necessita de alguns conhecimentos teoricos desenvolvidos no Captulo 2, mas o leitor com alguma base em algebra Bo oleana p o de evitar este ultimo em uma primeira leitura, usando seus conhe- cimentos para intuitivamente apreender os conceitos do Captulo 3. Leitores no nvel de pos-graduac~ao, p esquisadores e pro ssionais, se exp erientes em sis- temas digitais, p o dem iniciar a leitura diretamente na segunda parte do Livro, consultando os Captulos 2 e 3 sempre que necessario o esclarecimento ou a de- nic~ao precisa de conceitos. Contudo, aconselha-se a estes leitores avancados a leitura do Captulo 1, para uma vis~ao global do assunto e familiarizac~ao com os mo delos e a terminologia particulares empregados na obra.

Relac~ao com a Bibliogra a da Area

O pro jeto logico combinacional foi tema de livro escrito p elo Prof. Dr. Ri- cardo Jacobi, intitulado Sntese de Circuitos Logicos Combinacionais [110], publicado no contexto da 10 a^ Escola de Computac~ao, realizada em 1996, p elo DCC-UNICAMP, em Campinas. O livro prop osto aqui e uma obra companhei- ra daquela. Juntos, estes volumes constituem um apanhado amplo da disciplina de pro jeto logico mo derno de sistemas digitais, enderecando sistemas combi- nacionais e seq uenciais, sistemas sncronos e assncronos, sntese e analise de sistemas. Um elemento n~ao tratado em qualquer das obras, devido primordial- mente a quest~oes de espaco e volume dos textos, e o teste de sistemas digitais. Ja foi mencionado antes que o tema de pro jeto logico de sistemas digitais n~ao e ab ordado de forma global em qualquer obra de conhecimento do Autor. Esta inexist^encia e sem d uvida fruto do extenso desenvolvimento presente da area, b em como da relativa juventude das ultimas descob ertas no setor. Cab e tambem mencionar que mesmo limitando a atenc~ao ao pro jeto logico de siste- mas digitais seq uenciais, n~ao seria p ossvel encontrar uma obra su cientemente abrangente para servir de refer^encia unica. No que concerne a sntese de sis- temas sncronos, dois livros p o dem ser citados como tendo servido de base a

xvi