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

REF_INCPLLDividerDDCJESD204 FramerPHY
REF_INCPLLDividerDDCJESD204 FramerPHY