JIF Shapes

The library provides style-based classes for pyadi-jif block diagrams. Each shape is a D2 class applied with class: <name>. The public class names intentionally match pyadi-jif Node.ntype values.

Usage

import d2

code = """
adc: ADC { class: adc }
ddc: DDC { class: ddc }
framer: JESD204 Framer { class: jesd204framer }

adc -> ddc -> framer
"""

svg = d2.compile(code, library="jif")

Converter And JESD Blocks

Shape

Class

Description

adc

Analog-to-digital converter block.

dac

Digital-to-analog converter block.

DDC

ddc

Digital downconverter or decimation block.

DUC

duc

Digital upconverter or interpolation block.

crossbar

Crossbar, router, or converter datapath mux.

mux

Multiplexer or clock/data select block.

Framer

jesd204framer

JESD204 framer block inside a converter.

Deframer

jesd204deframer

JESD204 deframer block inside a converter.

Framer

framer

Remote JESD204 framer block.

Deframer

deframer

Remote JESD204 deframer block.

Clocking Blocks

Shape

Class

Description

Input

input

External reference, SYSREF, or device-clock input.

Output

out_clock_connected

Output clock pin or connected clock output.

Divider

divider

Clock, feedback, output, or transceiver divider.

PFD

phase-frequency-detector

PLL phase-frequency detector.

Charge Pump

charge-pump

PLL charge-pump block.

Loop Filter

loop-filter

PLL loop-filter block.

VCO

vco

Voltage-controlled oscillator.

VCO

voltage-controlled-oscillator

Long-form VCO class used by some pyadi-jif clock drawings.

CDR

cdr

Clock-data recovery block.

FPGA And System Blocks

Shape

Class

Description

Shell

shell

Grouping shell for internal sub-blocks.

IP

ip

FPGA IP block such as JESD link, transport, or application logic.

PHY

phy

FPGA PHY block.

Transceiver

transceiver

FPGA transceiver block.

SERDES

serdes

Serializer/deserializer block.

Decoder

decoder

Link-layer decoder block.

CPLL

cpll

Channel PLL block.

QPLL

qpll

Quad PLL block.

TRX Dividers

trx-dividers

Transceiver divider and mux group.