Substituir bibliotecas
Agora suponha que tenhamos dois circuitos do Logisim que deveriam fazer a mesma coisa. Como instrutor, você poderia ter pedido aos seus alunos concluírem uma tarefa. Você tem um arquivo que contém sua solução, mas também vários arquivos de alunos contendo seus trabalhos. Talvez a tarefa tenha sido construir um somador de dois bits.
Imaginarei dois arquivos, chamados adder-master.circ
e adder-query.circ. Cada arquivo conterá um circuito chamado
2-bit adder
(é importante que o circuito para teste seja chamado
exatamente igual), cuja aparência poderá ser a seguinte.
adder-master.circ adder-query.circ
Como você poderá ver, o circuito principal usará o somador predefinido no Logisim, enquanto o circuito para teste usará dois subcircuitos representando uma meia-soma e uma soma-completa (os quais serão constituídos apenas por portas simples). Para os fins do nosso exemplo, o circuito para teste terá um erro estúpido: O carry da meia-soma não estará conectado à soma completa.
Nós construíremos o nosso circuito de teste em um arquivo diferente. Lá, carregaremos adder-master.circ como uma biblioteca do Logisim (Projeto > Carregar Biblioteca > Biblioteca do Logisim ...), e inserir seu somador de 2 bits como um subcircuito. Nós poderíamos executar esse circuito diretamente para obter a saída desejada para uma solução perfeita.
java -jar logisim-filename.jar adder-test.circ -tty table
Mas queremos executar o circuito usando adder-query.circ
ao invés de adder-master.circ como o da biblioteca carregada.
A abordagem ingênua seria abrir Logisim e carregar essa biblioteca de uma vez;
ou você poderá simplesmente remover o adder-master.circ e renomear
adder-query.circ para ser chamado de adder-master.circ em vez disso.
Mas Logisim inclui uma prática opção sub
que substituirá
temporariamente um arquivo por outro durante a sessão - sem fazer quaisquer
alterações em disco.
java -jar logisim-filename.jar adder-test.circ -tty table -sub adder-master.circ adder-query.circ
A saída que você iria ver a partir disso é mostrada abaixo, naturalmente é diferente daquela vista na seção anterior já que agora será a execução usando o adder-query.circ errado.
00 00 0E0 01 00 0E1 10 00 EE0 11 00 EE1 00 01 0E1 01 01 0E0 10 01 EE1 11 01 EE0 00 10 EE0 01 10 EE1 10 10 1E0 11 10 1E1 00 11 EE1 01 11 EE0 10 11 1E1 11 11 1E0
Próximo: Outras opções para verificações.