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

8 lines
15 KiB
JavaScript
Raw Normal View History

2023-12-15 19:43:36 +00:00
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}]},"full adder":{"type":"full adder","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"
chip = new Component("main",true,'{"type":"main","inputs":9,"pins":[0,0,0,0,0,0,0,0,0,0,0,0,0,0],"subComponents":["2-1 mux","subtractor","ripple carry adder","8-4 mux"],"positions":[{"x":642,"y":373},{"x":250,"y":239},{"x":221,"y":57},{"x":672,"y":131}],"wires":[{"source":{"component":1,"pin":3},"destination":{"component":0,"pin":13},"wireId":4},{"source":{"component":0,"pin":0},"destination":{"component":3,"pin":0},"wireId":5},{"source":{"component":0,"pin":1},"destination":{"component":3,"pin":1},"wireId":6},{"source":{"component":0,"pin":2},"destination":{"component":3,"pin":2},"wireId":7},{"source":{"component":0,"pin":3},"destination":{"component":3,"pin":3},"wireId":8},{"source":{"component":0,"pin":4},"destination":{"component":3,"pin":4},"wireId":9},{"source":{"component":0,"pin":5},"destination":{"component":3,"pin":5},"wireId":10},{"source":{"component":0,"pin":6},"destination":{"component":3,"pin":6},"wireId":11},{"source":{"component":0,"pin":7},"destination":{"component":3,"pin":7},"wireId":12},{"source":{"component":0,"pin":8},"destination":{"component":1,"pin":2},"wireId":14},{"source":{"component":4,"pin":9},"destination":{"component":0,"pin":9},"wireId":20},{"source":{"component":4,"pin":10},"destination":{"component":0,"pin":10},"wireId":21},{"source":{"component":4,"pin":11},"destination":{"component":0,"pin":11},"wireId":22},{"source":{"component":4,"pin":12},"destination":{"component":0,"pin":12},"wireId":23},{"source":{"component":0,"pin":8},"destination":{"component":4,"pin":8},"wireId":24},{"source":{"component":3,"pin":9},"destination":{"component":4,"pin":0},"wireId":25},{"source":{"component":3,"pin":10},"destination":{"component":4,"pin":1},"wireId":26},{"source":{"component":3,"pin":11},"destination":{"component":4,"pin":2},"wireId":27},{"source":{"component":3,"pin":12},"destination":{"component":4,"pin":3},"wireId":28},{"source":{"component":3,"pin":13},"destination":{"component":1,"pin":0},"wireId":29}]}');
setTimeout(function(){ wireVisuals = JSON.parse(
'[{"wireId":4,"path":[{"component":1,"pin":3,"shift":false,"rev":1},{"component":0,"pin":13,"shift":false,"offset":0}]},{"wireId":5,"path":[{"component":0,"pin":0,"shift":false,"rev":1},{"component":3,"pin":0,"shift":false,"offset":0}]},{"wireId":6,"path":[{"component":0,"pin":1,"shift":false,"rev":1},{"component":3,"pin":1,"shift":false,"offset":7}]},{"wireId":7,"path":[{"component":0,"pin":2,"shift":false,"rev":1},{"component":3,"pin":2,"shift":false,"offset":14}]},{"wireId":8,"path":[{"component":0,"pin":3,"shift":false,"rev":1},{"component":3,"pin":3,"shift":false,"offset":21}]},{"wireId":9,"path":[{"component":0,"pin":4,"shift":false,"rev":1},{"component":3,"pin":4,"shift":false,"offset":28}]},{"wireId":10,"path":[{"component":0,"pin":5,"shift":false,"rev":1},{"component":3,"pin":5,"shift":false,"offset":35}]},{"wireId":11,"path":[{"component":0,"pin":6,"shift":false,"rev":1},{"component":3,"pin":6,"shift":false,"offset":42}]},{"wireId":12,"path":[{"component":0,"pin":7,"shift":false,"rev":1},{"component":3,"pin":7,"shift":false,"offset":49}]},{"wireId":14,"path":[{"component":0,"pin":8,"shift":false,"rev":1},{"x":354.085227265954,"y":393.81534092128277,"shift":false,"offset":56},{"component":1,"pin":2,"shift":false,"offset":56}]},{"wireId":20,"path":[{"component":4,"pin":9,"shift":false,"rev":1},{"component":0,"pin":9,"shift":false,"offset":0}]},{"wireId":21,"path":[{"component":4,"pin":10,"shift":false,"rev":1},{"component":0,"pin":10,"shift":false,"offset":7}]},{"wireId":22,"path":[{"component":4,"pin":11,"shift":false,"rev":1},{"component":0,"pin":11,"shift":false,"offset":14}]},{"wireId":23,"path":[{"component":4,"pin":12,"shift":false,"rev":1},{"component":0,"pin":12,"shift":false,"offset":21}]},{"wireId":24,"path":[{"component":4,"pin":8,"shift":false,"rev":-1},{"x":310.085227265954,"y":393.81534092128277,"shift":false,"offset":56},{"component":0,"pin":8,"shift":false,"offset":56}]},{"wireId":25,"path":[{"component":3,"pin":9,"shift":false,"rev":1},{"component":4,"pin":0,"shift":false,"offset":0}]},{"wireId":26,"path":[{"component":3,"pin":10,"shift":false,"rev":1},{"component":4,"pin":1,"shift":false,"offset":7}]},{"wireId":27,"path":[{"component":3,"pin":11,"shift":false,"rev":1},{"component":4,"pin":2,"shift":false,"offset":14}]},{"wireId":28,"path":[{"component":3,"pin":12,"shift":false,"rev":1},{"component":4,"pin":3,"shift":false,"offset":21}]},{"wireId":29,"path":[{"component":3,"pin":13,"shift":false,"rev":1},{"component":1,"pin":0,"shift":false,"offset":28}]}]');
},50);
}