Skip to content

Commit ec61312

Browse files
committed
Update main index doc page
Signed-off-by: Travis F. Collins <travis.collins@analog.com>
1 parent 6fd33f2 commit ec61312

1 file changed

Lines changed: 58 additions & 1 deletion

File tree

doc/source/index.md

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# pyadi-jif: Python interface for the ADI JESD Interface Framework
22

3-
This project tries to simplify JESD204 configuration exploration and validation for ADI JESD based converters and clock chips with different FPGA vendors.
3+
**pyadi-jif** is a Python modeling and configuration tool that simplifies JESD204 interface setup for Analog Devices converters, clock chips, and FPGAs. It can automatically solve for valid clock divider settings and JESD204 link parameters at both the individual component level and across a complete system.
44

55
```{image} _static/logos/PyADI-JIF_logo_w_cropped.png?://
66
:class: only-dark
@@ -53,6 +53,63 @@ This project tries to simplify JESD204 configuration exploration and validation
5353
:width: 75%
5454
```
5555

56+
## What is pyadi-jif?
57+
58+
JESD204 is a high-speed serial interface standard used to connect data converters (ADCs and DACs) to FPGAs. Configuring a JESD204 system requires coordinating clock frequencies, lane rates, and link parameters across multiple chips simultaneously — a process that is error-prone when done manually.
59+
60+
**pyadi-jif** models the constraints of each component (converter, clock chip, FPGA transceiver) and uses a constraint solver to automatically find valid configurations. It supports both:
61+
62+
- **Component-level** use: configure a single clock chip or verify an existing setup in isolation.
63+
- **System-level** use: solve for a complete, consistent configuration across converter + clock + FPGA together.
64+
65+
## Key Features
66+
67+
- Automatic constraint solving for JESD204B/C clock and link parameters
68+
- Models for ADI converters (ADCs, DACs, MxFEs), clock chips (HMC7044, AD9523-1, AD9545), and FPGA transceivers (Xilinx, Intel)
69+
- Interactive web-based **JIF Tools Explorer** (`jiftools`) for graphical configuration and exploration
70+
- MCP server for AI assistant integration
71+
- Clock tree and system block diagram generation
72+
73+
## Quick Start
74+
75+
Install with pip and launch the interactive tools:
76+
77+
```bash
78+
pip install 'pyadi-jif[cplex,tools,draw]'
79+
jiftools
80+
```
81+
82+
Or use the Python API directly:
83+
84+
```python
85+
import adijif
86+
87+
# System-level: solve converter + clock + FPGA together
88+
sys = adijif.system("ad9680", "ad9523_1", "xilinx", vcxo=125e6)
89+
sys.converter.sample_clock = 1e9
90+
sys.converter.decimation = 1
91+
sys.converter.L = 4
92+
sys.converter.M = 2
93+
sys.converter.N = 14
94+
sys.converter.Np = 16
95+
sys.converter.K = 32
96+
sys.converter.F = 1
97+
sys.fpga.setup_by_dev_kit_name("zc706")
98+
config = sys.solve()
99+
```
100+
101+
See [Installation](install.md) for full setup instructions, and [Usage Flows](flow.md) for detailed examples.
102+
103+
## Interactive Tools
104+
105+
The **JIF Tools Explorer** (`jiftools`) is a Streamlit web application with three tools:
106+
107+
- **JESD204 Mode Selector** — browse and filter valid JESD204 modes for a given converter and sample rate
108+
- **Clock Configurator** — configure ADI clock chips to generate required output clocks
109+
- **System Configurator** — end-to-end configuration of converter + clock chip + FPGA
110+
111+
See the [Quick Start Guide](tools_quickstart.md) and [full tools documentation](tools.md).
112+
56113
```{toctree}
57114
:maxdepth: 1
58115
:caption: Contents:

0 commit comments

Comments
 (0)