Projetar o circuito integrado (CI) CD4011 em Verilog é um exercício bastante natural para quem deseja avançar no estudo de circuitos digitais usando a Plataforma Pitanga. Neste tutorial, vamos descrever esse CI em Verilog e verificá-lo por meio do Sistema de Emulação Pitanga usando a Placa Virtual C-Board. O resultado esperado é a emulação das quatro portas lógicas NAND de duas entradas, como sugerido na Figura 1.

CD4011 emulation on the Pitanga Virtual C-Board

Figura 1. Emulação do circuito integrado CD4011 na C-Board Virtual Pitanga. O LED led3 está conectado na saída de uma NAND com ambas as entradas em 0.

Ao longo do tutorial, vamos percorrer as mesmas etapas adotadas nos exemplos anteriores: interpretação do CI, descrição em Verilog de uma porta lógica isolada, validação com pinagem simples e expansão para o circuito completo.

O que é o Circuito Integrado CD4011?

O CD4011 é um circuito integrado CMOS da série 40001 composto por quatro portas lógicas NAND de duas entradas. Como as quatro portas são independentes, é possível utilizar cada uma separadamente no mesmo projeto.

A lógica NAND pode ser interpretada como a negação da operação AND. Assim, sua saída somente será 0 quando as duas entradas estiverem simultaneamente em 1. Em qualquer outro caso, a saída será 1.

Qual é a pinagem e o diagrama lógico do CD4011?

O CD4011 é composto por 4 portas NAND de duas entradas independentes (NAND2)2, conforme indicado na Figura 2.

CD4011 Functional Diagram

Figura 2. Diagrama lógico e disposição de pinos do CI CD4011. Fonte: [2]

Com base nessa organização , podemos partir para a modelagem funcional da primeira porta NAND2 do circuito.

Descrevendo a Funcionalidade do CD4011 com uma porta NAND

Para manter a mesma convenção usada ao longo deste tutorial, e com a ajuda da Figura 2, vamos organizar as portas do CI conforme a Tabela 1.

PinoDireçãoDescrição
AEntradaPino de entrada para a NAND a
BEntradaPino de entrada para a NAND a
CEntradaPino de entrada para a NAND b
DEntradaPino de entrada para a NAND b
EEntradaPino de entrada para a NAND c
FEntradaPino de entrada para a NAND c
GEntradaPino de entrada para a NAND d
HEntradaPino de entrada para a NAND d
JSaídaPino de saída da NAND a
KSaídaPino de saída da NAND b
LSaídaPino de saída da NAND c
MSaídaPino de saída da NAND d
Vdd-Fonte de alimentação positiva
Vss-Fonte de alimentação negativa

Tabela 1. Descrição das portas do CI CD4011.

Antes de expandir para o CI completo, vamos projetar uma única porta NAND a. O código Verilog correspondente é o seguinte:

module cd4011(A, B, J);
    input   A, B;   output J;

    nand(J, A, B);  // NAND a
endmodule

Na descrição acima, a construção nand recebe três parâmetros: a saída e as duas entradas da porta lógica. A, B e J já fazem parte da interface do módulo e se conectam diretamente na construção nand sem a necessidade de criar sinais auxiliares.

Agora, vamos mapear as entradas e saídas do módulo aos componentes virtuais da C-Board.

// Texto seguido de duas barras consectivas não é processado pela Pitanga (comentário)
//  PORTA       COMPONENTE NA PLACA
    A       =   sw0;
    B       =   sw1;
    J       =   led0;

Depois de colar o código Verilog e o código de pinagem nos editores da Plataforma Pitanga, compile o projeto clicando em Run. O relatório de design deve indicar uma única instância de NAND2, além de 3 wires, 1 cell e 5 ports. Compare os seus resultados com o relatório abaixo:

Top level design units:
    cd4011

Build succeeded: 0 errors, 0 warnings
                     DESIGN SUMMARY REPORT
  module     : cd4011
  design file: pitanga.v
  pinout file: pitanga.pinout

Total number of wires: 3
Total number of cells: 1
Total number of ports: 5

  Cell      Instances   Cell      Instances   Cell      Instances
 -----------------------------------------------------------------
  AND2              0 | NAND2             1 | XOR2              0 
  AND3              0 | NAND3             0 | XOR3              0
  AND4              0 | NAND4             0 | XOR4              0
  OR2               0 | NOR2              0 | XNOR2             0
  OR3               0 | NOR3              0 | XNOR3             0
  OR4               0 | NOR4              0 | XNOR4             0
 -----------------------------------------------------------------
  BUF               0 | INV               0 | DFFRSE            0

