
















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
Os melhores documentos à venda: Trabalhos de alunos formados
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
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
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