Metodologia de Projeto com Dispositivos Programáveis

Tamanho: px
Começar a partir da página:

Download "Metodologia de Projeto com Dispositivos Programáveis"

Transcrição

1 Metodologia de Projeto com Dispositivos Programáveis Versão 2015 RESUMO Esta experiência tem como objetivo a familiarização com uma metodologia de projeto de circuitos digitais com dispositivos programáveis. O projeto de um sistema digital realizado através de uma sequência organizada de etapas é exemplificado através de um circuito exemplo a ser desenvolvido nesta experiência. O circuito é sintetizado em uma placa de desenvolvimento com uma FPGA Cyclone II da Altera. OBJETIVOS Após a conclusão desta experiência, os seguintes tópicos devem ser conhecidos pelos alunos: Familiarização com uma metodologia de projeto de circuitos digitais síncronos; Experimentação em um dispositivo programável; Desenvolvimento estruturado. 1. PARTE TEÓRICA 1.1. Conceituação de um Sistema Digital Atualmente, os sistemas digitais estão amplamente difundidos em (quase) todos os lugares. Temos a presença de sistemas digitais nos celulares que carregamos aonde vamos, no forno de micro-ondas na cozinha de casa ou no escritório, e nos próprios tablets, notebooks ou computadores desktop onde editamos nossos relatórios 1. Outros exemplos mais desconhecidos pelo público leigo 2 incluem os microcontroladores que são responsáveis pelo sistema de controle de tração e pelos freios ABS de um carro moderno ou o sistema de controle dos carros autônomos em desenvolvimento pela Google. Tais sistemas digitais são sistemas complexos e o desenvolvimento desses sistemas envolve uma série de atividades que devem seguir uma metodologia, que contém uma sequência de atividades de forma a tratar esta complexidade de forma sistemática. Um sistema digital (SD) é um sistema com entradas e saídas, como qualquer outro sistema real (fig.1). O fato que diferencia um SD de outros diz respeito ao tipo de dados de entrada e de saída que são manipulados: os dados são digitais, ou seja, são representados por um conjunto finito de sinais binários e discretos. Figura 1 Sistema digital geral. Quando há a necessidade de tratar informações e/ou dados ou gerar sinais de saída em formato analógico, um processo de conversão de sinais deve ser adicionado nas extremidades do SD. Por exemplo, um sinal 1 Ou os planejamentos do Laboratório Digital. 2 Desconhecidos pelo menos para a maioria das pessoas, que não tem conhecimento técnico ou experiência na área de projeto de sistemas digitais. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 1

2 de entrada analógico é convertido para o formato digital com auxílio de um conversor analógico/digital. O processo inverso é realizado por um conversor digital/analógico. A figura 2 ilustra o posicionamento dos conversores de sinais. Figura 2 Conversões entre sinais analógicos e sinais digitais Projeto de Sistemas Digitais Tradicionalmente, um SD era projetado como um sistema único e usando-se componentes discretos SSI e MSI com circuitos integrados TTL [Fregni & Saraiva, 1995] [Morris & Miller, 1978]. O desenvolvimento de circuitos digitais era baseado em um diagrama de circuitos conhecido como captura esquemática (fig.3). Figura 3 Exemplo de projeto de circuito digital com captura esquemática. Com a evolução e o aumento da complexidade de sistemas digitais, esta metodologia tradicional se mostrou limitada e novas estratégias tiveram de ser desenvolvidas. O projeto hierárquico foi uma forma de tratar a complexidade dos circuitos grandes, com a divisão do circuito em blocos ou módulos menores que são projetados em separado e depois interligados para compor o sistema completo (fig.4). Figura 4 Exemplo de projeto hierárquico de sistemas digitais. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 2

3 Cada bloco em um projeto hierárquico é um subprojeto que também possui um diagrama de captura esquemática. Esta hierarquia pode conter vários níveis, até que a complexidade de um bloco seja adequada para um projeto tradicional usando componentes digitais básicos. Apesar da definição de estratégias de particionamento de circuitos como forma de gerenciamento de complexidade, projetistas menos experientes mostravam muita dificuldade para projetar circuitos muito complexos. Esta dificuldade se refere principalmente ao desenvolvimento e depuração de circuitos de controle e de sincronização de seus sinais de controle. Torna-se importante então a aplicação de estratégias específicas para o projeto de circuitos digitais não-triviais. Por exemplo, para o projeto de circuitos de controle, a literatura mostra uma série de ferramentas para a especificação, modelagem e desenvolvimento: diagramas de transição de estados [Wakerly, 2006], statecharts [Harel, 1987] e diagramas ASM [Givone, 2003] [Mano & Kime, 2000], entre outros. Estas ferramentas auxiliam o projetista no desenvolvimento de circuitos sequenciais, facilitando o teste e, depois, a verificação da corretude do circuito projetado. A aplicação de estratégias de auxílio ao projeto de sistemas digitais complexos é independente da forma como o circuito digital é desenvolvido. Antes da década de 1980, a captura esquemática foi muito difundida e ferramentas de software eram utilizadas pelos projetistas para o projeto e documentação, as chamadas ferramentas de CAD (computer-aided design) ou, como é conhecida mais atualmente, de EDA (electronic design automation). Nos anos 80, a utilização de linguagens de descrição de hardware (HDL hardware description language) se difundiu e começou a se tornar uma alternativa para o projeto de circuitos. As padronizações das linguagens VHDL em 1987 (IEEE Standard ) e Verilog em 1995 (IEEE Standard ) permitiram o uso destas linguagens de forma universal, desde a especificação de sistemas até a etapa de síntese de circuitos integrados. As linguagens de descrição de hardware se caracterizam pelo uso de uma descrição textual de sistemas digitais e um conjunto de ferramentas para a análise e síntese de circuitos. A figura 5 abaixo apresenta um trecho da descrição de um processador de 32 bits na linguagem SystemVerilog. Figura 5 Trecho da descrição em linguagem SystemVerilog de um processador de 32 bits. (extraído de [Harris & Harris, 2013]). Atualmente várias outras linguagens de descrição de hardware estão disponíveis, incluindo várias características, inclusive extensões para suporte a sinais analógicos (analog and mixed-signal extensions), como por exemplo, o VHDL-AMS, Verilog-A e Verilog-AMS. Para suporte a projetos em alto nível, ou seja, em nível de sistema (system-level modelling), tem-se a linguagem SystemC (IEEE Standard ). Já a linguagem SystemVerilog (IEEE Standard ) inclui também suporte à verificação de projetos. As seções a seguir apresentam uma metodologia de projeto de sistemas digitais não-triviais com a apresentação de estratégias específicas. Estas estratégias são independentes da forma como o circuito é implementado, seja na forma de esquemáticos ou com uso de HDLs. Para ilustrar os conceitos, é desenvolvido um projeto exemplo. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 3

4 1.3. Particionamento de Sistemas Digitais Para gerenciar a complexidade do projeto de um sistema digital não trivial, convém adotar uma estratégia do tipo dividir para conquistar (divide and conquer), onde um sistema é organizado como um conjunto de subsistemas menores interligados entre si. O projeto de um sistema digital pode ser organizado, em um primeiro nível, particionando o SD em duas partes com funções distintas: o Fluxo de dados (FD) e a Unidade de controle (UC). O fluxo de dados compreende a parte do circuito responsável pela manipulação, processamento, armazenamento e geração de dados. A unidade de controle é responsável pelo sequenciamento das operações executadas no fluxo de dados, de forma a garantir o correto funcionamento do circuito. A figura 6 mostra um diagrama com a estruturação interna detalhada do SD, onde são apresentadas as duas partes principais e os sinais internos para interconexão entre elas. Figura 6 Estruturação interna de um sistema digital. Os sinais de entrada de dados são ligados ao fluxo de dados, que também gera os sinais de saída (de dados). Os sinais de estado (ou sinais de condição) indicam a condição atual dos dados armazenados no fluxo de dados e incluem sinais que apresentam o valor atual de um determinado registrador, a saída de um comparador e a detecção de uma condição em particular. Os sinais de estado do fluxo de dados e os sinais de entrada de controle são os responsáveis pela execução da unidade de controle. Um sinal de entrada de controle é um sinal que aciona a execução de um comando pelo SD (p.ex. uma entrada INICIAR usado para acionar a execução de um sistema). Normalmente a unidade de controle é modelada usando um circuito sequencial através de uma máquina de estados finita. A saída da unidade de controle são sinais de controle para os componentes do fluxo de dados, como por exemplo, a seleção de função de uma ULA, a habilitação de um contador ou a habilitação de um circuito de um banco de registradores. Opcionalmente, a unidade de controle também pode gerar alguns sinais de saída. Por exemplo, é conveniente gerar como saída uma identificação do estado atual da máquina de estados finitos para ser usada para a depuração do circuito. Outro exemplo de sinal de saída de controle é indicar o término da execução de uma operação (sinal FIM). Esta organização de sistemas digitais pode ser aplicada em sistemas embarcados [Flynn & Luk, 2011], como por exemplo, em um sistema de controle automotivo, ou em modernos processadores multicore [Patterson & Hennessy, 2009][Harris & Harris, 2013] Projeto do fluxo de dados O fluxo de dados deve ser projetado como um circuito digital no nível de transferência de registradores. Um sistema é dito estar no nível de transferência de registradores (RTL register transfer level) se as informações fluírem pelo circuito através de componentes de memória ou registro de dados (registradores). À medida que os dados fluem pelo circuito, estes podem ser manipulados por blocos combinatórios implementando uma determinada lógica (fig.7). O circuito descrito na figura 7 é basicamente um circuito sequencial síncrono, onde um sinal global de relógio (clock) gerencia o fluxo de informações pelo sistema digital. O bloco de lógica combinatória pode incluir um circuito com portas lógicas ou outros componentes mais complexos, como, multiplexadores, decodificadores, ULAs, etc. Já os módulos registradores incluem registradores, propriamente ditos, ou simplesmente flip-flops ou ainda registradores de deslocamento. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 4

