JIF Component Library¶
The built-in JIF component library provides style-based shapes for diagrams
generated by pyadi-jif. Enable it by passing library="jif" to
d2.compile().
import d2
code = """
direction: right
adc: ADC { class: adc }
ddc: DDC { class: ddc }
framer: JESD204 Framer { class: jesd204framer }
adc -> ddc -> framer
"""
svg = d2.compile(code, library="jif")
The JIF library is designed to match pyadi-jif Node.ntype values. When
pyadi-jif draws a node with Node("ADC", ntype="adc"), it emits
class: adc and compiles with library="jif".
Use the JIF library to create:
Converter datapaths — ADC, DAC, DDC, DUC, and crossbar blocks
JESD links — framers, deframers, serializer/deserializer blocks, and IP layers
Clock trees — dividers, PLLs, charge pumps, loop filters, and VCOs
FPGA paths — PHY, transceiver, CPLL/QPLL, decoder, and transport blocks