Public
Edited
Mar 9, 2023
1 fork
Insert cell
Insert cell
Insert cell
wd({reg: [
{bits: 7, name: 'opcode', attr: 'SYSTEM'},
{bits: 5, name: 'rd', attr: '0'},
{bits: 3, name: 'funct3', attr: 'PRIV'},
{bits: 5, name: 'rs1', attr: 'vaddr'},
{bits: 5, name: 'rs2', attr: 'asid'},
{bits: 7, name: 'funct7', attr: 'SINVAL.VMA'},
], config: {hspace: width, bits: 32}})
Insert cell
Insert cell
wd({reg: [
{bits: 7, name: 'opcode', attr: 'SYSTEM'},
{bits: 5, name: 'rd', attr: '0'},
{bits: 3, name: 'funct3', attr: 'PRIV'},
{bits: 5, name: 'rs1', attr: '0'},
{bits: 5, name: 'rs2', attr: '0'},
{bits: 7, name: 'funct7', attr: 'SFENCE.W.INVAL'},
], config: {hspace: width, bits: 32}})
Insert cell
Insert cell
wd({reg: [
{bits: 7, name: 'opcode', attr: 'SYSTEM'},
{bits: 5, name: 'rd', attr: '0'},
{bits: 3, name: 'funct3', attr: 'PRIV'},
{bits: 5, name: 'rs1', attr: '0'},
{bits: 5, name: 'rs2', attr: '1'},
{bits: 7, name: 'funct7', attr: 'SFENCE.INVAL.IR'},
], config: {hspace: width, bits: 32}})
Insert cell
Insert cell
wd({reg: [
{bits: 7, name: 'opcode', attr: 'SYSTEM'},
{bits: 5, name: 'rd', attr: '0'},
{bits: 3, name: 'funct3', attr: 'PRIV'},
{bits: 5, name: 'rs1', attr: 'vaddr'},
{bits: 5, name: 'rs2', attr: 'asid'},
{bits: 7, name: 'funct7', attr: 'HINVAL.VVMA'},
], config: {hspace: width, bits: 32}})
Insert cell
Insert cell
wd({reg: [
{bits: 7, name: 'opcode', attr: 'SYSTEM'},
{bits: 5, name: 'rd', attr: '0'},
{bits: 3, name: 'funct3', attr: 'PRIV'},
{bits: 5, name: 'rs1', attr: 'gaddr'},
{bits: 5, name: 'rs2', attr: 'vmid'},
{bits: 7, name: 'funct7', attr: 'HINVAL.GVMA'},
], config: {hspace: width, bits: 32}})
Insert cell
onml = require('onml')
Insert cell
bitField = require('bit-field@1.3.5')
Insert cell
isa = (obj, opt) => {
const options = Object.assign({hspace: ((width - 8) >> 5) << 5, lanes: 1}, opt);
const ml = ['div', {style: 'background-color: white;'}, bitField.render(obj, options)];
const txt = onml.stringify(ml);
const el = DOM.element('div:div', {});
el.innerHTML = txt;
return el;
}
Insert cell
wavedrom = require('wavedrom@2.6.8')
Insert cell
wd = source => {
const res = document.createElement('div');
wavedrom.renderWaveElement(0, source, res, wavedrom.waveSkin.default);
return res;
}
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more