cpu-simulator/build/editor/js/layouts/fulladder.js

9 lines
5.6 KiB
JavaScript
Executable File

function loadChip(){
chips = JSON.parse('{"nand":{"image":"img/gates/nand.png","inputs":2,"pins":[0,0,0],"subComponents":[],"wires":[]},"not":{"image":"img/gates/not.png","inputs":1,"pins":[0,0],"subComponents":["nand"],"wires":[{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0}},{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":1}},{"source":{"component":1,"pin":2},"destination":{"component":0,"pin":1}}]},"and":{"image":"img/gates/and.png","inputs":2,"pins":[0,0,0],"subComponents":["nand","nand"],"wires":[{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0}},{"source":{"component":0,"pin":1},"destination":{"component":1,"pin":1}},{"source":{"component":1,"pin":2},"destination":{"component":2,"pin":0}},{"source":{"component":1,"pin":2},"destination":{"component":2,"pin":1}},{"source":{"component":2,"pin":2},"destination":{"component":0,"pin":2}}]},"or":{"image":"img/gates/or.png","inputs":2,"pins":[0,0,0],"subComponents":["nand","nand","nand"],"wires":[{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0}},{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":1}},{"source":{"component":0,"pin":1},"destination":{"component":2,"pin":0}},{"source":{"component":0,"pin":1},"destination":{"component":2,"pin":1}},{"source":{"component":1,"pin":2},"destination":{"component":3,"pin":0}},{"source":{"component":2,"pin":2},"destination":{"component":3,"pin":1}},{"source":{"component":3,"pin":2},"destination":{"component":0,"pin":2}}]},"xor":{"image":"img/gates/xor.png","inputs":2,"pins":[0,0,0],"subComponents":["nand","nand","nand","nand"],"wires":[{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0}},{"source":{"component":0,"pin":1},"destination":{"component":1,"pin":1}},{"source":{"component":0,"pin":0},"destination":{"component":2,"pin":0}},{"source":{"component":1,"pin":2},"destination":{"component":2,"pin":1}},{"source":{"component":1,"pin":2},"destination":{"component":3,"pin":0}},{"source":{"component":0,"pin":1},"destination":{"component":3,"pin":1}},{"source":{"component":2,"pin":2},"destination":{"component":4,"pin":0}},{"source":{"component":3,"pin":2},"destination":{"component":4,"pin":1}},{"source":{"component":4,"pin":2},"destination":{"component":0,"pin":2}}]},"nor":{"inputs":2,"image":"img/gates/nor.png","pins":[0,0,0],"subComponents":["or","not"],"wires":[{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0}},{"source":{"component":0,"pin":1},"destination":{"component":1,"pin":1}},{"source":{"component":1,"pin":2},"destination":{"component":2,"pin":0}},{"source":{"component":2,"pin":1},"destination":{"component":0,"pin":2}}]},"xnor":{"inputs":2,"image":"img/gates/xnor.png","pins":[0,0,0],"subComponents":["xor","not"],"wires":[{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0}},{"source":{"component":0,"pin":1},"destination":{"component":1,"pin":1}},{"source":{"component":1,"pin":2},"destination":{"component":2,"pin":0}},{"source":{"component":2,"pin":1},"destination":{"component":0,"pin":2}}]},"half adder":{"type":"half adder","inputs":2,"pins":[0,0,0,0],"subComponents":["and","xor"],"positions":[{"x":413,"y":299},{"x":293,"y":132}],"wires":[{"source":{"component":0,"pin":1},"destination":{"component":1,"pin":1},"wireId":0},{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0},"wireId":1},{"source":{"component":1,"pin":2},"destination":{"component":0,"pin":3},"wireId":2},{"source":{"component":0,"pin":1},"destination":{"component":2,"pin":1},"wireId":3},{"source":{"component":0,"pin":0},"destination":{"component":2,"pin":0},"wireId":4},{"source":{"component":2,"pin":2},"destination":{"component":0,"pin":2},"wireId":5}]}}');
chip = new Component("main",true,'{"type":"main","inputs":3,"pins":[0,0,0,0,0],"subComponents":["half adder","half adder","or"],"positions":[{"x":110,"y":127},{"x":403,"y":212},{"x":827,"y":287}],"wires":[{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0},"wireId":6},{"source":{"component":0,"pin":1},"destination":{"component":1,"pin":1},"wireId":7},{"source":{"component":1,"pin":2},"destination":{"component":2,"pin":0},"wireId":8},{"source":{"component":0,"pin":2},"destination":{"component":2,"pin":1},"wireId":9},{"source":{"component":2,"pin":2},"destination":{"component":0,"pin":3},"wireId":10},{"source":{"component":1,"pin":3},"destination":{"component":3,"pin":1},"wireId":12},{"source":{"component":2,"pin":3},"destination":{"component":3,"pin":0},"wireId":13},{"source":{"component":3,"pin":2},"destination":{"component":0,"pin":4},"wireId":14}]}');
setTimeout(function(){ wireVisuals = JSON.parse(
'[{"wireId":6,"path":[{"component":0,"pin":0,"shift":false,"rev":1},{"component":1,"pin":0,"shift":false,"offset":0}]},{"wireId":7,"path":[{"component":0,"pin":1,"shift":false,"rev":1},{"component":1,"pin":1,"shift":false,"offset":7}]},{"wireId":8,"path":[{"component":1,"pin":2,"shift":false,"rev":1},{"component":2,"pin":0,"shift":false,"offset":0}]},{"wireId":9,"path":[{"component":0,"pin":2,"shift":false,"rev":1},{"component":2,"pin":1,"shift":false,"offset":14}]},{"wireId":10,"path":[{"component":2,"pin":2,"shift":false,"rev":1},{"component":0,"pin":3,"shift":false,"offset":0}]},{"wireId":12,"path":[{"component":1,"pin":3,"shift":false,"rev":1},{"x":468.085227265954,"y":342.81534092128277,"shift":false,"offset":7},{"component":3,"pin":1,"shift":false,"offset":7}]},{"wireId":13,"path":[{"component":3,"pin":0,"shift":false,"rev":-1},{"component":2,"pin":3,"shift":false,"offset":0}]},{"wireId":14,"path":[{"component":3,"pin":2,"shift":false,"rev":1},{"component":0,"pin":4,"shift":false,"offset":0}]}]' );
},50);
}