Skip to content

Latest commit

 

History

History
51 lines (30 loc) · 1.84 KB

EDAData.md

File metadata and controls

51 lines (30 loc) · 1.84 KB

CMDimCircuits.EDAData: Accessing EDA files

Description

The EDAData.jl module provides a Julia interface for loading data files used by Electronic Design Automation (EDA) tools. The module interface performs data operations with the help of the high-level Data* structures declared in MDDatasets.jl.

At the moment, EDAData.jl supports the following data formats:

  • .tr0 (SPICE format): Read only
  • .psf (Parameter Storage Format): Read only
  • .sNp (Touchstone, .s2p, .s3p, ...): Read/Write

Dependencies

The EDAData.jl module provides wrappers to access file contents as DataMD datasets. For more information on the readers, please visit their respective github pages:

Sample Usage

  • Reading .tr0 files

     r = EDAData.open_tr0("myfile.tr0")
     signaldata = read(r, "signalname")
     close(r)
    
  • Reading .psf files

     r = EDAData.open_psf("myfile.psf")
     signaldata = read(r, "signalname")
     close(r)
    
  • Reading .sNp files

     r = EDAData.read_snp("myfile.s2p", numports=2)
    
  • Writing .sNp files

     r = EDAData.write_snp(:sNp, "outputfile.s2p")
    

Further examples on how to use the EDAData.jl capabilities can be found under the sample directory.

Configuration

By default, EDAData reads .psf files using the pure-Julia libpsf implementation "LibPSF.jl". To opt for a C++ implementation, it is possible to select the LibPSFC.jl library by modifying defaultPSFReader found in src/LibPSF.jl:

defaultPSFReader = :LibPSFC