3

Simcuit - um simulador web de circuitos digitais

A um tempo atrás, na época em que estava no ensino médio (meados de 2024), desenvolvi o Simcuit, um simulador web de circuitos digitais inicialmente pensado para o uso em ambiente acadêmico - já que mutalmente, com o ensino médio, estava fazendo técnico em informática em que havia a disciplina de circutos digitais.

Neste simulador desenvolvi o renderizador, baseado em Canvas 2D, juntamente com o núcleo de processamento e propagação de sinais, onde tive que aplicar conceitos de grafos e eventos; também recursos de movimentação pela cena, comandos de teclado e ajustes dos componentes.

Sobre os componentes, eles são dinâmicos e, tem como embutidos (built-in) e comumente utilizados as portas lógicas digitais: IN, OUT, BUF, NOT, AND, NAND, OR, NOR, XOR e XNOR; além de algumas portas com entradas extras, um 7-Segment Display, e um IC - que é um componente que permite embutir um circuito, preparado anteriormente, como um circuito integrado dentro do circuito atual. Cada componente recebe um Path2D para renderização e lógica interna para processamento de sinais.

O projeto foi desenvolvido em Typescript junto com uma página estática HTML5 com CSS3 embutido, conta com localStorage para manter os dados salvos localmente e exportação/importação de JSON. Além disso também consegui fazer uma apresentação acadêmica do projeto contendo uma pesquisa interna com os discentes da instituição (técnico-médio e graduação) e uma coleta de feedbacks.

Link público para visualização: https://simcuit.pages.dev/

Carregando publicação patrocinada...
1

Não cheguei a testar, mas bem legal seu projeto. Circuítos lógicos é um assunto que particularmente me interessa, é legal. A primeira vez que fiz instruções de multiplicação e divisão de valores inteiros só usando portas lógicas, sem loop, foi um momento mind blowing.

Recomendo à todos a experiência de construir uma CPU do zero só usando portas lógicas. É um belo aprendizado de arquitetura de processadores.