A Pitanga é uma plataforma inovadora para o projeto e verificação de circuitos digitais descritos em Verilog, baseada em um novo conceito de prototipação. Diferentemente das abordagens tradicionais que utilizam dispositivos lógico-programáveis, como CPLDs e FPGAs, a Pitanga adota arquiteturas microprocessadas e microcontroladas para a prototipagem dos projetos. Isso permite que usuários experimentem e validem seus circuitos de forma acessível, interativa e em tempo real, sem a necessidade de hardware especializado.

Por ser uma plataforma capaz de responder aos estímulos do circuito projetado pelo usuário em tempo real, a Pitanga é melhor definida como um emulador de hardware, um conceito ainda inexplorado no ensino de circuitos digitais. De grosso modo, um emulador de hardware é um software capaz de replicar o comportamento de uma arquitetura descrita em código Verilog em um sistema físico diferente do hardware original. Quando utilizado em projeto de circuitos digitais, o emulador de hardware replica o comportamento de uma arquitetura que ainda não existe, permitindo a verificação assistida por hardware em tempo real antes mesmo do hardware ter sido fabricado.

As seções a seguir irão guiá-lo no processo de instalação e configuração da Pitanga, ou Sistema de Emulação Pitanga. Ao final do processo, você terá a oportunidade de experimentar um emulador de hardware em ação, o que o fará entender o seu conceito de forma prática, sem a necessidade de nos estendermos em longas explicações.

Sumário

Requisitos do Sistema

Para a sua primeira emulação na Pitanga, você vai precisar de uma assinatura ativa da Pitanga Student ou Pitanga Student+ , de um módulo TM1638 e de uma placa Arduino. Escolha a lista correspondente à placa que você vai utilizar.

Com Arduino Uno Rev3:

Com Arduino Nano:

  • 01 x módulo TM1638
  • 01 x placa Arduino Nano ou compatível
  • 05 x jumpers do tipo fêmea-fêmea
  • 01 x cabo USB compatível com a sua placa (Mini-B, Micro-USB ou USB-C, dependendo do modelo)

Quanto ao computador, este precisa de

  • Windows 10 ou superior
  • Navegador Google Chrome
  • Processador Intel dual-core CPU 2 GHz ou superior
  • Mínimo de 4 GB RAM
  • Conectividade com Internet

Testando a Conexão com o Emulador Pitanga

Antes de partir para o processo de instalação, iremos verificar a qualidade da conexão entre o motor de simulação Pitanga e o seu computador. Para isso, entre na sua conta, acesse o ambiente de projeto online Pitanga Web e, em seguida, carregue o exemplo disponibilizado, conforme indicado nas Figuras 1 e 2.

Carregando exemplo de código em Verilog funcional na Pitanga Web.

Figura 1. Carregando exemplo de código em Verilog funcional na Pitanga Web.

Carregando exemplo de código de pinagem funcional na Pitanga Web.

Figura 2. Carregando exemplo de código de pinagem funcional na Pitanga Web.

Em seguida, clique no botão “Run”. Este botão está localizado ao lado direito da placa S (S-board) ou, alternativamente, na barra de ícones no canto esquerdo inferior, conforme indicado na Figura 3.

Botão 'Run' na barra de ferramentas da Pitanga Web.

Figura 3. Botão ‘Run’ na barra de ferramentas da Pitanga Web.

Após a compilação do projeto exemplo, um relatório será impresso no console e a placa virtual S vai começar a funcionar. Por enquanto, não se preocupe com o funcionamento deste projeto e os resultados no console da Pitanga Web. Apenas posicione o ponteiro do mouse sobre o ícone RTT, indicado pela Figura 4. Este ícone representa o tempo de ida de volta de um pacote de dados de seu computador até o simulador Pitanga. No exemplo da Figura 4, o tempo de ida e volta do pacote de dados é de 23ms. Este tempo pode variar, a depender da qualidade de sua conexão.

Indicador de RTT (Round-Trip Time) na Pitanga Web.

Figura 4. Indicador de RTT (Round-Trip Time) na Pitanga Web.

