bom galera nesse pequeno artigo vou mostrar um simples circuito somador binário usado as portas logicas no jogo terraria, lembrando portas logicas é constantemente usadas em eletrônica digital para o desenvolvimento de circuitos mais complexos como o próprio processador da maquina. Como é um somador binário a gente fica limitado apenas a dois estados alto nivel e baixo nivel (5v e 0v na vida real), o numero em si é junção de cada bit como um todo formando uma sequencia de uns e zeros que é equivalente aquele determinado numero final. Podemos converter de binário para decimal e vice versa fazendo algumas operações matemáticas de multiplicação e divisão (não vou abordar sobre isso nesse artigo), a seguir tem uma pequena tabela de decimal para binário para facilitar essa conversão
para esse artigo usei apenas um numero de 2bits que permite incrementar apenas 1bit a ele (como resultado ele pode ter no máximo o numero 100 em binário ou 4 em decimal devido ao carry), embora esse meu circuito seja apenas de 2bits com incremento de um único bit, é possível construir circuitos maiores e mais complexos também (exemplo um somador de 64bits usado nas maquinas atuais), abaixo temos uma tabela da verdade de todas as possibilidades do nosso somador
podemos ver na próxima imagem o exemplo do nosso somador, onde temos alavancas representando a entrada de dados (sendo as duas da ponta o numero em si, e a alavanca do meio o incremento), as tochas representa a nossa saida de dados
se a gente puxar a alavanca 11 vamos ter como resultado 11 nas tochas, devido 11 + 0 ser igual a 11 (ou 3 + 0 = 3 em decimal)
por outro lado se a gente tiver o numero 01 e incrementar 1 a ele, vamos ter como resultado o numero 10 (em decimal seria 1+1=2)
se tiver as duas alavancas acionadas formando o numero binário 11, e a gente incrementar mais 1 a ele, então vamos ter como resultado 100 (é equivalente a operação 3+1=4 em decimal)
a logica do circuito é bastante simples, a porta logica XOR tem uma saída verdadeira se as duas entradas forem diferentes, se as duas entradas forem iguais a saída sera falsa. Com base nessa logica temos o nosso somador devido o numero 1 incrementado com 1 o resultado vai ser o numero 0. Para a gente fazer a logica do "vai um" (carry) para a parte mais significativa do numero usamos a porta logica AND multiplexada junto com a entrada da XOR, a porta logica AND terá uma saída verdadeira quando as duas entradas forem verdadeiras tambem, caso contrario será falso. Essa logica descrita anteriormente seria para cada um dos bit do nosso numero, ou seja, cada bit vai ter uma logica semelhante que deve receber o carry anterior e tratar ele para o incremento do bit atual. abaixo podemos ver os wires e a logica para o somador de 2bits no jogo
essa logica aplicada no terraria tambem é possivel na vida real usando circuitos verdadeiros, como o CI 7486 para a porta XOR com o CI 7408 para a porta AND (isso fica para um futuro tutorial quem sabe!? XD), podemos ver abaixo o exemplo do mesmo circuito sendo simulado no proteus
bom galera esse artigo é bastante simples apenas para demostrar um somador binário usando as portas logicas no terraria, embora simples é possivel expandir criar coisas bem mais complexas com ele inclusive desenvolver um ALU ou ate mesmo um processador completo dentro jogo
by kodo no kami
- Código:
decimal = binario
0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
...
para esse artigo usei apenas um numero de 2bits que permite incrementar apenas 1bit a ele (como resultado ele pode ter no máximo o numero 100 em binário ou 4 em decimal devido ao carry), embora esse meu circuito seja apenas de 2bits com incremento de um único bit, é possível construir circuitos maiores e mais complexos também (exemplo um somador de 64bits usado nas maquinas atuais), abaixo temos uma tabela da verdade de todas as possibilidades do nosso somador
- Código:
00 + 0 = 000
01 + 0 = 001
00 + 1 = 001
01 + 1 = 010
10 + 0 = 010
10 + 1 = 011
11 + 0 = 011
11 + 1 = 100
podemos ver na próxima imagem o exemplo do nosso somador, onde temos alavancas representando a entrada de dados (sendo as duas da ponta o numero em si, e a alavanca do meio o incremento), as tochas representa a nossa saida de dados
se a gente puxar a alavanca 11 vamos ter como resultado 11 nas tochas, devido 11 + 0 ser igual a 11 (ou 3 + 0 = 3 em decimal)
por outro lado se a gente tiver o numero 01 e incrementar 1 a ele, vamos ter como resultado o numero 10 (em decimal seria 1+1=2)
se tiver as duas alavancas acionadas formando o numero binário 11, e a gente incrementar mais 1 a ele, então vamos ter como resultado 100 (é equivalente a operação 3+1=4 em decimal)
a logica do circuito é bastante simples, a porta logica XOR tem uma saída verdadeira se as duas entradas forem diferentes, se as duas entradas forem iguais a saída sera falsa. Com base nessa logica temos o nosso somador devido o numero 1 incrementado com 1 o resultado vai ser o numero 0. Para a gente fazer a logica do "vai um" (carry) para a parte mais significativa do numero usamos a porta logica AND multiplexada junto com a entrada da XOR, a porta logica AND terá uma saída verdadeira quando as duas entradas forem verdadeiras tambem, caso contrario será falso. Essa logica descrita anteriormente seria para cada um dos bit do nosso numero, ou seja, cada bit vai ter uma logica semelhante que deve receber o carry anterior e tratar ele para o incremento do bit atual. abaixo podemos ver os wires e a logica para o somador de 2bits no jogo
essa logica aplicada no terraria tambem é possivel na vida real usando circuitos verdadeiros, como o CI 7486 para a porta XOR com o CI 7408 para a porta AND (isso fica para um futuro tutorial quem sabe!? XD), podemos ver abaixo o exemplo do mesmo circuito sendo simulado no proteus
bom galera esse artigo é bastante simples apenas para demostrar um somador binário usando as portas logicas no terraria, embora simples é possivel expandir criar coisas bem mais complexas com ele inclusive desenvolver um ALU ou ate mesmo um processador completo dentro jogo
by kodo no kami