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

8 lines
7.9 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}]},"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":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}]},"ripple carry adder":{"type":"ripple carry adder","inputs":9,"pins":[0,0,0,0,0,0,0,0,0,0,0,0,0,0],"subComponents":["full adder","full adder","full adder","full adder"],"positions":[{"x":157,"y":30},{"x":364,"y":150},{"x":546,"y":224},{"x":734,"y":300}],"wires":[{"source":{"component":0,"pin":0},"destination":{"component":1,"pin":0},"wireId":11},{"source":{"component":0,"pin":4},"destination":{"component":1,"pin":1},"wireId":12},{"source":{"component":0,"pin":8},"destination":{"component":1,"pin":2},"wireId":13},{"source":{"component":0,"pin":1},"destination":{"component":2,"pin":0},"wireId":18},{"source":{"component":1,"pin":4},"destination":{"component":2,"pin":2},"wireId":20},{"source":{"component":0,"pin":5},"destination":{"component":2,"pin":1},"wireId":21},{"source":{"component":1,"pin":3},"destination":{"component":0,"pin":9},"wireId":22},{"source":{"component":2,"pin":3},"destination":{"component":0,"pin":10},"wireId":25},{"source":{"component":2,"pin":4},"destination":{"component":3,"pin":2},"wireId":26},{"source":{"component":0,"pin":2},"destination":{"component":3,"pin":0},"wireId":27},{"source":{"component":0,"pin":6},"destination":{"component":3,"pin":1},"wireId":28},{"source":{"component":3,"pin":3},"destination":{"component":0,"pin":11},"wireId":29},{"source":{"component":3,"pin":4},"destination":{"component":4,"pin":2},"wireId":30},{"source":{"component":0,"pin":7},"destination":{"component":4,"pin":1},"wireId":31},{"source":{"component":0,"pin":3},"destination":{"component":4,"pin":0},"wireId":32},{"source":{"component":4,"pin":3},"destination":{"component":0,"pin":12},"wireId":33},{"source":{"component":4,"pin":4},"destination":{"component":0,"pin":13},"wireId":34}]}}');
chip = new Component("main",true,'{"type":"main","inputs":8,"pins":[0,0,0,0,0,0,0,0,0,0,0,0,0],"subComponents":["ripple carry adder","not","not"],"positions":[{"x":405,"y":151},{"x":288,"y":357},{"x":858,"y":341}],"wires":[{"source":{"component":2,"pin":1},"destination":{"component":1,"pin":8},"wireId":0},{"source":{"component":3,"pin":1},"destination":{"component":0,"pin":12},"wireId":1},{"source":{"component":1,"pin":13},"destination":{"component":3,"pin":0},"wireId":2},{"source":{"component":1,"pin":9},"destination":{"component":0,"pin":8},"wireId":3},{"source":{"component":1,"pin":10},"destination":{"component":0,"pin":9},"wireId":4},{"source":{"component":1,"pin":11},"destination":{"component":0,"pin":10},"wireId":5},{"source":{"component":1,"pin":12},"destination":{"component":0,"pin":11},"wireId":6}]}');
setTimeout(function(){ wireVisuals = JSON.parse(
'[{"wireId":0,"path":[{"component":2,"pin":1,"shift":0,"rev":1},{"component":1,"pin":8,"shift":0,"offset":0}]},{"wireId":1,"path":[{"component":3,"pin":1,"shift":0,"rev":1},{"component":0,"pin":12,"shift":0,"offset":0}]},{"wireId":2,"path":[{"component":3,"pin":0,"shift":0,"rev":-1},{"component":1,"pin":13,"shift":0,"offset":0}]},{"wireId":3,"path":[{"component":1,"pin":9,"shift":0,"rev":1},{"x":1007.085227265954,"y":68.81534092128277,"shift":0,"offset":0},{"component":0,"pin":8,"shift":0,"offset":0}]},{"wireId":4,"path":[{"component":1,"pin":10,"shift":0,"rev":1},{"component":0,"pin":9,"shift":0,"offset":7}]},{"wireId":5,"path":[{"component":1,"pin":11,"shift":0,"rev":1},{"component":0,"pin":10,"shift":0,"offset":14}]},{"wireId":6,"path":[{"component":1,"pin":12,"shift":0,"rev":1},{"component":0,"pin":11,"shift":0,"offset":21}]}]');
},50);
}