A leitura do indicador RTT, além de lhe mostrar se a conexão entre o seu navegador e o emulador Pitanga está funcionando, é um ótimo indicador para medir a qualidade da sua conexão.

A tabela a seguir resume os valores de RTT e o correspondente impacto na percepção de responsividade do sistema de emulação Pitanga pelo usuário:

RTTResponsividadeImpacto
RTT < 50msExcelenteEmulação sem atraso percetível ao usuário
50ms < RTT < 150msBoaEmulação sem atraso percetível para a grande maioria dos usuários
150ms < RTT < 250msRazoávelEmulação com atraso percetível a grande maioria dos usuários
250ms < RTT < 500msRuimEmulação com atraso percetível ao usuário. Sistema de emulação não responsivo.
RTT < 500msPéssimoEmulação com muito atraso. Sistema de emulação não responsivo.

Tabela 1. Tempos de ida e volta (RTT) e respectivo impacto no Sistema de Emulação Pitanga.

Usando a tabela acima, interaja com a placa virtual, clicando em seus botões. Analise o indicador RTT, verificando se a sua conexão é de qualidade suficiente para uma experiência de emulação fluida. Se o indicador RTT mostrar um valor superior a 250ms por muitos segundos seguidos, sugerimos que você verifique a sua rede de Internet.

Por fim, pare a emulação, clicando no botão “Stop”, localizado no mesmo local do botão “Run”.

Agora que verificamos a qualidade da conexão entre o seu navegador e o emulador Pitanga, podemos partir para a montagem do hardware Arduino Uno Rev3 e módulo TM1638, de forma a realizar a emulação deste projeto em hardware microcontrolado.

Instalando o Agente Pitanguino

O Agente Pitanguino é o software que conecta o emulador Pitanga na nuvem ao mundo real. Este agente faz a interface de comunicação entre o seu navegador e o hardware de emulação (Arduino Uno + módulo TM1638), permitindo que você obtenha a experiência de interagir com o circuito projetado em tempo real.

Antes de partirmos para a instalação do Pitanguino, vamos verificar como o sistema se comporta antes de instalarmos o Pitanguino. Para isso, na Pitanga Web, ative o módulo de emulação, localizado na barra lateral de ícones, conforme indicado na Figura 5.

Botão de acesso ao módulo de emulação por cabo USB.

Figura 5. Botão de acesso ao módulo de emulação por cabo USB.

Logo após acessar este módulo, você irá perceber que o o console de saída da Pitanga Web irá mostrar a seguinte mensagem:

Pitanguino Agent was not found.
Ensure that the agent is installed and running on your computer.
Visit https://blog.inplace-da.com for more information.

Note, também, que o indicador “Agent Connected” está em vermelho, indicando que o agente Pitanguino não foi encontrado no seu computador (ver Figura 6). Essa mensagem quer dizer que o seu navegador web está tentando se comunicar com o agente Pitanguino, mas não consegue encontrá-lo. Isso ocorre porque o agente Pitanguino ainda não foi instalado em seu sistema.

Mensagem indicando que o Agente Pitanguino não foi encontrado.

Figura 6. Mensagem indicando que o Agente Pitanguino não foi encontrado.

Para resolver este problema, siga as instruções da próxima seção para instalar o agente Pitanguino e estabelecer a conexão entre o seu navegador e o hardware de emulação.

Baixando o Agente Pitanguino

O agente Pitanguino é desenvolvido pela InPlace e está disponível gratuitamente para download. Siga os passos a seguir para baixar o agente Pitanguino e instalá-lo em seu sistema:

