npm i bit-field
var render = require('bit-filed/lib/render');
var onml = require('onml');
var reg = [
{bits: 8, name: 'data'}
];
var options = {
hspace: 888
};
var jsonml = render(reg, options);
var html = onml.stringify(jsonml);
// <svg...>
bin/bitfield.js [options] > alpha.svg
--input : input JSON filename - must be specified always
--vspace : vertical space - default 80
--hspace : horizontal space - default 640
--lanes : rectangle lanes - default 2
--bits : overall bitwidth - default 32
--bigendian : - default false
--fontfamily : - default sans-serif
--fontweight : - default normal
--fontsize : - default 14
[
{ "name": "IPO", "bits": 8, "attr": "RO" },
{ "bits": 7 },
{ "name": "BRK", "bits": 5, "attr": "RW" },
{ "name": "CPK", "bits": 1 },
{ "name": "Clear", "bits": 3 },
{ "bits": 8 }
]