abc9: generate $abc9_holes design instead of <name>$holes
[yosys.git] / misc / yosysjs / yosyswrk.js
1 var Module = {};
2 var verbose_mode = false;
3 var text_buffer = "";
4
5 Module["printErr"] = Module["print"] = function(text) {
6 if (verbose_mode)
7 console.log(text);
8 text_buffer += text + "\n";
9 }
10
11 importScripts('yosys.js');
12
13 onmessage = function(e) {
14 var request = e.data[0];
15 var response = { "idx": request.idx, "args": [] };
16
17 if (request.mode == "run") {
18 response["errmsg"] = "";
19 try {
20 text_buffer = "";
21 Module.ccall('run', '', ['string'], [request.cmd]);
22 } catch (e) {
23 response.errmsg = Module.ccall('errmsg', 'string', [], []);
24 }
25 response.args.push(text_buffer);
26 response.args.push(response.errmsg);
27 text_buffer = "";
28 }
29
30 if (request.mode == "read_file") {
31 try {
32 response.args.push(FS.readFile(request.filename, {encoding: 'utf8'}));
33 } catch (e) { }
34 }
35
36 if (request.mode == "write_file") {
37 try {
38 FS.writeFile(request.filename, request.text, {encoding: 'utf8'});
39 } catch (e) { }
40 }
41
42 if (request.mode == "read_dir") {
43 try {
44 response.args.push(FS.readdir(request.dirname));
45 } catch (e) { }
46 }
47
48 if (request.mode == "remove_file") {
49 try {
50 FS.unlink(request.filename);
51 } catch (e) { }
52 }
53
54 if (request.mode == "verbose") {
55 if (request.value)
56 console.log(text_buffer);
57 verbose_mode = request.value;
58 }
59
60 postMessage([response]);
61 }
62
63 postMessage([{ "idx": 0, "args": [] }]);