Importante: o Pitanguino precisa de uma assinatura ativa da Pitanga Student ou Pitanga Student+ para funcionar. Se você ainda não tem uma assinatura ativa, adquira a sua clicando aqui .

  1. Baixe o agente Pitanguino Pitanguino-Windows-Setup.exe

    Alternativamente, acesse https://downloads.inplace-da.com/pitanguino/latest/ e clique no arquivo Pitanguino-Windows-Setup.exe

  2. Em seguida, abra o arquivo Pitanguino-Windows-Setup.exe no seu computador. Selecione o idioma de instalação e clique em “OK” (Figura 7)
    Seleção do idioma de instalação do Pitanguino.

    Figura 7. Seleção do idioma de instalação do Pitanguino.

  3. Na tela Selecionar Tarefas Adicionais, selecione “Criar um atalho na área de trabalho” e clique em “Avançar”. Em seguida, clique em “Instalar” e aguarde o término da instalação
  4. Na tela seguinte, marque a opção “Iniciar o Pitanguino” e clique em “Concluir”. O agente Pitanguino irá iniciar automaticamente, conforme indicado na Figura 8.
    Agente Pitanguino instalado e em execução.

    Figura 8. Agente Pitanguino instalado e em execução.

Minimize a janela do agente Pitanguino Agent e retorne para a Pitanga Web. Clique no botão “Check” e veja o indicador “Agent Connected” mudar de vermelho para verde, conforme Figura 9.

Agente Pitanguino conectado ao emulador Pitanga na nuvem.

Figura 9. Agente Pitanguino conectado ao emulador Pitanga na nuvem.

Isso indica que o agente Pitanguino está conectado ao emulador Pitanga na nuvem. Porém, o agente Pitanguino não detectou a placa Arduino Uno, conforme mensagem no console de saída da Pitanga Web:

Pitanguino Agent has failed to detect the board.
Ensure that the USB cable is functional and properly connected to your board.
Visit https://blog.inplace-da.com for more information.

Na seção a seguir, iremos configurar o Sistema de Emulação Pitanga para detectar o hardware de emulação.

Conectando a Placa Arduino Uno

Conecte o seu computador a placa Arduino com o cabo USB. Volte para a Pitanga Web e clique no botão “Check”. Ao fazer isso, você verá que o indicador de status “Arduino” vai passar da cor vermelha para a verde, indicando que a placa Arduino foi detectada (Figura 10).

Pitanguino conectado à placa Arduino Uno.

Figura 10. Pitanguino conectado à placa Arduino Uno.

Importante: placas Arduino SMD antigas precisam de um driver mais antigo para serem reconhecidas pelo Sistema de Emulação Pitanga. Estas placas normalmente não são detectadas em sistemas Windows 10 e 11. Se este for o seu caso, veja a seção “Solução para Placas Arduino Antigas”

No entanto, o console de saída mostra que o agente Pitanguino não reconhece o firmware gravado na placa Arduino.

Pitanguino Agent has failed to recognize the firmware on the board.
Click the “Flash” button to upload the Pitanguino firmware to your board.
Visit https://blog.inplace-da.com for more information.

Isso ocorre porque a placa Arduino não possui o firmware desenvolvido pela InPlace necessário para o correto funcionamento do Sistema de Emulação Pitanga. É necessário que você grave este firmware e, para isso, será necessário instalar o utilitário AVRDUDE.

Instalando o AVRDUDE

O AVRDUDE (AVR Downloader UploaDEr) é utilizado para gravar programas compilados na memória flash do microcontrolador ATmega328P presente na placa Arduino Uno Rev3.

Para instalar o AVRDUDE em seu sistema, siga os passos a seguir:

  1. Faça o download do arquivo avrdude-v8.1-windows-x64.zip , localizado no repositório GitHub AVRDUDE .
  2. Abra a pasta onde o AVRDUDE foi salvo. Em seguida, clique com o botão direito sobre o arquivo compactado avrdude-v8.1-windows-x64.zip e, no menu pop-up, selecione “Extrair tudo…”. Na janela que se abrir, clique no botão “Procurar” (Figura 11)
    Busca pela pasta de extração do AVRDUDE.

    Figura 11. Busca pela pasta de extração do AVRDUDE.

  3. Em seguida, digite %LOCALAPPDATA%\Pitanguino no campo “Pasta” (Figura 12). Certifique-se de pressionar “Enter” para que a variável de ambiente %LOCALAPPDATA% seja substituída com o caminho absoluto de seu computador.
  4. Volte para a tela anterior clicando no botão “Selecionar pasta”. Clique em “Extrair”
    Definindo o caminho de extração do AVRDUDE.

    Figura 12. Definindo o caminho de extração do AVRDUDE.

