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

8 lines
21 KiB
JavaScript
Raw Permalink 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":10,"pins":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"subComponents":["add/sub unit","bitwise and","bitwise xor","8-4 mux","not","and","and","and","not","not","not","8-4 mux","2-1 mux"],"positions":[{"x":187,"y":62},{"x":190,"y":234},{"x":195,"y":380},{"x":559,"y":62},{"x":717,"y":543},{"x":1017,"y":508},{"x":829,"y":415},{"x":829,"y":524},{"x":717,"y":475},{"x":716,"y":416},{"x":716,"y":349},{"x":411,"y":293},{"x":1221,"y":426}],"wires":[{"source":{"component":4,"pin":9},"destination":{"component":0,"pin":10},"wireId":37},{"source":{"component":4,"pin":10},"destination":{"component":0,"pin":11},"wireId":38},{"source":{"component":4,"pin":11},"destination":{"component":0,"pin":12},"wireId":39},{"source":{"component":4,"pin":12},"destination":{"component":0,"pin":13},"wireId":40},{"source":{"component":6,"pin":2},"destination":{"component":0,"pin":15},"wireId":41},{"source":{"component":7,"pin":2},"destination":{"component":6,"pin":0},"wireId":42},{"source":{"component":8,"pin":2},"destination":{"component":6,"pin":1},"wireId":43},{"source":{"component":5,"pin":1},"destination":{"component":8,"pin":1},"wireId":44},{"source":{"component":9,"pin":1},"destination":{"component":8,"pin":0},"wireId":45},{"source":{"component":10,"pin":1},"destination":{"component":7,"pin":1},"wireId":46},{"source":{"component":11,"pin":1},"destination":{"component":7,"pin":0},"wireId":47},{"source":{"component":2,"pin":8},"destination":{"component":12,"pin":0},"wireId":49},{"source":{"component":2,"pin":9},"destination":{"component":12,"pin":1},"wireId":50},{"source":{"component":2,"pin":10},"destination":{"component":12,"pin":2},"wireId":51},{"source":{"component":2,"pin":11},"destination":{"component":12,"pin":3},"wireId":52},{"source":{"component":0,"pin":8},"destination":{"component":1,"pin":8},"wireId":53},{"source":{"component":0,"pin":8},"destination":{"component":12,"pin":8},"wireId":54},{"source":{"component":13,"pin":3},"destination":{"component":0,"pin":14},"wireId":55},{"source":{"component":0,"pin":9},"destination":{"component":13,"pin":2},"wireId":56}]}');
setTimeout(function(){ wireVisuals = JSON.parse(
'[{"wireId":37,"path":[{"component":4,"pin":9,"shift":false,"rev":1},{"component":0,"pin":10,"shift":false,"offset":0}]},{"wireId":38,"path":[{"component":4,"pin":10,"shift":false,"rev":1},{"component":0,"pin":11,"shift":false,"offset":7}]},{"wireId":39,"path":[{"component":4,"pin":11,"shift":false,"rev":1},{"component":0,"pin":12,"shift":false,"offset":14}]},{"wireId":40,"path":[{"component":4,"pin":12,"shift":false,"rev":1},{"component":0,"pin":13,"shift":false,"offset":21}]},{"wireId":41,"path":[{"component":6,"pin":2,"shift":false,"rev":1},{"component":0,"pin":15,"shift":false,"offset":0}]},{"wireId":42,"path":[{"component":7,"pin":2,"shift":false,"rev":1},{"component":6,"pin":0,"shift":false,"offset":0}]},{"wireId":43,"path":[{"component":8,"pin":2,"shift":false,"rev":1},{"component":6,"pin":1,"shift":false,"offset":0}]},{"wireId":44,"path":[{"component":5,"pin":1,"shift":false,"rev":1},{"component":8,"pin":1,"shift":false,"offset":0}]},{"wireId":45,"path":[{"component":9,"pin":1,"shift":false,"rev":1},{"component":8,"pin":0,"shift":false,"offset":0}]},{"wireId":46,"path":[{"component":10,"pin":1,"shift":false,"rev":1},{"component":7,"pin":1,"shift":false,"offset":0}]},{"wireId":47,"path":[{"component":11,"pin":1,"shift":false,"rev":1},{"component":7,"pin":0,"shift":false,"offset":0}]},{"wireId":49,"path":[{"component":12,"pin":0,"shift":false,"rev":-1},{"component":2,"pin":8,"shift":false,"offset":0}]},{"wireId":50,"path":[{"component":12,"pin":1,"shift":false,"rev":-1},{"component":2,"pin":9,"shift":false,"offset":7}]},{"wireId":51,"path":[{"component":12,"pin":2,"shift":false,"rev":-1},{"component":2,"pin":10,"shift":false,"offset":14}]},{"wireId":52,"path":[{"component":12,"pin":3,"shift":false,"rev":-1},{"component":2,"pin":11,"shift":false,"offset":21}]},{"wireId":53,"path":[{"component":0,"pin":8,"shift":false,"rev":1},{"component":1,"pin":8,"shift":false,"offset":56}]},{"wireId":54,"path":[{"component":0,"pin":8,"shift":false,"rev":1},{"x":272.914772734046,"y":528.170454531908,"shift":false,"offset":56},{"component":12,"pin":8,"shift":false,"offset":56}]},{"wireId":55,"path":[{"component":13,"pin":3,"shift":false,"rev":1},{"component":0,"pin":14,"shift":false,"offset":0}]},{"wireId":56,"path":[{"component":0,"pin":9,"shift":false,"rev":1},{"x":512.914772734046,"y":560.170454531908,"shift":false,"offset":63},{"x":742.914772734046,"y":336.17045453190804,"shift":false,"offset":63},{"x":835.914772734046,"y":336.17045453190804,"shift":false,"offset":63},{"x":1036.914772734046,"y":394.17045453190804,"shift":false,"offset":63},{"component":13,"pin":2,"shift":false,"offset":63}]}]');
},50);
}