5 Figura 7 Estrutura de um circuito no nível RTL. A identificação dos componentes do fluxo de dados pode ser feita a partir do algoritmo ou descrição detalhada do funcionamento do circuito digital. A partir da identificação dos componentes (por exemplo, contador), pode-se verificar quais operações são executadas por estes componentes (por exemplo, zerar, incrementar, reiniciar, carregar novo valor, etc). Um circuito no nível RTL é estruturado como um conjunto de caminhos para o fluxo de informações pelo sistema digital completo. A ordenação correta e o processamento específico são determinados pela unidade de controle que aciona os sinais de controle dos vários componentes combinatórios do fluxo de dados (por exemplo, função da ULA) e também dos elementos registradores (por exemplo, habilitação da saída tristate de um registrador). Os recursos disponíveis no fluxo de dados implementam funções diferentes no hardware [de Micheli, 1994], que podem ser classificados em: Os recursos funcionais processam dados. Eles implementam funções aritméticas ou lógicas e podem ser agrupadas em duas subclasses. A primeira são os recursos primitivos que foram projetados cuidadosamente uma vez e usados frequentemente. São exemplos desta classe as unidades lógicas e aritméticas e as funções lógicas padrão, como os codificadores e decodificadores. A segunda classe inclui recursos específicos da aplicação, pois incorporam circuitos que executam uma tarefa particular. Um exemplo desta classe é o circuito de tratamento de interrupções de um processador. Os recursos de memória armazenam dados. São exemplos os registradores e as memórias EPROM e RAM. O requisito para armazenar informação é importante no sequenciamento de operações de um sistema digital. Os recursos de interface realizam a transferência de dados. Estes recursos incluem as vias de dados e os multiplexadores que compõem um meio de comunicação essencial em um fluxo de dados. Interfaces com circuitos externos incluem ainda pinos de E/S e circuitos de interfaceamento Projeto da unidade de controle A unidade de controle deve organizar o funcionamento correto do sistema digital garantindo o correto sequenciamento de operações realizadas pelo fluxo de dados. Uma forma para desenvolver a unidade de controle é a partir de um diagrama de transição de estados ou do diagrama ASM correspondente. Uma forma de implementação da unidade de controle é projetar o circuito que implementa o diagrama de transição de estados. A figura 8 ilustra com um exemplo. Figura 8 Diagrama de transição de estados de uma unidade de controle. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 5

6 1.4. Etapas da Metodologia de Projeto de Sistemas Digitais A metodologia de projeto de sistemas digitais não triviais proposto neste documento possui sete etapas: 1. Escrever uma descrição verbal do sistema; 2. Desenvolver um pseudo-código do funcionamento; 3. Elaborar um diagrama ASM de alto nível; 4. Selecionar os elementos do fluxo de dados para as operações; 5. Identificar sinais de estado e de controle do fluxo de dados; 6. Verificar conexão do fluxo de dados e da unidade de controle; 7. Elaborar diagrama ASM da unidade de controle. O desenvolvimento do projeto inicia com a escrita da especificação do sistema digital, através de uma descrição verbal do sistema. Esta descrição em linguagem natural deve apresentar as funcionalidades a serem implementadas e possíveis restrições. A leitura e interpretação da descrição verbal do sistema são usadas para a geração de uma forma algorítmica do funcionamento do sistema. Assim, na segunda etapa, gera-se um pseudo-código com o algoritmo do sistema digital. Este pseudo-código usa os comandos básicos usados na descrição de algoritmos, como comandos em sequência, comandos de decisão, comparações e estruturas em laço. Devese evitar o uso de estruturas complexas como o uso de recursão. Em seguida, a partir do pseudo-código obtido, a metodologia gera um diagrama abstrato que modela o comportamento descrito. Este diagrama, chamado diagrama ASM de alto nível, contém os elementos de um diagrama ASM convencional, mas inclui comandos e testes em linguagem natural. Esta etapa visa gerar uma primeira descrição mais formal ou abstrata do sistema em desenvolvimento. De posse do pseudo-código e do diagrama ASM de alto nível, é possível identificar os principais elementos do fluxo de dados. As variáveis identificadas no algoritmo podem ser implementadas usando registradores. As operações sobre estas variáveis podem ser projetadas com unidades funcionais combinatórias, como somadores, ULAs, codificadores ou outro circuito combinatório específico. As trocas de informações entre variáveis formam o sistema de transferência de dados descrito na seção Este sistema pode ser realizado como uma via de dados tri-state ou por um sistema de transferência de dados com uma rede de multiplexadores. A quinta etapa pode ser executada pela definição dos sinais de controle que acionam os elementos do fluxo de dados. Por exemplo, a saída de um multiplexador depende do valor de sua entrada de seleção e uma ULA depende das entradas de seleção de função. Um registrador de deslocamento pode precisar de vários sinais de controle para zerar seu conteúdo, deslocar os bits para a direita e carregar outro valor pelas entradas paralelas. Os sinais de estado são identificados pelos blocos de decisão do diagrama ASM. Assim, bits de um registrador podem ser usados para verificar o conteúdo de um dado ou a saída de um comparador de magnitude pode identificar uma condição para o término de execução de uma operação. Com a definição dos elementos do fluxo de dados e do comportamento da unidade de controle, pode-se prosseguir para uma primeira versão da microarquitetura do sistema digital com a obtenção da estrutura interna que contém a conexão do fluxo de dados e da unidade de controle. Esta estrutura é uma primeira aproximação do projeto final. Devem ser incluídos os elementos do fluxo de dados, o bloco da unidade de controle e os sinais de controle e de estados interligando ambos os blocos. Finalmente, de posse dos sinais de controle e de estados, o diagrama ASM de alto nível pode ser detalhado para gerar o diagrama ASM da unidade de controle com estes sinais para acionar o fluxo de dados e testar as condições de estado. Cabe lembrar aqui que um diagrama ASM adota, como padrão, sinais ativos em ALTO e os blocos de estado e de saída condicional indicam apenas aqueles sinais de saída que devem ser ativados Observação importante Um ponto importante que devemos ressaltar é com os elementos sensíveis a borda do clock. Considere um contador normalmente acionado por uma borda da entrada do sinal de clock. Assim um projetista poderia considerar a entrada de clock deste contador como um sinal de controle deste elemento do fluxo de dados. Contudo isto vai de encontro com a estrutura RTL definida na seção onde todos os elementos devem compartilhar de um mesmo sinal de relógio. Desta forma, elementos sensíveis a borda de clock devem ser acionados por um sinal de habilitação de função, ao invés do próprio sinal de relógio. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 6

