Como desenhar diagramas de tempo?

WaveDrom: Uma ferramenta rápida e estilosa

Luiz Gustavo Soares Martins
Arco Elétrico
3 min readMay 12, 2019

--

Se você já precisou desenhar um diagrama de tempo para algum circuito lógico usando apenas régua e lapiseira, sabe que muitas vezes o processo se torna bem entediante. Pensando nisso, iremos conhecer uma ferramenta muito interessante, que auxilia na criação de diagramas de tempo de forma rápida e com um visual moderno. Trata-se do WaveDrom, um editor escrito em JavaScript por Aliaksei Chapyzhenka , o qual possui uma série de vantagens, como:

  • Diagramas criados através de scripts, o que facilita futuras modificações.
  • Visual atrativo.
  • Gera arquivos em formatos JPEG e SVG.
  • Linguagem de fácil aprendizado, baseada em JSON.
  • Possibilidade de criação de diagramas complexos.
Página inicial do WaveDrom

A linguagem utilizada para desenhar os diagramas de tempo é a WaveJSON e você não precisa de nenhum background em JavaScript para aprendê-la. É extremamente intuitiva e com alguns exemplos resolvidos, você irá dominá-la rapidamente. Pensando nisso, os autores criaram um tutorial, carinhosamente apelidado de “Hitchikers’s Guide to WaveDrom”, onde é possível ter acesso à todo o passo a passo para dominar a linguagem.

Um pequeno exemplo

Exemplo de código feito para gerar o diagrama de tempo a seguir.

Como havia sido dito, a linguagem é extremamente intuitiva e editor te dá o resultado automaticamente a cada linha escrita. Portanto, é muito fácil de identificar erros e bugs e concertá-los se torna uma tarefa fácil. Nosso código resulta no seguinte diagrama.

O visual do WaveDrom é realmente incrível.

Este foi apenas um simples exemplo de como a ferramenta funciona. Caso você se interesse, existem muitas outras configurações interessantíssimas e possibilidades de modificar o diagrama de tempo ao seu gosto. Lembrando que é extremamente recomendável que se leia o tutorial antes de tentar desenhar qualquer diagrama.

Baixando na sua própria máquina

O WaveDrom conta ainda com a possibilidade de o usuário poder baixar uma versão do editor e rodá-la na sua máquina. Não acho que seja algo extremamente necessário, mas caso você esteja em um local remoto e seu passatempo seja desenhar diagramas de tempo, então vale muito a pena. Brincadeiras a parte, caso você queria baixar a versão mais recente , clique aqui.

Existe a possibilidade de rodar uma versão local do WaveDrom.

Desenhando circuitos lógicos

Não satisfeito com as utilidades disponíveis, os desenvolvedores introduziram uma segunda ferramenta, que pode ser muito útil: a possibilidade de desenhar circuitos lógicos. O código a seguir nos mostra um exemplo de como desenhar uma porta lógica XOR. E é claro, existe um tutorial para o desenho de circuitos lógicos, que você pode acessar aqui.

Exemplo de código para desenho de uma porta lógica XOR.
Porta lógica XOR gerada.

Existem outras ferramentas para o desenho de diagramas de tempo. Um exemplo muito utilizado é o pacote tikz-timing para Latex,o qual considero um tanto chato de usar. Porém, se o seu objetivo é ter um visual elegante e principalmente, rapidez na hora do desenho, com certeza a melhor ferramenta é o WaveDrom.

Mas me diga, qual ferramente você utiliza para desenhar seus diagramas? Deixe nos comentários.

Muito obrigado e até a próxima!

Referências

https://wavedrom.com/

https://wavedrom.com/tutorial.html

https://wavedrom.com/tutorial2.html

https://groups.google.com/group/wavedrom

https://github.com/wavedrom/wavedrom

--

--

Luiz Gustavo Soares Martins
Arco Elétrico

Estudante de Engenharia Elétrica com Ênfase em Eletrônica na Escola de Engenharia de São Carlos, São Paulo, Brasil.