
















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
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
1 / 24
Esta página não é visível na pré-visualização
Não perca as partes importantes!

















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 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
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.
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.
\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