7 Vejamos um exemplo concreto: considere um deslocador que precisa das funções de atualização do conteúdo atual e de carga de um valor inicial. Os sinais de controle que devemos adotar são aqueles que especificam o deslocamento do conteúdo e a carga do valor da entrada paralela. Para isto usaremos o circuito integrado 74165, cuja pinagem e tabela funcional de seus sinais de função são apresentadas na figura 9. Figura 9 Deslocador integrado (fonte: Texas Instruments). A operação de deslocamento no depende de três sinais de entrada: o sinal SHIFT/LOAD deve ser igual a 1, CLOCK_INHIBIT deve ser igual a 0 e é necessário haver a borda de subida do CLOCK. Já a carga do valor de entrada paralela depende apenas do sinal SHIFT/LOAD ser igual ao valor 0. Assim, de forma a usar sinais de controle ativos em 1 é necessário projetar um circuito adicional para acionar os pinos de controle do circuito integrado. Este circuito adicional deve seguir os valores abaixo. CARGA DESLOCA SHIFT/LOAD CLOCK_INHIBIT FUNÇÃO Mantém valor interno Desloca para a direita X Carrega valor paralelo Erro (mantém valor) Finalmente, o diagrama lógico da figura 10 mostra o circuito com o deslocador que contém os sinais de controle ativos em 1, conforme solicitado pela metodologia. Figura 10 Diagrama lógico do elemento deslocador com comandos de carga e deslocamento. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 7

8 1.5. Desenvolvimento de um Projeto Exemplo Para ilustrar os conceitos apresentados, vamos desenvolver um projeto exemplo aplicando a metodologia de projeto a ser adotada nos projetos do Laboratório Digital. A cada etapa, busca-se explicar as decisões de projeto tomadas e os resultados obtidos Descrição verbal do projeto A especificação do funcionamento do circuito é apresentada abaixo: Projetar um sistema digital (SD) que seja responsável pelo armazenamento de dois números de 4 bits, que serão introduzidos através de uma única entrada de dados. Após a introdução inicial de um ou mais valores, o SD deve disponibilizar os números armazenados, um de cada vez, em uma única saída de dados. Para o armazenamento dos números e posterior apresentação, são disponíveis sinais de comando. Tanto o armazenamento quanto a apresentação dos dados devem ocorrer sincronamente com o sinal de relógio. A interface do projeto exemplo é ilustrado na figura 11. O sistema digital exemplo tem cinco sinais de entrada 3 e um sinal de saída [Menezes et all, 2011][Ranzini et all, 2002]: IN[1..4] entrada de dados de quatro bits; N1 sinal para armazenar o primeiro valor de quatro bits presente na entrada IN; N2 sinal para armazenar o segundo valor de quatro bits presente na entrada IN; M1 sinal para apresentar na saída de dados OUT o primeiro valor armazenado; M2 sinal para apresentar o na saída de dados OUT o segundo valor armazenado; OUT[1..4] saída de dados de quatro bits. IN[1..4] N1 N2 M1 M2 CLOCK RESET SISTEMA DIGITAL EXEMPLO OUT[1..4] Figura 11 Interface de entrada e saída do projeto exemplo. O sistema digital deve armazenar dois números de 4 bits internamente, que depois podem ser apresentados na saída OUT. Para que o primeiro número seja armazenado no sistema, ele deve ser colocado na entrada de dados IN e o sinal N1 deve ser ativado. De maneira análoga, o segundo número é armazenado quando o mesmo é colocado na entrada IN e o sinal N2 é ativado. Para mostrar cada um destes números na saída OUT, os sinais M1 ou M2 devem ser acionados. Caso seja acionado M1, a saída OUT deverá mostrar o primeiro número. Caso seja acionado M2, a saída OUT deverá mostrar o segundo número. A interpretação da especificação acima do SD nos leva a concluir que os sinais M1 e M2 devem ser ignorados enquanto, pelo menos, um número não for armazenado. Outra conclusão é a de que podem ser armazenados mais de dois números antes de se ativar, pela primeira vez, o sinal de apresentação de número na saída. Convém ressaltar que todos os sinais de controle são definidos como ativos em alto, ou seja, para acionálos, deve-se colocar um valor lógico ALTO ou 1. 3 Cinco sinais de entrada, exceto os sinais de relógio (CLOCK) e de reinício (RESET), presentes normalmente em sistemas digitais síncronos. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 8

9 Elaboração do pseudo-código A partir da interpretação da especificação do projeto exemplo, pode-se elaborar um pseudo-código abaixo que descreve o funcionamento lógico do circuito (figura 12). 1 // condições iniciais 2 R1 := 0; 3 R2 := 0; 4 R3 := 0; 5 // entrada inicial de dados 6 repeat 7 if (N1 = 1) R1 := IN; break 8 else if (N2 = 1) R2 := IN; break; 9 until (false); 10 // processar sinais N1, N2, M1 e M2 11 repeat 12 if (N1 = 1) R1 := IN; 13 else if (M1 = 1) R3 := R1; 14 else if (N2 = 1) R2 := IN; 15 else if (M2 = 1) R3 := R2; 16 until (false); Figura 12 Pseudo-código do exemplo. As primeiras três linhas do pseudo-código mostram a condição inicial dos registradores. As linhas 5 a 9 mostram a entrada inicial dos dados, com a verificação dos sinais de entrada N1 e N2. Caso um destes sinais seja ativado, o respectivo registrador armazena o valor presente na entrada IN. Pode-se notar aqui que os sinais de comando M1 e M2 são ignorados neste ponto, conforme foi especificado na descrição verbal do projeto. As linhas 10 a 16 descrevem o comportamento do circuito a ser projetado com a execução dos comandos de armazenamento e de apresentação de dados na saída. Esta etapa é importante, pois a metodologia se baseia no pseudo-código gerado para a realização do projeto do sistema digital. Se houver a necessidade de alterar alguma instrução do pseudo-código, será preciso reexecutar as demais etapas Criação do diagrama ASM de alto nível O diagrama ASM de alto nível correspondente ao funcionamento do circuito descrito pelo pseudo-código da figura 12 pode ser elaborado tendo-se em conta a estrutura de controle e o sequenciamento de operações a serem executadas. A figura 13 apresenta o diagrama resultante desta etapa da metodologia. Figura 13 Diagrama ASM de alto nível para o projeto exemplo. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 9

10 O diagrama ASM de alto nível contém comandos escritos com palavras, ao invés de sinais de controle. Por exemplo, no estado S1, a ação tomada é copiar o valor na entrada IN para o primeiro registrador. Este estado está relacionado com o comando da linha 6 do pseudo-código. Podemos observar também a característica da entrada inicial dos dados descrita nas linhas 4 a 8, com a estrutura de laço ( loop ) das transições a partir do estado S0 quando os sinais N1 e N2 não são acionados. Os estados S1 a S5 estão relacionados com o tratamento dos comandos de armazenamento de dados (S1 e S2) e dos comandos de apresentação dos dados nos registradores na saída (S4 e S5). Enquanto nenhum dos comandos for acionado, o circuito permanece no estado S Identificar e selecionar os elementos do fluxo de dados Aqui passamos a definir que componentes serão parte do circuito digital. Analisando o pseudo-código, vemos que precisaremos de três registradores de 4 bits para armazenar e apresentar os números (R1, R2 e R3). Os dados de entrada IN são copiados para R1 e R2, e posteriormente, valores em R1 e R2 podem ser copiados para R3. Este comportamento pode ser implementado pelo circuito da figura 14. IN[1..4] EN1 CLR1 R1 SEL 0 1 MUX2X1 EN3 CLR3 R3 OUT[1..4] EN2 CLR2 R2 CLOCK Figura 14 Esquema do fluxo de dados do projeto exemplo. Os sinais de entrada IN são ligados diretamente aos registradores R1 e R2. As saídas destes registradores são conectadas na entrada de um multiplexador 2x1. E a saída deste multiplexador é ligada na entrada do registrador R3. Finalmente, a saída de R3 é ligada no sinal de saída OUT Identificar sinais de estado e de controle do fluxo de dados Nesta etapa detalhamos os componentes identificados anteriormente com a definição dos sinais de estado e de controle. Observe, assim, que os sinais de controle necessários para controlar (ou acionar) a operação dos componentes do fluxo de dados são para a reinicialização dos registradores (CLR1, CLR2 e CLR3), para o controle do armazenamento dos dados nos registradores (EN1, EN2 e EN3) e para a seleção de entrada do multiplexador (SEL). Neste projeto em particular, não há nenhum sinal de estado do fluxo de dados que é usado como sinal de entrada na unidade de controle. Isto pode ser verificado nos blocos decisão do diagrama ASM da figura 13: apenas os sinais de entrada N1, N2, M1 e M2 são usados para verificar as condições de decisão Verificar a conexão de sinais entre o fluxo de dados e a unidade de controle Com a definição dos sinais internos do projeto (sinais de controle e de estado), podemos visualizar como os blocos internos do projeto se conectam. Isto é mostrado na figura 15. Observe que o sinal de relógio é ligado em ambos os blocos, porque o sistema digital é um circuito síncrono. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 10