Pronto! O AVRDUDE acaba de ser instalado no seu sistema. Este utilitário é essencial para gravar o firmware que irá conectar o emulador Pitanga à placa Arduino através do agente Pitanguino.

Gravando o Firmware na Arduino

Após instalado o AVRDUDE em seu sistema, volte para a Pitanga Web IDE e atualize o navegador. Antes de gravar o firmware, selecione o modelo da placa no campo “Model”: escolha “Arduino Uno” se estiver usando uma Arduino Uno Rev3, ou “Arduino Nano” se estiver usando uma Arduino Nano (Figura 13.1).

Seleção do modelo da placa Arduino no módulo de emulação da Pitanga Web.

Figura 13.1. Seleção do modelo da placa Arduino no módulo de emulação da Pitanga Web.

Em seguida, clique no botão “Flash”.

O AVRDUDE irá gravar o firmware da InPlace na sua placa Arduino. Este firmware reconhece a comunicação do agente Pitanguino e, consequentemente, a comunicação com o emulador Pitanga. O sucesso desta etapa é indicada através do indicador ‘Firmware’ com um sinal de check em verde (Figura 13.2)

Conectando o emulador Pitanga ao Arduino através do Pitanguino.

Figura 13.2. Conectando o emulador Pitanga ao Arduino através do Pitanguino

Além disso, no console da Pitanga Web, a seguinte mensagem será impressa, mostrando que o Sistema de Emulação Pitanga está pronto para ser executado.

Pitanguino Agent has connected to the board successfully.
Click the “Run” button to start hardware emulation.

Porém, antes de clicar em “Run”, é necessário conectar a placa Arduino ao módulo TM1638.

Conectando o Módulo TM1638

Agora vem o momento de conectar a placa Arduino ao módulo TM1638. Desligue o cabo USB do seu computador e faça as conexões entre as placas usando cinco jumpers. A pinagem é a mesma para a Arduino Uno Rev3 e para a Arduino Nano:

ArduinoMódulo TM1638
5VVCC
GNDGND
D8STB
D2CLK
D5DIO

O tipo de jumper depende da placa utilizada:

Placa ArduinoTipo de jumper
Arduino Uno Rev3macho-fêmea
Arduino Nanofêmea-fêmea

Se você está usando a Arduino Uno Rev3, siga o esquema da Figura 14.

Esquema de conexões entre a placa Arduino Uno Rev3 e o módulo TM1638.

Figura 14. Esquema de conexões entre a placa Arduino Uno Rev3 e o módulo TM1638.

Se você está usando a Arduino Nano, siga o esquema da Figura 14.1.

Esquema de conexões entre a placa Arduino Nano e o módulo TM1638.

Figura 14.1. Esquema de conexões entre a placa Arduino Nano e o módulo TM1638.

Por fim, conecte o cabo USB ao seu computador, clique em “Check” e, em seguida, “Run”. O projeto exemplo da Pitanga Web, um contador de 2 bits, será compilado e carregado imediatamente no Sistema de Emulação Pitanga.

Solução para Placas Arduino Antigas

Se você não está conseguindo se conectar a sua placa Arduino, e recebe constantemente a seguinte mensagem no console de saída da Pitanga Web

Pitanguino Agent has failed to detect the board.

talvez você esteja enfrentando uma das seguintes situações:

  1. a sua placa não é uma Arduino Uno Rev3
  2. o seu cabo USB está com defeito
  3. a sua placa Arduino Uno Rev3 está com defeito
  4. o driver de comunicação com a placa Arduino Uno Rev3 não é compatível

Se a sua placa é uma Arduino Uno Rev3 (1), você já trocou o cabo USB (2) e certificou-se que a sua placa Arduino está funcionando (3), é muito provável que sua placa é antiga e depende de um driver igualmente antigo para conectá-la ao Sistema de Emulação Pitanga.

Confirmando se o driver de comunicação é compatível com a a sua placa

