Altifigence Academy
Projeto digitalGratuito · Iniciante

Circuitos lógicos digitais

Parta dos sinais digitais e de portas básicas como AND, OR e XOR para projetar circuitos combinacionais, latches, flip-flops, contadores e máquinas de estados. Relacione tabelas-verdade, equações, circuitos e formas de onda, e confira-os nas práticas de RTL. Os aprofundamentos opcionais chegam a caminhos de dados e interfaces.

Projeto combinacional e sequencialSystemVerilogInterpretação de formas de onda
Meu aprendizado

O que você vai aprender

  • Distinguir os valores lógicos das tensões e explicar tabelas-verdade, símbolos e circuitos equivalentes de oito tipos de portas.
  • Projetar circuitos combinacionais a partir de uma especificação usando SOP, POS e mapas de Karnaugh, e verificar todas as entradas.
  • Definir condições de entrada e casos de fronteira de codificadores, decodificadores, MUX, DEMUX, somadores e comparadores.
  • Explicar a diferença entre latches e flip-flops e projetar regras de atualização de reset, enable e clock.
  • Implementar contadores, deslocamentos e máquinas de estados em RTL, e analisar temporização, entradas assíncronas e eliminação de rebotes.
  • Verificar o projeto com um modelo de referência independente e concluir um detector do padrão 101 com sobreposição.
  • Ampliar o projeto para ALU, memórias, FIFO, pipelines e interfaces nas unidades opcionais.

Antes de começar

Os exercícios no navegador usam modelos educacionais; não compilam nem executam HDL. Para executar o código separadamente, siga o guia do Digital Design Studio para seu sistema operacional e entre na conta quando a operação exigir.

Instalação e primeiro uso ↗ · Downloads ↗