11 Figura 15 Particionamento do projeto exemplo. Na figura 15 temos a ligação interna dos sinais de entrada de dados (sinal IN) para o fluxo de dados e dos sinais de entrada de comandos (sinais N1, N2, M1, M2 e RESET) para a unidade de controle. Os sinais de controle são responsáveis pelo controle dos registradores internos (sinais EN1, CLR1, EN2, CLR2, EN3 e CLR3) e do multiplexador (sinal SEL) do fluxo de dados. E a saída OUT é gerada também pelo fluxo de dados Detalhar o diagrama ASM da unidade de controle Com as informações obtidas até aqui, podemos agora substituir os comandos em linguagem verbal do diagrama ASM de alto nível para os sinais de controle e de estado. O diagrama ASM da unidade de controle é gerado com a especificação direta dos sinais de controle e dos sinais de estado. Neste caso, os blocos de estado contêm os sinais de controle que devem ser ativados no estado correspondente e os blocos de condição testam o valor do sinal de estado. A figura 16 mostra o diagrama ASM da unidade de controle do projeto exemplo. S0 CLR1 CLR2 CLR N1 N2 S1 S2 EN1 EN2 S N1 M1 N2 M2 1 1 S4 1 S5 EN3 SEL S6 SEL EN3 Figura 16 Diagrama ASM do projeto exemplo. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 11

12 Note que o estado S5 do primeiro diagrama ASM precisou ser dividido em dois estados (S5 e S6) no diagrama ASM final, por causa dos requisitos de tempo do registrador R3 (tempo de preparação ou setup time). A razão disto é que, para copiar o conteúdo de R2 para R3, a entrada 1 do multiplexador deve ser selecionado para, posteriormente, o registrador R3 armazenar sua saída. Assim, antes de copiar o dado para o registrador R3, é necessário acrescentar um estado anterior para selecionar a entrada correta do multiplexador. Isto não é necessário para o estado S4 porque o sinal SEL já tem o valor necessário em S3. Assim, o multiplexador já tem o valor correto na sua saída e o registrador R3 pode armazenar o valor de sua entrada no estado S Considerações Descrevemos aqui um método sistemático com etapas determinadas, que tem como objetivo organizar as ideias do projetista de circuitos digitais. O resultado final desta metodologia é a estruturação e definição da microarquitetura do sistema. A seguir, passamos a trabalhar alguns aspectos da implementação do circuito em uma plataforma de lógica programável Aspectos de Implementação Aqui, nesta seção, detalhamos a implementação do projeto do fluxo de dados e da unidade de controle Implementação do fluxo de dados A implementação do fluxo de dados pode ser realizada usando componentes MSI da família 74xxx. Desta forma, considerando-se o circuito integrado para ser usado para os componentes R1, R2 e R3 e o circuito integrado para o componente MUX2x1, podemos desenvolver o diagrama esquemático da figura 17. Figura 17 Diagrama esquemático do fluxo de dados do projeto exemplo. Observe que como o projeto considera todos os sinais de controle como ativos em alto, há a necessidade da inversão dos sinais de habilitação dos registradores (EN1, EN2 e EN3) para a controle dos componentes Como consideração adicional, temos um comentário sobre a escolha do registrador 74173: embora uma característica deste componente seja sua saída tri-state, ele também dispõe de sinais de controle para o armazenamento de dados (sinais G1N e G2N). Isto faz com que os sinais de controle gerados pela Unidade de Controle sejam ligados diretamente nestes pinos do componente. Outras alternativas para este componente talvez exigiriam mudanças no projeto ou circuitos complementares. Uma vez desenvolvido o fluxo de dados, é possível partir para o projeto da unidade de controle, responsável pelo acionamento correto dos sinais de controle. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 12

13 Implementação da unidade de controle A unidade de controle deve ser desenvolvida tendo como base o diagrama ASM desenvolvido (conforme a figura 16). A implementação da unidade de controle pode ser realizada de várias formas. A primeira alternativa selecionada aqui é usar a linguagem de descrição de hardware AHDL (Altera HDL), como mostrado na figura 18. Figura 18 Código AHDL da unidade de controle. Convém destacar que, além dos sinais de controle e de estado do projeto exemplo, foram acrescentados no código AHDL acima três sinais de saída, E1, E2 e E3. Estes sinais identificam o estado atual da máquina de estados e são importantes no acompanhamento e depuração da execução da unidade de controle e devem ser usados na depuração do circuito. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 13

14 A linguagem AHDL permite várias alternativas para designar os estados [MENEZES et al., 2002]. Adotaremos a designação de cada estado pelo valor das saídas da UC, que devem ser geradas em cada estado. Por exemplo, o estado S0 será caracterizado como sendo aquele em que: CLR1=1, CLR2=1, CLR3=1, EN1=0, EN2=0, EN3=0, SEL=0, E3=0, E2=0 e E1=0. Uma vez caracterizados os estados, é necessário descrever as transições entre os mesmos, ou seja, descrever o diagrama ASM através de uma tabela de transições. Também há alternativas, em função da estratégia adotada na construção do ASM (Mealy ou Moore). Adotou-se aqui a máquina de Moore. As construções desta linguagem formam as seções do arquivo texto, a saber: a) denominação do projeto nesta seção, iniciada pela palavra SUBDESIGN, é especificado o nome do projeto, que deverá ser o mesmo declarado no início da descrição da UC. b) declaração de entradas e saídas nesta seção, delimitada por parênteses, são declarados todos os sinais de entrada e de saída do diagrama. As declarações de entradas são finalizadas por :INPUT; e as de saída por :OUTPUT;. c) denominação dos estados nesta seção, iniciada pela palavra VARIABLE, os estados do diagrama ASM são definidos em função das saídas da UC. Primeiramente deve ser descrita a ordem dos bits que definirão cada estado. Isto é feito através da seguinte sentença: UC: MACHINE OF BITS (...) WITH STATES Entre parênteses devem ser colocados os nomes das saídas do diagrama. Por exemplo, para o diagrama da figura 19: (CLR1, CLR2, CLR3, EN1, EN2, EN3, SEL, E3, E2, E1) Em seguida, cada um dos estados deve ser descrito em função das saídas do diagrama, de acordo com a ordem estabelecida na construção anterior. Isto é feito da seguinte maneira: (nome_do_estado = B'valores_das_saídas',); Para a descrição da figura 18, o estado S0 seria descrito como S0=B' '. d) declaração da máquina de estados nesta seção, delimitada pelas palavras BEGIN e END; são descritos os sinais de controle CLK e RESET da máquina de estados representada pelo diagrama ASM e a tabela de transições de estados. Esta tabela é feita baseada nos caminhos existentes entre cada um dos estados do mesmo, em função das entradas a eles associadas (caso existam), e deve ser delimitada pelas palavras TABLE e END TABLE;. Por exemplo, na figura 18, para que a UC passe do estado S0 para o estado S1, é necessário que N1=1 e independente do valor de N2, M1 e M2. Portanto, a linha que representa este caminho é: S0, 1,X,X,X => S1; Para uma plataforma de lógica programável, o uso de linguagens de descrição de hardware é sempre uma alternativa interessante. Assim, implementações alternativas em VHDL ou Verilog são viáveis. Contudo, a implementação de uma unidade de controle nestas linguagens requer conhecimento de técnicas de descrição de máquinas de estados. Outra forma para a implementação da unidade de controle é através do uso de um circuito com componentes digitais básicos apresentado com um diagrama de captura esquemática gerado a partir do diagrama ASM. A figura 19 apresenta uma tabela de conversão dos blocos do diagrama ASM para o circuito digital correspondente [Mano & Kime, 2000]. A figura 20 apresenta o resultado da conversão do diagrama ASM da figura 16 em um circuito digital usando a tabela da figura 18. Como esta técnica de implementação usa uma codificação de estados one-hot, o estado inicial deve ser acertado através do acionamento do sinal de reinício da máquina de estados. O estado inicial S0 foi mapeado no flip-flop FF0, assim o sinal RESET do circuito precisa ativar (iniciar com 1) somente o flip-flop FF0 correspondente ao estado inicial do diagrama ASM. Os outros flip-flops deverão ser zerados. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 14

15 Bloco ASM Circuito correspondente Estado Decisão Saída condicional (saída em 1) Saída condicional (saída em 0) Junção Figura 19 Tabela de conversão de bloco ASM para circuito digital. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 15

16 Figura 20 Circuito da unidade de controle do projeto exemplo projetado a partir da conversão do diagrama ASM. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 16

