README file from
GithubVerilog Bitfield
An Obsidian plugin that renders Verilog bitfield definitions as interactive SVG diagrams and tables. Designed for chip frontend engineers to visualize register layouts directly in their notes.
Features
- Unified syntax — define registers with
name width descriptionand indented children - SVG bitfield diagram — auto layout (horizontal/vertical) based on field label fit
- HTML table view — toggle between diagram and table with one click
- Cross-block references — use
@block_nameto reference definitions across code blocks - Click to navigate — click a
@referenceto scroll to the definition and highlight it - Hover preview — hover over a
@referenceto see a tooltip preview of the definition - Auto-fill reserved — unfilled bits are automatically padded with
reservedat the MSB end - LSB-first allocation — fields defined earlier get lower bits, matching Verilog convention
- Up to 5 levels of nesting
Usage
Wrap your bitfield definitions in a verilog-bitfield code block:
```verilog-bitfield
uart_ctrl 32 UART Control Register
tx_en 1 Transmit enable
rx_en 1 Receive enable
reserved 2
data_bits 2 Data bits select
stop_bits 1 Stop bits select
parity_en 1 Parity enable
```
Cross-block references
Define blocks in one code block and reference them in another:
```verilog-bitfield
uart_ctrl 32 UART Control Register
tx_en 1 Transmit enable
rx_en 1 Receive enable
reserved 2
data_bits 2 Data bits select
uart_status 32 UART Status Register
tx_busy 1 Transmit busy
rx_ready 1 Receive ready
```
```verilog-bitfield
uart_regs 64 UART Register Block
@uart_ctrl 32 Control
@uart_status 32 Status
```
Click @uart_ctrl in the register block to jump to its definition.
Installation
From Obsidian Community Plugins
- Open Settings → Community plugins
- Search for "Verilog Bitfield"
- Install and enable
Manual
- Download
main.js,manifest.json,styles.cssfrom the latest release - Create a folder
verilog-bitfieldin your vault's.obsidian/plugins/directory - Copy the three files into that folder
- Enable the plugin in Settings → Community plugins
License
MIT