Programa

  1. Sinais digitais e representação de números
    • Sinais digitais: quando uma tensão representa 0 ou 1Conceito

      Distinga valores lógicos de tensões e calcule limites de entrada, margens de ruído e atrasos de propagação.

    • Sistemas numéricos e representação de largura fixaConceito

      Além de converter bases, calcule intervalos, larguras necessárias e erros de truncamento.

  2. Portas básicas e tabelas-verdade
    • Portas básicas: AND, OR, NOT e BUFFERConceito

      Relacione símbolos e tabelas-verdade e combine várias portas para expressar condições.

    • NAND, NOR e símbolos de inversãoConceito

      Identifique o alcance da negação e relacione símbolos e equações equivalentes por De Morgan.

    • XOR e XNOR: igualdade, diferença e paridadeConceito

      Distinga a XOR de duas entradas da paridade de várias entradas e explique os limites da detecção de erros.

    • Portas universais: construa circuitos apenas com NANDConceito

      Demonstre por construção a completude funcional de NAND e NOR e verifique os sinais intermediários de uma XOR.

  3. Das expressões lógicas ao projeto de circuitos
    • Álgebra booleana, transformações equivalentes e custo de implementaçãoConceito

      Transforme circuitos por De Morgan e fatoração e distinga equivalência lógica de temporização.

    • Da tabela-verdade à expressão: mintermos, maxtermos, SOP e POSConceito

      Obtenha a mesma função a partir das linhas com 1 e com 0 e relacione suas notações ao mapa de Karnaugh.

    • Mapas de Karnaugh e condições de don’t-careConceito

      Simplifique expressões com a adjacência do código Gray e explicite hipóteses sobre entradas não usadas.

    • Prática de projeto: da especificação à maioria de três entradasPrática

      Converta uma especificação verbal em uma tabela completa e conecte minimização, implementação e teste exaustivo.

  4. Circuitos de endereçamento e seleção
    • Decodificadores, seleção one-hot e entradas válidasConceito

      Converta endereços binários em linhas de seleção e defina enable, intervalos e invariantes.

    • Codificadores e prioridade: escolha uma entre várias solicitaçõesConceito

      Distinga a hipótese one-hot de um codificador simples das saídas valid e de seleção de um codificador de prioridade.

    • DEMUX e decodificador: envie dados pelo caminho selecionadoConceito

      Compare direção e função de MUX, DEMUX e decodificador e verifique one-hot e one-hot-or-zero.

    • Sinais e portas: contratos de largura, direção e tempoConceito

      Leia interfaces e separe os critérios de verificação de saídas combinacionais e de estado.

    • Da tabela-verdade ao MUX e à expansão de ShannonConceito

      Derive a seleção por equações e decomponha qualquer função lógica com um MUX.

  5. Circuitos aritméticos e largura de bits
    • Somadores e propagação do carryConceito

      Derive as equações do somador completo e analise função, largura e atraso do carry em cascata.

    • Complemento de dois, extensão de sinal e overflowConceito

      Distinga a interpretação signed e as condições de overflow com equações e contraexemplos.

    • Comparadores e especificação dos limitesConceito

      Distinga comparações unsigned e signed dos mesmos bits e verifique condições de fronteira.

  6. Latches, flip-flops e armazenamento de estado
    • O início da memória: realimentação e latches SR e DConceito

      Compreenda os dois estados estáveis do acoplamento cruzado, a entrada proibida de SR e a transparência do latch D.

    • Flip-flop D: do nível à bordaConceito

      Compare os instantes de atualização de latches e flip-flops e relacione registrador, setup e hold.

    • Flip-flops, enable e prioridade de controleConceito

      Defina manutenção, carga e reset como próximo estado e evite criar gating de clock involuntário.

    • Transições síncronas e função do clockConceito

      Interprete o sistema síncrono como registradores que leem o mesmo estado anterior.

  7. Implementação e verificação RTL de um MUX
    • Seleção combinacional e latência de uma saída registradaConceito

      Analise como interface e latência mudam ao armazenar a saída de um MUX.

    • RTL combinacional e atribuições completasConceito

      Expresse a mesma função com o operador condicional e always_comb e encontre omissões que inferem latches.

    • Prática: teste exaustivo do MUX e análise da saída registradaPrática

      Aplique as mesmas entradas aos caminhos combinacional e registrado e verifique pela tabela-verdade e pelos instantes de captura.

    • Instantes de amostragem e causalidade nas formas de ondaConceito

      Separe estabilização combinacional, captura de clock e ordem de eventos ao ler formas de onda.

    • Verificação do MUX: teste exaustivo e propriedadesConceito

      Confira separadamente a cobertura combinacional e o armazenamento e reduza os contraexemplos.

    • Verificação de projeto: equivalência de seleção e instante de observaçãoVerificação

      Distinga verificações resolvidas por tabelas-verdade daquelas que exigem observar o clock.

  8. Contadores e projeto de estados discretos
    • Quantidade de estados, largura do contador e códigos não usadosConceito

      Calcule bits de armazenamento a partir do intervalo e defina a recuperação de estados inválidos.

    • Próximo estado do contador e prioridade do resetConceito

      Integre incremento, manutenção, reset e retorno modular em uma especificação e calcule cada borda.

    • Atribuições não bloqueantes e atualização simultâneaConceito

      Separe valores anteriores e seguintes para interpretar corretamente contadores e pipelines RTL.

    • Prática: verifique reset, retorno modular e invariantes do contadorPrática

      Compare cada borda com uma referência e separe os efeitos de inicialização, reset e largura.

    • Contadores modulares, saturação e pulsos de términoConceito

      Projete a política do máximo e o ciclo exato do sinal de fim de contagem.

    • Depuração do contador e contraexemplos mínimosConceito

      Projete testes curtos que distingam erros de reset, enable e retorno na fronteira.

    • Verificação de projeto: limites de largura, prioridade e retornoVerificação

      Resolva fronteiras e controles simultâneos a partir de uma especificação de transição.

  9. Registradores de deslocamento e fluxo de dados
    • Índices de vetor, ordem de bits e sinalConceito

      Distinga índices, ordem de transmissão serial e interpretação aritmética ao ler caminhos de dados.

    • Entrada serial e limites de quadroConceito

      Defina ordem e bordas válidas e calcule a disposição dos bits numa conversão serial-paralela.

    • Equações de estado do registrador de deslocamentoConceito

      Expresse o movimento como transição vetorial e relacione comprimento de armazenamento com latência.

    • Larguras de fatias, concatenação e repetição de bitsConceito

      Calcule largura total e preservação do valor ao construir caminhos de dados.

    • Prática: verifique o movimento serial e a ordem dos bitsPrática

      Use referências binárias e inteiras para verificar direção, descarte de bits e latência após reset.

    • Distinga latência em ciclos e taxa de processamentoConceito

      Fixe o ponto de observação de uma linha de N estágios e quantifique latência e taxa.

    • Verificação do deslocamento e alinhamento entre dados e validConceito

      Detecte defeitos ocultos por padrões simétricos e desalinhamentos de um ciclo em valid.

    • Verificação de projeto: latência, alinhamento e preservação das entradasVerificação

      Confira direção, quantidade de movimentos válidos e referência de observação.

  10. Temporização, entradas reais e projeto integrado
    • Setup, hold e orçamento temporalConceito

      Separe atrasos máximos e mínimos e calcule a condição de hold, independente da frequência.

    • Hazards lógicos e limites da equivalênciaConceito

      Analise como dois circuitos equivalentes em regime estável podem produzir transientes diferentes devido aos atrasos.

    • Cruzamentos de domínios de clock e metaestabilidadeConceito

      Compreenda o alcance do sincronizador de dois estágios e distinga níveis de um bit, pulsos curtos e transferências multibit.

    • Botões reais: sincronização, debounce e um único eventoConceito

      Distinga sincronização e rebote dos contatos e projete um filtro de amostras consecutivas.

    • Máquinas de estados: separe estado, transição e saídaConceito

      Construa uma FSM a partir da tabela e compare Moore, Mealy, estados ilegais e política de solicitações.

    • Plano de verificação, cobertura e referência independenteConceito

      Distinga testes aprovados do cumprimento dos requisitos e planeje fronteiras, cruzamentos de condições e contraexemplos mínimos.

    • Projeto integrado: detector do padrão 101 com sobreposiçãoConceito

      Aplique minimização de estados, entrada válida, saída registrada e referência independente em um projeto.

  11. Aprofundamento opcional · Caminhos de dados aritméticos
    • ALU e flags zero, negative, carry e overflowConceito

      Implemente ADD/SUB com um somador compartilhado e derive comparações distinguindo carry de overflow signed.

    • Barrel shifter e estágios de MUXConceito

      Implemente deslocamentos variáveis com estágios de 1,2,4,8 posições e controle direção, sinal e quantidades fora do intervalo.

    • Ponto fixo, arredondamento e saturaçãoConceito

      Defina intervalos com W,F e implemente arredondamento para o par com guard/sticky e saturação posterior.

    • Multiplicador unsigned multiciclo por deslocamento e somaConceito

      Distribua a acumulação de produtos parciais em W ciclos e verifique aceitação, conclusão, última soma, largura e invariantes.

  12. Aprofundamento opcional · Memórias e FIFO
    • Memória síncrona e contrato de colisões entre leitura e escritaConceito

      Distinga resposta registrada, read-first, write-first e no-change, e separe valid da inicialização de endereços.

    • Banco de registradores de duas leituras e uma escrita com bypassConceito

      Implemente leituras independentes e escrita síncrona e confira bypass por endereço, inicialização e valid.

    • Ponteiros e políticas de fronteira de uma FIFO de clock únicoConceito

      Implemente os ponteiros e a ocupação de uma FIFO de profundidade 4 e defina quando push e pop simultâneos são aceitos com a fila vazia ou cheia.

    • Plano de verificação de FIFO e memória com scoreboard independenteConceito

      Use uma fila de referência independente dos ponteiros e planeje a verificação de fronteiras, reset, valid e leituras de posições não inicializadas.

  13. Aprofundamento opcional · Pipelines e interfaces
    • Ready/valid e um buffer elástico de uma posiçãoConceito

      Projete a condição de transferência e a entrada e saída simultâneas para que um caminho de dados que pode parar não perca nem duplique elementos.

    • Pipeline de multiplicação e soma e alinhamento de dadosConceito

      Divida o cálculo por registradores e mantenha alinhados os dados, valid e os operandos auxiliares de cada transação.

    • Pipeline com parada e backpressureConceito

      Calcule ready por estágio para evitar perda, duplicação e recálculo durante paradas e movimentações simultâneas.

    • Interface de registradores e instante dos efeitos de uma operaçãoConceito

      Especifique endereços, escritas por byte e paradas de resposta para que cada solicitação produza exatamente uma alteração de estado.

    • Prática integradora: transmissor UART e temporização de quadrosConceito

      Combine um contador divisor, um registrador de deslocamento e controle de fluxo para gerar quadros 8N1 e verificar os limites entre bits.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.