17 Implementação do sistema digital Terminado o desenvolvimento dos módulos fluxo de dados e unidade de controle do projeto do sistema digital, resta a integração destas partes para concluir o sistema. No nosso projeto exemplo, a partir dos projetos das duas partes (fluxo de dados e unidade de controle), podemos criar um projeto adicional do sistema digital (chamado tutorial_sd) no Altera Quartus II, conectando os símbolos do fluxo de dados e da unidade de controle, conforme mostrado na figura 21. Figura 21 Projeto do sistema digital a partir do fluxo de dados e da unidade de controle. Para verificar o funcionamento do sistema digital projetado, realiza-se a simulação do projeto completo desenvolvido como apresentada na figura 22 abaixo. Nas formas de onda mostradas, inicialmente é armazenado o valor 6 (acionando N1) e em seguida o valor 7 (acionando N2). Ao acionar M1, o primeiro valor é apresentado na saída. Depois, ao acionar M2, o segundo valor armazenado é mostrado. No final, o acionamento de RESET faz o sistema voltar ao estado inicial. Figura 22 Simulação do sistema digital do projeto exemplo. Concluímos aqui a apresentação da metodologia de projeto de sistemas digitais. Esta metodologia será praticada nas experiências seguintes do Laboratório Digital. Os projetos deverão seguir o padrão determinado pela aplicação desta metodologia. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 17

18 2. PARTE EXPERIMENTAL A parte experimental visa praticar a metodologia de projeto de sistemas digitais apresentada com o desenvolvimento do projeto exemplo e sua implementação para a placa de desenvolvimento FPGA DE2 da Altera Atividades Pré-Laboratório a) Como preparação da experiência, solicita-se que, após a leitura e entendimento das etapas da metodologia de projeto, sejam projetados os módulos de fluxo de dados, de unidade de controle e do sistema digital, conforme apresentado na seção anterior. A apostila Projeto de circuitos com Quartus II 9.1 [Menezes, 2011] apresenta os procedimentos a serem executados para a implementação do projeto exemplo usando o software Altera Quartus II. Siga os procedimentos descritos para a síntese do circuito para a placa DE2. Recomenda-se a realização desta atividade antes da realização da experiência. Sugere-se que seja usado o recurso de OpenLab do Laboratório Digital. Reserve um horário com os técnicos do Laboratório Digital para usar a infraestrutura de laboratório fora de horários de aula. b) Simule o funcionamento do projeto para valores diferentes de entrada. c) Simule o funcionamento do projeto para condições incomuns: por exemplo, quando os sinais de comando são acionados simultaneamente. Que outras situações devem ser consideradas? d) Traga os arquivos do projeto exemplo para a aula. e) Documente no planejamento a execução das atividades executadas. f) Responda as questões abaixo: 1. Explique como os registradores do fluxo de dados são controlados para armazenar seu valor de entrada. Como o circuito integrado é usado? Explique a função dos pinos MN e NN. 2. Que comportamentos incomuns dos sinais de entrada devem ser considerados nas simulações? Explique o comportamento de cada situação Implementação na placa DE2 g) Sintetize o circuito projetado para a placa DE2. Não se esqueça de realizar a designação de pinos conforme apresentado na apostila Projeto de Circuitos com Quartus II 9.1. h) Teste o funcionamento do circuito na placa e verifique seu comportamento para várias situações. Foi semelhante aos comportamentos obtidos nas simulações realizadas nas atividades pré-laboratório? 2.3. Desafio i) Ao concluir a demonstração bem-sucedida do circuito exemplo, o grupo deve implementar uma modificação no projeto. Esta modificação deve ser documentada no relatório. j) Sintetize o circuito modificado na placa DE2. k) Realize uma demonstração do circuito modificado ao professor Atividades Pós-Laboratório l) Após o término das atividades experimentais, respondas as perguntas. 1. Explique como o uso da metodologia facilitou ou não a implementação da modificação proposta no desafio. 2. Discuta como o pseudo-código pode ser elaborado a partir de uma descrição verbal de um circuito. 3. Qual foi a maior dificuldade encontrada na experiência para a familiarização com a metodologia de projeto proposta? Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 18

19 3. BIBLIOGRAFIA ALTERA. Altera DE2 Development and Education Board User Manual CHU, P.P. RTL Hardware Design Using VHDL: coding for efficiency, portability, and scalability. Wiley, DE MICHELI, G. Synthesis and Optimization of Digital Circuits. McGraw-Hill, FLYNN, M.J. & LUK, W. Computer System Design: System-on-Chip, Wiley, FREGNI, E. & SARAIVA, A.M. Engenharia do Projeto Lógico Digital: conceitos e prática. Edgard Blücher, GAJSKI, D.D. Principles of Digital Design. Prentice-Hall, GIVONE, D.D. Digital Principles and Design. McGraw-Hill, HAREL, D. Statecharts: a Visual Formalism for Complex Systems. Science of Computer Programming, vol. 8, pp , HARRIS, D.M. & HARRIS, S.L. Digital Design and Computer Architecture. 2 nd edition, Morgan Kaufmann, LALA, P.K. Principles of Modern Digital Design. Wiley, MANO, M. M.; KIME, C. R. Logic and computer design fundamentals. 2 nd edition, Prentice-Hall, MENEZES, M.P.; SATO, L.M.; MIDORIKAWA, E.T. Projeto de Circuitos com Quartus II 9.1. Apostila de Laboratório Digital, MORRIS, R.L. & MILLER, J.R. Projeto com Circuitos Integrados TTL. Editora Guanabara Dois, PATTERSON, D.A. & HENNESSY, J.L. Computer Organization and Design: the hardware/software interface. 4th edition, Morgan Kaufmann, PEDRONI, V.A. Circuit Design and Simulation with VHDL. 2 nd ed., The MIT Press, RANZINI, E.; HORTA, E.L.; MIDORIKAWA, E.T. Projeto de Circuitos com MAX+PLUS II. Apostila de Laboratório Digital, SIGNETICS. TTL Logic Data Manual TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Digital Systems: Principles and Applications. 11 th ed., Prentice-Hall, TOKHEIM, Roger L. Princípios Digitais. Schaum-McGraw Hill, WAKERLY, J.F. Digital Design: Principles and Practices. 4th edition, Prentice-Hall, EQUIPAMENTOS NECESSÁRIOS 1 computador PC com programa Altera Quartus II. 1 placa de desenvolvimento FPGA DE2 da Altera com o dispositivo Altera Cyclone II EP2C35F672C6. 1 dispositivo Digilent Analog Discovery. Histórico de Revisões E.T.M./2015 versão inicial. Metodologia de Projeto com Dispositivos Programáveis semestral (2015) 19

PROJETO DE SISTEMAS DIGITAIS

PROJETO DE SISTEMAS DIGITAIS PROJETO DE SISTEMAS DIGITAIS Edson Midorikawa emidorik@usp.br Departamento de Engenharia de Computação e Sistemas Digitais Escola Politécnica da Universidade de São Paulo Versão 1.1 (28/09/2011) Objetivo:

Leia mais

PROJETO DE SISTEMAS DIGITAIS

PROJETO DE SISTEMAS DIGITAIS PROJETO DE SISTEMAS DIGITAIS Edson Midorikawa emidorik@usp.br Departamento de Engenharia de Computação e Sistemas Digitais Escola Politécnica da Universidade de São Paulo Objetivo: Este documento apresenta

Leia mais

PROJETO DE SISTEMAS DIGITAIS

PROJETO DE SISTEMAS DIGITAIS PROJETO DE SISTEMAS DIGITAIS Edson Midorikawa emidorik@usp.br Departamento de Engenharia de Computação e Sistemas Digitais Escola Politécnica da Universidade de São Paulo Versão 1.3 (26/02/2012) Objetivo:

Leia mais

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis E.T.M./2011 (adaptação) RESUMO Nesta experiência será apresentada uma metodologia estruturada para projeto de sistemas digitais

Leia mais

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Versão 2012 RESUMO Nesta experiência será apresentada uma metodologia estruturada para projeto de sistemas digitais utilizando FPGAs

Leia mais

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis Versão 2013 RESUMO Nesta experiência será desenvolvido um projeto de sistema digital em um dispositivo programável (FPGA) com a

Leia mais

Desenvolvimento Sistemático de Projetos de Circuitos Digitais

Desenvolvimento Sistemático de Projetos de Circuitos Digitais Desenvolvimento Sistemático de Projetos de Circuitos Digitais RESUMO Este documento tem como objetivo a apresentação e familiarização de uma metodologia de projeto de circuitos digitais com dispositivos