As placas clones Arduino SMD utilizam um chip chamado CH340. Este chip atua como uma ponte USB-to-Serial, permitindo que o agente Pitanguino se comunique a placa Arduino. No entanto, a depender do ano de lançamento da placa Arduino, o sistema Windows pode não reconher o protocolo de comunicação, sendo necessário reverter o driver CH340 para uma versão mais antiga que a instalada no sistema.

Para se certificar que o driver de comunicação CH340 em seu sistema Windows é compatível com a versão de sua Arduino Uno, siga os passos a seguir:

  1. Conecte a sua placa Arduino Uno Rev3 ao seu computador através do cabo USB
  2. No menu do Windows, procure por “Gerenciador de Dispositivos” e abra-o.
  3. No Gerenciador de Dispositivos, expanda o item “Portas (COM e LPT)”. Clique com o botão direito sobre o subitem “USB-SERIAL CH340 (COMX)”, onde “X” é um número designado pelo sistema Windows. Em seguida, clique em Propriedades.
    Portas (COM e LPT) identificadas em um sistema Windows.

    Figura 15. Portas (COM e LPT) identificadas em um sistema Windows.

Instalando o driver CH340 compatível com sua placa Arduino

Se você chegou até este passo, seu o driver CH340 está instalado e funcionando, o cabo USB está transmitindo dados (e não apenas energia) e o sistema operacional está pronto para estabelecer uma conexão serial (geralmente via protocolo UART). No entanto, a versão do driver está incorreta e você precisa instalar um driver mais antigo.

  1. Em Propriedades, clique na aba Driver. No exemplo da Figura 16, a versão do driver é 3.9.2024.9.
    Versão de driver incompatível com placas Arduino Uno Rev3 SMD antigas no Windows 11.

    Figura 16. Versão de driver incompatível com placas Arduino Uno Rev3 SMD antigas no Windows 11.

  2. Faça o download do instalador do driver CH341SER-3.4.2014.8.EXE para Windows.
  3. Dê um duplo clique no instalador CH341SER-3.4.2014.8.EXE e, em seguida, clique em INSTALL. Não remova o cabo USB enquanto o LED “L” da placa Arduino estiver piscando. Aguarde o término da instalação do driver.
    Interface de instalação do driver CH341 versão 3.4.2014.8 no Windows 11.

    Figura 17. Interface de instalação do driver CH341 versão 3.4.2014.8 no Windows 11.

Pronto! Você acaba de instalar um driver CH340 compatível com o seu sistema. Antes de retornar para a seção “Conectando o agente Pitanguino a sua placa Arduino Uno Rev3” , certifique-se que este driver não seja automaticamente atualizado para a versão mais recente sem a sua permissão.

Garantindo que o Windows não atualize automaticamente o driver CH340

Eventualmente, o Windows pode atualizar o driver CH340 para a versão mais recente. Para evitar que isso ocorra sem o seu consentimento e faça o Sistema de Emulação Pitanga parar de funcionar, siga os passos a seguir:

  1. Abra a caixa de execução de comandos do Windows com @Win + R@ e digite o comando @sysdm.cpl@. Em “Propriedades do Sistema”, clique na aba “Hardware”.
    Janela de Propriedades do Sistema no Windows 11.

    Figura 18. Janela de Propriedades do Sistema no Windows 11.

  2. Clique no botão Configurações de Instalação do Dispositivo. Na janela que se abrir, marque a opção Não para garantir que o Windows não atualize este driver sem o seu consentimento. Salve as alterações e saia.
    Desabilitando a atualização automática do driver CH340 no Windows 11.

    Figura 19. Desabilitando a atualização automática do driver CH340 no Windows 11.

Pronto! Agora volte para a seção “Conectando a Placa Arduino Uno” e termine o processo de configuração do Sistema de Emulação Pitanga.

Conclusão

Parabéns! Você acaba de emular em hardware o seu primeiro circuito digital na Pitanga. Com essa configuração, você pode experimentar circuitos digitais descritos em Verilog de forma interativa e em tempo real, utilizando tanto a emulação virtual quanto a emulação física.

Experimente emular mais circuitos, tais como os disponíveis na seção de Tutoriais