openEPDA CDF format (Draft)

Summary

This document contains draft description of the Chip Description File (CDF), which is used as a reference for electrical pads and optical ports positions for the measurements to be performed on Photonic Integrated Circuits (PIC).

Introduction

CDF is a configuration file that contains data with design coordinates of the chip inputs and outputs (IO) (both electrical and optical). Therefore it is linked to a specific design (cell), meaning that for every new die design, also the applicable CDF needs to be composed.

Being a YAML file, its content is human readable and intuitive in its structure. It provides all necessary information starting from cell design identification data, which is to be crosschecked with other configuration files (e.g. MDF), up to the IO coordinates themselves. More details regarding YAML syntax can be found here: https://yaml.org/spec/1.2/spec.html.

Specification

The data format defines how to write the information into a file. Besides this, YAML section contains reserved keys which start with the underscore symbol. The list of particular keys is given for a particular format version.

Version 0.2

A file conforming to the openEPDA data format has the following structure. The first line is a format identifier, # openEPDA CDF. After this, the data section follows, which adheres to the YAML format [1], and contains all settings (numeric and textual) data in the form of an associative array.

An example of a file recorded in the openEPDA CDF format is shown below.

Reserved keys

The following keys are required to be present in the CDF:

  • _openEPDA: an object defining the format and its version.

  • cdf: a string with a unique identifier of the CDF

  • cell: a string with an identifier of the PIC design to be measured

  • unit: a string defining a unit for the coordinates in the file

  • io: An object with IOs located on the chip.

The following keys are optional to be present in the CDF:

  • fiducial: an object with fiducial markers on the chip.

Example CDF file

# openEPDA CDF
_openEPDA:
  format: openEPDA-CDF
  version: "0.2"
  link: "https://openEPDA.org"

cdf: SP19-34
cell: SP19-34
unit: um

fiducial:
  target:
    - fidt0: [2250, 257.5]
    - fidt1: [2250, 3642.5]
  cornerUL:
    - cul0: [1737.5, 257.5]
    - cul1: [1737.5, 3642.5]
  disc:
    - dsk0: [1500.0, 1500.0]

io:
  optical_port:
    - ioW001: [-50, 25]
    - ioW003: [-50, 50]
    - ioW005: [-50, 75]
    - ioW007: [-50, 100]
    - ioW009: [-50, 125]
    - ioE001: [4550, 25]
    - ioE003: [4550, 50]
    - ioE005: [4550, 75]
    - ioE007: [4550, 100]
    - ioE009: [4550, 125]
  dc_pad:
    - dc0N00: [4350, 3845]
    - dc0N01: [4200, 3845]
    - dc0S00: [150, 55]
    - dc0S01: [300, 55]
  rf_pad:
    - rf0W00: [150, 1200]

License

openEPDA CDF format is available under CC BY-ND 4.0 license.

This is Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0). See full license text here: CC BY-ND 4.0.

References

1. “YAML Ain’t Markup Language (YAML™) Version 1.2.” http://yaml.org/spec/1.2/spec.html.