Leia mais

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL Circuito em VHDL Versão 2017 RESUMO Esta experiência tem como objetivo um contato inicial com o desenvolvimento do projeto de um circuito digital simples em VHDL e sintetizado para uma placa de desenvolvimento

Leia mais

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital Um Circuito Digital Versão 2016 RESUMO Esta experiência tem como objetivo o desenvolvimento de um circuito digital, especificado a partir de um diagrama ASM e um fluxo de dados. A parte prática deve ser

Leia mais

Projeto com Linguagens de Descrição de Hardware

Projeto com Linguagens de Descrição de Hardware Projeto com Linguagens de Descrição de Hardware Versão 2012 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware.

Leia mais

Banco de Registradores e ULA

Banco de Registradores e ULA Banco de Registradores e ULA Versão 2015 RESUMO Esta experiência tem como objetivo o desenvolvimento de um banco de registradores contendo 8 registradores de 4 bits cada. Este circuito deve armazenar um

Leia mais

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL Introdução ao VHDL Versão 2016 RESUMO Esta experiência consiste no estudo de descrições VHDL e no projeto e implementação de um circuito digital simples. São apresentados aspectos básicos da linguagem

Leia mais

Banco de Registradores

Banco de Registradores Banco de Registradores Versão 201 RESUMO Esta experiência tem como objetivo o desenvolvimento de um banco de registradores contendo 8 registradores de bits cada. Este circuito deve armazenar um conjunto

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro Frequencímetro Versão 2014 RESUMO Esta experiência tem como objetivo a familiarização com duas classes de componentes: os contadores e os registradores. Para isto, serão apresentados alguns exemplos de

Leia mais

EPUSP PCS 3335 Laboratório Digital A. Trena Digital

EPUSP PCS 3335 Laboratório Digital A. Trena Digital Trena Digital Versão 2016 RESUMO Esta experiência tem por objetivo desenvolver uma Trena Digital, ou seja, um circuito digital que realiza a medida de distância para um objeto, usando um sensor ultrassônico

Leia mais

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

EPUSP PCS 3635 Laboratório Digital I. Trena Digital Trena Digital Versão 2016 RESUMO Esta experiência tem por objetivo desenvolver uma Trena Digital, ou seja, um circuito digital que realiza a medida de distância para um objeto, usando um sensor ultrassônico

Leia mais

CONTROLE DE UM SERVO MOTOR

CONTROLE DE UM SERVO MOTOR CONTROLE DE UM SERVO MOTOR Versão 2015 RESUMO Esta experiência tem como objetivo a familiarização e o projeto de um circuito de controle simples de um servo motor. A parte experimental inclui atividades

Leia mais

CALCULADORA SIMPLES COM ULA

CALCULADORA SIMPLES COM ULA CALCULADORA SIMPLES COM ULA Versão 2013 RESUMO 1 Esta experiência tem por objetivo a utilização de circuitos integrados de operações lógicas e aritméticas para o desenvolvimento de circuitos que executam

Leia mais

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL Contadores em VHDL Versão 2012 RESUMO Esta experiência consiste no projeto e implementação de circuitos contadores com o uso da linguagem de descrição de hardware VHDL. São apresentados aspectos básicos

Leia mais

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples Uma ULA Simples Versão 2015 RESUMO Esta experiência tem como objetivo o desenvolvimento do projeto de uma unidade lógica e aritmética simples que realiza quatro operações sobre dados de quatro bits. OBJETIVOS

Leia mais

Calculadora Simples em VHDL

Calculadora Simples em VHDL Calculadora Simples em VHDL Versão 2014 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware. São apresentados

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro Frequencímetro Versão 2012 RESUMO Esta experiência tem como objetivo a familiarização com duas classes de componentes: os contadores e os registradores. Para isto, serão apresentados alguns exemplos de

Leia mais

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO PARA SEMÁFOROS DE UM CRUZAMENTO Versão 2015 RESUMO Esta experiência tem como principal objetivo ilustrar a utilização de circuitos biestáveis, através do projeto de um circuito de controle das luzes de

Leia mais

Desenvolvimento de um Circuito Complexo

Desenvolvimento de um Circuito Complexo Desenvolvimento de um Circuito Complexo Versão 2017 RESUMO Nesta experiência será estudado como organizar o projeto de um sistema digital complexo ou não trivial. Para isto será estudada uma metodologia

Leia mais

Circuito de Recepção Serial Assíncrona

Circuito de Recepção Serial Assíncrona Circuito de Recepção Serial Assíncrona Versão 2016 RESUMO O objetivo desta experiência é aplicar a metodologia de projeto de circuitos digitais com dispositivos programáveis adotado no Laboratório Digital

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES CALCULADORA SIMPLES E.T.M./2003 (revisão e adaptaçào) M.D.M. e E.T.M./2006 (revisão) E.T.M./2008 (revisão) E.T.M./20 (revisão) RESUMO Esta experiência tem por objetivo a utilização de circuitos integrados

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital. Freqüencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Freqüencímetro Freqüencímetro E.T.M./2005 E.T.M./2006 (revisão) RESUMO Esta experiência tem como objetivo a familiarização com duas classes de componentes: os contadores e os registradores. Para isto, serão apresentados

Leia mais

Interface com Sensor Ultrassônico de Distância

Interface com Sensor Ultrassônico de Distância Interface com Sensor Ultrassônico de Distância Versão 2016 RESUMO Esta experiência tem por objetivo desenvolver um circuito que realiza a interface com o sensor ultrassônico de distância HC-SR04. A implementação

Leia mais

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS SOMADORES DECIMAIS Versão 2015 RESUMO Nesta experiência será estudado um circuito aritmético de soma decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283). A parte

Leia mais

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS GERADOR DE SINAIS Versão 2015 RESUMO Esta experiência tem como objetivo a familiarização com o problema da conversão de sinais digitalizados em sinais analógicos, o conversor digital-analógico de 8 bits

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro Frequencímetro E.T.M./2005 E.T.M./2006 (revisão) E.T.M./2011 (revisão) RESUMO Esta experiência tem como objetivo a familiarização com duas classes de componentes: os contadores e os registradores. Para

Leia mais

Comunicação Serial Assíncrona

Comunicação Serial Assíncrona Comunicação Serial Assíncrona Versão 2016 RESUMO O objetivo desta experiência é projetar circuitos digitais para comunicação serial de dados (transmissão de dados) com um terminal de dados, utilizando

Leia mais

Multiplicador Binário com Sinal

Multiplicador Binário com Sinal Multiplicador Binário com Sinal Edson T. Midorikawa/2010 E.T.M./2012 (revisão) RESUMO Nesta experiência será implementado um circuito para multiplicação binária com sinal. Deve ser aplicada a metodologia

Leia mais

EPUSP PCS 2308 Laboratório Digital. Trena Digital

EPUSP PCS 2308 Laboratório Digital. Trena Digital Trena Digital Versão 2014 RESUMO Esta experiência tem por objetivo desenvolver um circuito que realiza a medida de distância para um objeto. A implementação será desenvolvida com o dispositivo programável

Leia mais

UM PROCESSADOR SIMPLES

UM PROCESSADOR SIMPLES UM PROCESSADOR SIMPLES Versão 2013 RESUMO Esta experiência tem como objetivo o desenvolvimento do projeto de um núcleo de um processador simples. Na parte experimental este projeto deverá ser sintetizado

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS SOMADORES DECIMAIS Versão 2012 RESUMO Nesta experiência será estudado um circuito aritmético de soma decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283). A parte

Leia mais

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS Versão 2012 RESUMO Esta experiência tem como principal objetivo ilustrar a utilização de circuitos biestáveis, através do projeto de um circuito de controle das luzes

Leia mais

Projeto com Dispositivos Programáveis

Projeto com Dispositivos Programáveis Projeto com Dispositivos Programáveis E.T.M./2011 (revisão) RESUMO Nesta experiência será apresentada uma metodologia para projeto de sistemas digitais utilizando FPGAs (dispositivos programáveis) e HDLs

Leia mais

Circuito Hierárquico

Circuito Hierárquico Circuito Hierárquico Versão 2017 RESUMO Nesta experiência será estudado como organizar o projeto de um sistema digital de forma hierárquico. Uma hierarquia de módulos compõe o projeto, onde cada módulo

Leia mais

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples Uma ULA Simples Versão 2013 RESUMO Esta experiência tem como objetivo o desenvolvimento do projeto de uma unidade lógica e aritmética simples que realiza quatro operações sobre dados de quatro bits. OBJETIVOS

Leia mais

MELHORAMENTO NO PROCESSADOR SIMPLES

