/bitfield

:cake: bit field diagram renderer

Primary LanguageJavaScriptMIT LicenseMIT

NPM version Travis appVeyor

Install

npm i bit-field

Library usage

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...>

CLI Usage

bin/bitfield.js [options] > alpha.svg

options

--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

alpha.json

[
    { "name": "IPO",   "bits": 8, "attr": "RO" },
    {                  "bits": 7 },
    { "name": "BRK",   "bits": 5, "attr": "RW" },
    { "name": "CPK",   "bits": 1 },
    { "name": "Clear", "bits": 3 },
    {                  "bits": 8 }
]

alpha.svg

Heat Sink