Cells utilization: 1
Transistor count : 4/500 transistors (0.80 %)

Por fim, verifique a saída o LED led0 para todas as combinações de entrada das chaves sw0 e sw1. Use a tabela-verdade da NAND2 na Tabela 2.

ABJ = NAND(A, B)
001
011
101
110

Tabela 2. Tabela-verdade de uma porta lógica NAND2.

A emulação deve se comportar conforme indicado na Figura 3.

CD4011 NAND2 gate emulation

Figura 3. Emulação de uma porta lógica NAND de duas entradas.

Projetando o Circuito Integrado CD4011 na C-Board

Depois de validar a porta NAND2 a, basta replicar a mesma construção para as portas NAND2 b, c e d, obtendo a descrição completa do CI.

// Descrição do Circuito CD4011
module cd4011(A, B, C, D, E, F, G, H, J, K, L, M);
// Declaração e direcionamento das portas
    input   A, B;   output J; // entradas e saída da porta 'a'
    input   C, D;   output K; // entradas e saída da porta 'b'
    input   E, F;   output L; // entradas e saída da porta 'c'
    input   G, H;   output M; // entradas e saída da porta 'd'

// Portas lógicas NAND2
    nand(J, A, B);  // porta 'a'
    nand(K, C, D);  // porta 'b'
    nand(L, E, F);  // porta 'c'
    nand(M, G, H);  // porta 'd'
endmodule

Como o CD4011 também possui 8 entradas e 4 saídas, a mesma estratégia de mapeamento da C-Board continua válida: seis chaves deslizantes e dois botões virtuais para as entradas, quatro LEDs para as saídas.

// Sintaxe:
//  <port>  =   <etiqueta do componente na placa>;
// Mapeamento do CD4011 na C-Board
// portas de entrada
    A   =   sw0;    B   =   sw1;
    C   =   sw2;    D   =   sw3;
    E   =   sw4;    F   =   sw5;
    G   =   btn0;   H   =   btn1;
// portas de saída
    J   =   led0;
    K   =   led1;
    L   =   led2;
    M   =   led3;

Após a compilação, o relatório da Pitanga deve indicar 4 instâncias de NAND2, além de 4 cells, 12 wires e 14 ports.

Top level design units:
    cd4011

Build succeeded: 0 errors, 0 warnings
                     DESIGN SUMMARY REPORT
  module     : cd4011
  design file: pitanga.v
  pinout file: pitanga.pinout

Total number of wires: 12
Total number of cells: 4
Total number of ports: 14

  Cell      Instances   Cell      Instances   Cell      Instances
 -----------------------------------------------------------------
  AND2              0 | NAND2             4 | XOR2              0 
  AND3              0 | NAND3             0 | XOR3              0
  AND4              0 | NAND4             0 | XOR4              0
  OR2               0 | NOR2              0 | XNOR2             0
  OR3               0 | NOR3              0 | XNOR3             0
  OR4               0 | NOR4              0 | XNOR4             0
 -----------------------------------------------------------------
  BUF               0 | INV               0 | DFFRSE            0

Cells utilization: 4
Transistor count : 16/500 transistors (3.20 %)

Emulando o Circuito Integrado CD4011 na Pitanga C-Board

Com o projeto completo carregado, observe o comportamento dos LEDs led0 a led3. Cada LED deve permanecer apagado apenas quando as duas entradas da porta correspondente estiverem simultaneamente em nível lógico 1. Esse é o comportamento característico de uma porta NAND de duas entradas.

Tal como acontece com outros CIs de 8 entradas na C-Board, a validação da última porta pode ficar limitada pela interação simultânea com btn0 e btn1. Nesse caso, a S-Board, através da assinatura Pitanga Student , oferece uma forma mais direta de testar as quatro portas do CI usando apenas chaves deslizantes.

CD4011 emulation on the Pitanga Virtual S-Board

Figura 4. Exemplo de emulação do CI CD4011 na S-Board Virtual Pitanga (requer uma assinatura Pitanga Student ).

Conclusão

Ao longo deste tutorial, modelamos o CD4011 em Verilog, testamos inicialmente uma porta NAND2 isolada e, em seguida, expandimos a descrição para um circuito completo. Com isso, tornou-se possível compilar e emular o CI CD4011 na Plataforma Pitanga, verificando seu comportamento lógico de forma visual.

Referências


  1. B. Lojek, History of Semiconductor Engineering. Berlin, Germany: Springer, 2007. ↩︎

  2. Texas Instruments. CD4011B CMOS Quad 2-Input NAND Gates. Disponível em: https://www.ti.com/lit/ds/symlink/cd4011b.pdf . Acesso em: 10 jun. 2026. ↩︎