MELHORAMENTO NO PROCESSADOR SIMPLES MELHORAMENTO NO PROCESSADOR SIMPLES Versão 2014 RESUMO Esta experiência tem como objetivo o desenvolvimento de um melhoramento no projeto de um núcleo de um processador simples. Na parte experimental este

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES CALCULADORA SIMPLES E.T.M./23 (revisão e adaptaçào) M.D.M. e E.T.M. (revisão) E.T.M./28 (revisão) RESUMO Esta experiência tem por objetivo a utilização de circuitos integrados de soma binária para o desenvolvimento

Leia mais

Primeiro Circuito Digital

Primeiro Circuito Digital Primeiro Circuito Digital Versão 2017 RESUMO Esta experiência tem como objetivo um contato inicial com o Laboratório Digital com o desenvolvimento de uma atividade planejada envolvendo o projeto de um

Leia mais

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO PARA SEMÁFOROS DE UM CRUZAMENTO Versão 2014 RESUMO Esta experiência tem como principal objetivo ilustrar a utilização de circuitos biestáveis, através do projeto de um circuito de controle das luzes de

Leia mais

EPUSP PCS 2021 Laboratório Digital II. Sistema de Radar

EPUSP PCS 2021 Laboratório Digital II. Sistema de Radar Sistema de Radar Versão 2015 RESUMO Esta experiência tem por objetivo desenvolver um circuito que realiza a detecção de objetos próximo com um sensor ultrassônico de distância e um servo-motor. A implementação

Leia mais

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS E.T.M./2006 E.T.M./2008 (revisão) E.T.M./2011 (revisão) RESUMO Esta experiência tem como principal objetivo ilustrar a utilização de circuitos biestáveis, através do

Leia mais

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO PARA SEMÁFOROS DE UM CRUZAMENTO Versão 2013 RESUMO Esta experiência tem como principal objetivo ilustrar a utilização de circuitos biestáveis, através do projeto de um circuito de controle das luzes de

Leia mais

Introdução ao Laboratório Digital

Introdução ao Laboratório Digital Introdução ao Laboratório Digital Versão 2016 RESUMO Esta experiência tem como objetivo um contato inicial com o Laboratório Digital com o desenvolvimento de uma atividade planejada envolvendo o projeto

Leia mais

Processador nanopcs-3

Processador nanopcs-3 Processador nanopcs-3 E.T.M./2011 RESUMO Esta experiência tem por objetivo o projeto do núcleo de um pequeno processador responsável pela execução de operações aritméticas e lógicas e de transferência

Leia mais

Painel Luminoso com LEDs

Painel Luminoso com LEDs Painel Luminoso com LEDs Versão 2007 RESUMO Esta experiência consiste no projeto e na implementação do circuito de controle de um painel luminoso composto por LEDs (diodos emissores de luz). Através da

Leia mais

Montagem, testes, depuração e documentação de circuitos digitais

Montagem, testes, depuração e documentação de circuitos digitais Montagem, testes, depuração e documentação de circuitos digitais Versão 2012 RESUMO Esta experiência tem como objetivo um contato inicial com técnicas de montagem, teste e depuração de circuitos digitais.

Leia mais

Parte # 2 - Circuitos Combinatórios

Parte # 2 - Circuitos Combinatórios CEFET Departamento de Engenharia Elétrica - DEPEL GELE 7163 Eletrônica Digital Parte # 2 - Circuitos Combinatórios 1 GELE 7163 Eletrônica Digital 2 Referências : Notas de Aula. Mendonça, Alexandre e Zelenovsky,

Leia mais

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS GERADOR DE SINAIS Versão 2013 RESUMO Esta experiência tem como objetivo a familiarização com o problema da conversão de sinais digitalizados em sinais analógicos, o conversor digital-analógico de 8 bits

Leia mais

Introdução ao Laboratório Digital

Introdução ao Laboratório Digital Introdução ao Laboratório Digital Versão 2016 RESUMO Esta experiência tem como objetivo um contato inicial com o Laboratório Digital com o desenvolvimento de uma atividade planejada envolvendo o projeto

Leia mais

Comunicação Serial Assíncrona

Comunicação Serial Assíncrona Comunicação Serial Assíncrona Versão 2016 RESUMO O objetivo desta experiência é projetar circuitos digitais para comunicação serial de dados (transmissão de dados) com um terminal de dados, utilizando

Leia mais

Processador nanopcs-4

Processador nanopcs-4 Processador nanopcs-4 E.T.M./2012 RESUMO Esta experiência tem por objetivo o projeto do núcleo de um pequeno processador responsável pela execução de operações aritméticas e lógicas,de transferência de

Leia mais

Turma PCS2304. Objetivos. Site da disciplina. Professor Edson Midorikawa Edson T. Midorikawa 25/02/2008.

Turma PCS2304. Objetivos. Site da disciplina. Professor Edson Midorikawa Edson T. Midorikawa 25/02/2008. Turma Projeto Lógico L Digital Edson T. Midorikawa 25/02/2008 Professor Edson Midorikawa edson.midorikawa@poli.usp.br Horário de atendimento: 6ª feira das 10h00 às 11h00 na sala C2-20 Turma 4 automação

Leia mais

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul DEPARTAMENTO: Engenharia Elétrica CURSO: Engenharia Elétrica DISCIPLINA: Sistemas Digitais CÓDIGO: EEL 7020 CRÉDITOS: 04 (02 Teoria e 02 Prática) CARGA HORÁRIA: 72 horas-aula REQUISITOS: OFERTA: Pré-requisito:

Leia mais

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS GERADOR DE SINAIS Versão 2013 RESUMO Esta experiência tem como objetivo a familiarização com o problema da conversão de sinais digitalizados em sinais analógicos, o conversor digital-analógico de 8 bits

Leia mais

Painel Luminoso com LEDs

Painel Luminoso com LEDs Painel Luminoso com LEDs Edson T. Midorikawa/2006 RESUMO Esta experiência consiste no projeto e na implementação do circuito de controle de um painel luminoso composto por LEDs (diodos emissores de luz).

Leia mais

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Capítulo 3 Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer alguns dos principais circuitos digitais sequenciais

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital ARITMÉTICA DECIMAL

EPUSP PCS 2011/2305/2355 Laboratório Digital ARITMÉTICA DECIMAL ARITMÉTICA DECIMAL Versão 2012 RESUMO Nesta experiência será estudado um circuito aritmético de soma e subtração decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283).

Leia mais

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul DEPARTAMENTO: Engenharia Elétrica CURSO: Engenharia Elétrica DISCIPLINA: Sistemas Digitais CÓDIGO: EEL 7020 CRÉDITOS: 04 (02 Teoria e 02 Prática) CARGA HORÁRIA: 72 horas-aula REQUISITOS: OFERTA: Pré-requisito:

Leia mais

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES CALCULADORA SIMPLES E.T.M./2003 (revisão e adaptação) E.T.M. e M.D.M./2005 (revisão) RESUMO Esta experiência tem por objetivo a utilização de circuitos integrados de soma binária para o desenvolvimento

Leia mais

Sistemas Digitais Transferências entre Registradores

Sistemas Digitais Transferências entre Registradores Sistemas Digitais Transferências entre Registradores Referência Bibliográfica: Logic and Computer Design Fundamentals Mano & Kime Adaptações: josé artur quilici-gonzalez Sumário Transferências entre Registradores

Leia mais

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS GERADOR DE SINAIS Versão 2014 RESUMO Esta experiência tem como objetivo a familiarização com o problema da conversão de sinais digitalizados em sinais analógicos, o conversor digital-analógico de 8 bits

Leia mais

SISTEMAS DIGITAIS PROJETOS DE SISTEMAS SEQUENCIAIS. Professor Carlos Muniz

SISTEMAS DIGITAIS PROJETOS DE SISTEMAS SEQUENCIAIS. Professor Carlos Muniz PROJETOS DE SISTEMAS SEQUENCIAIS Professor Carlos Muniz Introdução Um sistema digital em geral pode ser representado por um circuito digital sequencial. A figura 1 ilustra a estrutura básica de um sistema

Leia mais

Projeto Moderno de Sistemas Digitais

Projeto Moderno de Sistemas Digitais Projeto Moderno de Sistemas Digitais Edson Midorikawa 1 Tópicos Projeto Convencional Projeto com HDLs e FPGAs Fluxo de Projeto Moderno Codificação em HDLs Altera DE2 Digilent Nexys 3 2 Tecnologias de Lógica

Leia mais

Sistemas Digitais Módulo 10 Circuitos Sequenciais: Latches e Flip-Flops

