Aliaksei Chapyzhenka 9a2434a43d fixes #4
2019-11-20 16:08:23 -08:00

57 lines
1.3 KiB
JavaScript
Executable File

#!/usr/bin/env node
'use strict';
const fs = require('fs-extra');
const async = require('async');
const lib = require('../lib/index.js');
const dir = './tmp/';
fs.readdir(dir).then(files => {
const tt0 = Date.now();
async.eachLimit(files, 2, (fileName, callback) => {
if (!fileName.match(/.vcd$/)) {
callback();
return;
}
const t0 = Date.now();
const inst = lib.parser();
const loads = lib.and();
const stores = lib.and();
const duration = lib.activity(10);
inst.on('$enddefinitions', () => {
const _ = inst.info.wires;
inst.change.on(_.top.TestDriver.testHarness.system.tile.vpu.mem_i_load,
(time, cmd) => {
loads.onA(time, cmd);
stores.onNotA(time, cmd);
}
);
inst.change.on(_.top.TestDriver.testHarness.system.tile.vpu.mem_i_valid,
(time, cmd) => {
loads.onB(time, cmd);
stores.onB(time, cmd);
duration.on(time);
}
);
});
inst.on('finish', () => {
console.log(fileName, duration.time(), loads.time(), stores.time(), ((Date.now() - t0) / 1000 + 's'));
callback();
});
inst.on('error', err => {
console.log(err);
});
fs.createReadStream(dir + fileName).pipe(inst);
}, () => {
console.log('Total time: ' + (Date.now() - tt0) / 1000 + 's');
});
});