Neste tutorial, vamos modelar o CI CD4071. Este CI é composto por 4 portas OR independentes. O objetivo é reproduzir o comportamento deste CI em Verilog, emulando-o na C-Board como ilustrado na Figura 1.

CD4071 emulation on the Pitanga Virtual C-Board

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

Seguiremos um fluxo semelhante ao dos outros tutoriais: compreensão da função lógica, implementação de uma porta isolada, validação na C-Board e expansão até o circuito completo.

O que é o Circuito Integrado CD4071?

O CD4071 é um circuito integrado CMOS da série 40001 composto por quatro portas lógicas OR de duas entradas2. Como as portas são independentes, cada uma pode ser empregada separadamente em diferentes partes de um projeto digital.

A porta OR produz nível lógico 1 quando pelo menos uma de suas entradas está em 1. Sua saída será 0 apenas quando ambas as entradas estiverem em 0.

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

O CD4071 contém 4 portas OR2 independentes. Seu diagrama lógico-funcional, indicado na Figura 2, será usado como referência para a criação da interface Verilog e para o mapeamento da pinagem na Plataforma Pitanga.

CD4071 Functional Diagram

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

A partir da Figura 2, iremos definir a tabela de entradas e saídas e implementar a primeira porta lógica do circuito.

Descrevendo a Funcionalidade do CD4071 com uma porta OR

A partir das informações contidas na Figura 2, elaboramos a Tabela 1. Essa tabela vai nos ajudar a compreender o CI CD4071 quando o descrevermos em Verilog.

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

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

Em seguida, vamos escolher uma única porta OR para validarmos o conceito. Sera a porta a indicada na Figura 2. Em Verilog, a descrição dessa porta fica assim:

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

    or(J, A, B);    // OR a
endmodule

A construção or em Verilog atribui a saída J no primeiro parâmetro, enquanto as duas entradas A e B devem ser atribuídas ao segundo e terceiro parâmetros.

Na sequência, vamos mapear essa porta aos componentes 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 inserir os códigos nos editores da Plataforma Pitanga e clicar em Run, o relatório de design deve indicar uma única instância de OR2, além de 3 wires, 1 cell e 5 ports. O detalhamento do resultado esperado encontra-se no relatório a seguir:

Top level design units:
    cd4071

Build succeeded: 0 errors, 0 warnings
                     DESIGN SUMMARY REPORT
  module     : cd4071
  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             0 | XOR2              0 
  AND3              0 | NAND3             0 | XOR3              0
  AND4              0 | NAND4             0 | XOR4              0
  OR2               1 | 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 : 6/500 transistors (1.20 %)

Na emulação, o LED led0 deve acender quando pelo menos uma das chaves sw0 ou sw1 estiver ativada, tal como indicado na Figura 3.

CD4071 OR2 gate emulation

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

Verifique se os resultados de sua porta OR2 estão de acordo com a tabela-verdade indicada na Tabela 2. Faça experimentos até comprender bem o comportamento dessa porta.

ABJ = OR(A, B)
000
011
101
111

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

Projetando o Circuito Integrado CD4071 na C-Board

Depois de validar a primeira porta OR2, basta replicá-la para as portas b, c e d (ver Figura 2).

// Descrição do Circuito CD4071
module cd4071(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 OR2
    or(J, A, B);    // porta 'a'
    or(K, C, D);    // porta 'b'
    or(L, E, F);    // porta 'c'
    or(M, G, H);    // porta 'd'
endmodule

O mapeamento completo para a C-Board segue o padrão de seis chaves, dois botões e quatro LEDs.

// Sintaxe:
//  <port>  =   <etiqueta do componente na placa>;
// Mapeamento do CD4071 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;

Uma vez compilado, o relatório deve acusar 4 instâncias de OR2, além de 4 cells, 12 wires e 14 ports. Segue o relatório resumido detalhando essas informações abaixo:

Top level design units:
    cd4071

Build succeeded: 0 errors, 0 warnings
                     DESIGN SUMMARY REPORT
  module     : cd4071
  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             0 | XOR2              0 
  AND3              0 | NAND3             0 | XOR3              0
  AND4              0 | NAND4             0 | XOR4              0
  OR2               4 | 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 : 24/500 transistors (4.80 %)

Emulando o Circuito Integrado CD4071 na Pitanga C-Board

Note que cada LED acende quando pelo menos uma das entradas da porta correspondente está ativa. Ou seja, led0 responde ao par de chaves sw0/sw1, led1 responde ao par de chaves sw2/sw3, led2 responde ao par de chaves sw4/sw5 e led3 responde ao par de chaves btn0/btn1.

Se você possui uma assinatura Pitanga Student , use a S-Board. A S-Board, além de permitir projeto maiores, possui mais componentes virtuais. Com ela, você consegue utilzar o par de chaves sw4/sw5, facilitando a validação da porta OR d atribuída aos botões btn0/btn1 neste projeto.

CD4071 emulation on the Pitanga Virtual S-Board

Figura 4. Exemplo de emulação do CI CD4071 na S-Board Virtual Pitanga.

Conclusão

Neste tutorial, aprendemos a emular o CI CD4071 a partir da descrição Verilog de uma porta OR de duas entradas (OR2). Expandimos a solução para 4 portas OR2 independentes, tal como no CI CD4071. Com isso, foi possível aprender a projetar e mapear o CD4071, validando o projeto do CI na Plataforma Pitanga.

Referências


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

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