Sistemas Digitais Módulo 10 Circuitos Sequenciais: Latches e Flip-Flops Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 0 Circuitos Sequenciais: Latches e Flip-Flops Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof.

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

Sistemas Digitais I LESI :: 2º ano. Introdução

Sistemas Digitais I LESI :: 2º ano. Introdução Sistemas Digitais I LESI :: 2º ano Introdução António Joaquim Esteves João Miguel Fernandes www.di.uminho.pt/~aje Bibliografia: capítulo 1, DDPP, Wakerly DEP. DE INFORMÁTICA ESCOLA DE ENGENHARIA UNIVERSIDADE

Leia mais

Sistema de Aquisição de Dados

Sistema de Aquisição de Dados Sistema de Aquisição de Dados E.T.M./2012 (versão inicial) RESUMO Nesta experiência será desenvolvido o projeto de um sistema de aquisição e armazenamento de dados analógicos em formato digital. O sinal

Leia mais

Introdução a Sistemas Digitais

Introdução a Sistemas Digitais Introdução a Sistemas Digitais Definição Sistemas Digitais Projeto Revisão: Circuitos Combinacionais Circuitos Sequênciais Máquinas de Estados Sistemas Digitais Definição Um sistema digital é um sistema

Leia mais

SIMULAÇÃO DE CIRCUITOS

SIMULAÇÃO DE CIRCUITOS SIMULAÇÃO E CIRCUITOS Versão 2012 RESUMO Nesta experiência será discutido o procedimento de simulação de circuitos digitais, em particular sua importância dentro de uma metodologia para projeto de sistemas

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 3.0 - Português Aula N o 22: Título: Sumário: Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo Projecto de máquinas

Leia mais

FPGA & VHDL. Tutorial

FPGA & VHDL. Tutorial FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves

Leia mais

Escola Politécnica de Pernambuco Departamento de Engenharia Elétrica PROGRAMA EMENTA OBJETIVOS

Escola Politécnica de Pernambuco Departamento de Engenharia Elétrica PROGRAMA EMENTA OBJETIVOS PROGRAMA Disciplina: ELETRÔNICA DIGITAL Código: ELET0037 Carga Horária Semestral: 60 HORAS Obrigatória: sim Eletiva: Número de Créditos: TEÓRICOS: 04; PRÁTICOS: 00; TOTAL: 04 Pré-Requisito: ELET0033 ELETRONICA

Leia mais

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno Fundamentos de Sistemas Digitais Lógica Sequencial Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno 2 Referências Sugiro estudarem nesta ordem de preferência: Floyd, Cap 7 até 7.4, 9, 10. Não tem

Leia mais

Somadores Binários E.T.M./2005 (revisão)

Somadores Binários E.T.M./2005 (revisão) Somadores Binários E.T.M./2005 (revisão) RESUMO Esta experiência tem por objetivo a familiarização com somadores binários, notadamente os paralelos, que realizam a soma simultânea de todos os bits de dois

Leia mais

Uma Introdução às Linguagens de Descrição de Hardware

Uma Introdução às Linguagens de Descrição de Hardware Uma Introdução às Linguagens de Descrição de Hardware Edson T. Midorikawa (2001) revisado em 03/2007 Este texto tem como objetivo apresentar de forma bem sucinta as Linguagens de Descrição de Hardware,

Leia mais

Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO

Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO INTRODUÇÃO Um sistema pode ser definido como sendo um conjunto de elementos que são interligados de alguma maneira para compor um todo e assim realizar funcionalidade

Leia mais

Unidade Lógica e Aritmética

Unidade Lógica e Aritmética Unidade Lógica e Aritmética J.L.R.B. e P.S.C./2001 (revisão) E.T.M./2002 (revisão e adaptação) E.T.M./2003 (revisão) E.T.M./2005 (revisão) E.T.M./2008 (revisão) RESUMO Esta experiência tem por objetivo

Leia mais

PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018

PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3. Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018 PLANEJAMENTO DAS DISCIPLINAS DE SISTEMAS DIGITAIS NA EC3 Workshop de Graduação do PCS Prof. Edson S. Gomi 31 de julho de 2018 Disciplina PréRequisito Semestral Quadrimestral PCS3115 Sistemas Digitais I

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Unidade Lógica e Aritmética

Unidade Lógica e Aritmética Unidade Lógica e Aritmética J.L.R.B. e P.S.C./2001 (revisão) E.T.M./2002 (revisão e adaptação) E.T.M./2003 (revisão) E.T.M./2005 (revisão) E.T.M./2008 (revisão) E.T.M./2011 (revisão) RESUMO Esta experiência

Leia mais

SIMULAÇÃO DE CIRCUITOS

SIMULAÇÃO DE CIRCUITOS SIMULAÇÃO DE CIRCUITOS Edson T. Midorikawa, Ricardo Caneloi dos Santos e Dante Tantalean / 2002 E.T.M./2003 (revisão) E.T.M./2004 (revisão) E.T.M./2005 (revisão) RESUMO Nesta experiência serão discutidos

Leia mais

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo

Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuito de Dados e Circuito de Controlo Aula Anterior Na aula anterior: Memórias: Circuitos e tecnologias de memória: o RAM: Estática Dinâmica

Leia mais

Divisão de Engenharia Eletrônica Laboratório de ELE-20

Divisão de Engenharia Eletrônica Laboratório de ELE-20 Versão original: Prof. Duarte Lopes de Oliveira Versão digital : TCel. Fábio Durante Prof. de Laboratório: Prof. Giovanni Fernandes Amaral Sala 183 IEEA gfamaral@ita.br Divisão de Engenharia Eletrônica

Leia mais

Departamento de Engenharia Elétrica. ELE Microprocessadores I. Prof. Carlos Antonio Alves Sala 59 Fone

Departamento de Engenharia Elétrica. ELE Microprocessadores I. Prof. Carlos Antonio Alves Sala 59 Fone Departamento de Engenharia Elétrica ELE 1078 - Microprocessadores I Prof. Carlos Antonio Alves Sala 59 Fone 3743-1224 caa@dee.feis.unesp.br 1 P R O G R A M A D E E N S I N O OBJETIVOS Compreender o funcionamento

Leia mais

Exemplo 1 de Projeto de Circuito Síncrono: Multiplicador Binário

Exemplo 1 de Projeto de Circuito Síncrono: Multiplicador Binário PS234 MULTIPLIAOR BINÁRIO Rev. Exemplo de Projeto de ircuito Síncrono: Multiplicador Binário Resumo elaborado por Edith Ranzini, a apartir do livro KIME, R; MANO, M.M. Logic and omputer esign Fundamentals.

Leia mais

Programa Analítico de Disciplina INF251 Organização de Computadores I

Programa Analítico de Disciplina INF251 Organização de Computadores I 0 Programa Analítico de Disciplina INF51 Organização de Computadores I Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas:

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS

Leia mais

Aula 17. Máquina de Estados Parte 1. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Aula 17. Máquina de Estados Parte 1. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira Aula 17 Máquina de Estados Parte 1 SEL 0414 - Sistemas Digitais Prof. Dr. Marcelo Andrade da Costa Vieira Bibliografia l l l Tocci, R. J.; Widmer, N. S. Sistemas Digitais Princípios e Aplicações. 8ª Ed.,

Leia mais

Projeto de Circuitos Aritméticos

Projeto de Circuitos Aritméticos Projeto de Circuitos Aritméticos E.T.M./2011 (adaptação) E.T.M./2012 (revisão) RESUMO Nesta experiência será desenvolvido um circuito aritmético usando a metodologia estruturada apresentada nas experiências

Leia mais

Exercícios de Laboratório 3

Exercícios de Laboratório 3 Tradução do Laboratory Exercise 3 disponível em Exercícios de Laboratório 3 Latches, Flip-Flops e Registradores Este exercício

Leia mais

Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória interna.

Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória interna. AULA 1 Introdução aos Sistemas Seqüenciais pg. 111 a 117 1. SISTEMAS COMBINACIONAIS Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória

Leia mais

Sistemas Digitais (SD)

Sistemas Digitais (SD) Sistemas Digitais (SD) Máquinas de Estado Microprogramadas: Circuitos de Controlo, Transferência e Processamento de Dados Entradas de controlo Saídas de controlo Unidade de controlo Palavra de controlo

Leia mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 2.0 - Português Aula N o 23: Título: Sumário: Máquinas de Estado Microprogramadas: Circuitos de Controlo, Transferência e Processamento de

Leia mais

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 4-T 2. Máquinas Sequenciais Síncronas. Modelos de Moore

Leia mais