Access Keys:
Skip to content (Access Key - 0)
Agilent Technologies

DataAccessComponent (Data Access Component)


The DataAccessComponent contains the following parameters types:
  • File - File name, file type and block name if there is more than one block of data in the file.
  • Independent Variable - pairs of independent variable names and values.
  • Interpolation - parameters related to interpolation setup.
  • Display (ADS) - Control the visibility of component parameters on the Schematic. For details, refer to the topic Displaying Simulation Parameters on the Schematic in Using Circuit Simulators.

Setting the File Parameters (ADS)

Use the File tab to specify file related parameters.

Name Description Units Default
File Name File name None None
File Type Discrete, model MDIF, S2PMDIF, Dataset, Touchstone, CITIfile, P2D MDIF, S2D MDIF, IMT MDIF, GCOMP MDIF, FIR MDIF, SPW, TIM MDIF, SPE MDIF, SDF, Generic MDIF, COD MDIF, LAS MDIF, Value None Discrete
Block Name Block name None None

File Name

The file name can be defined in either Data filename entry mode or File Based entry mode. When Data filename entry mode is selected, file name can be given as a string which represents explicit file name or assigned through a variable as @variable_name .

  • Select Edit... to display the file or modify its contents.
  • Select Copy Template... to copy a data file of a specific format for use as a template.
  • Select Data files list... to select a data file in the current project.

File Type

Provides a drop down list of available file types.


If you do not specify a block name, the block of data contained in the dataset file is used.
The Block parameter is required when the generic MDIF file has multiple blocks.
Here is an example of a generic MDIF file with multiple blocks. A DAC which references this file should have Block set to "VB" or "IQ". Note that the outer independent variables Vc1 and Vb1 will only apply to block VB; they will have no relation to block IQ.
VAR Vc1(1) = 0.2
VAR Vb1(1) = 0.3
% Index_a(1) Vbase(1)
0 0.3
1 0.4
% Index_b(1) Ib_A(1) Ic_A(1)
0 1.0E-005 0.002
1 2.0E-005 0.003

DataSet Viewer

The View Dataset button is only enabled when an explicit file name is given and the file type is dataset . If a file name is given with a relative path, <cur_prj>/data/ is pre-appended to the file name by ADS. Click View Dataset to open a new window displaying the data blocks contained in the file and information about the independent and dependent variables in the selected block. ADS automatically sets up Block and iVar* (independent variable names) if a block is selected and OK is chosen in the dataset viewing window.

When no data block is specified, the Dataset Viewer defaults to the first data block in the file. If there is more than one block of data, you can click another block to select it and view its variable information.

Setting Independent Variable Parameters (ADS)

Use the Independent Variable tab to specify independent variable names and values.

Name Description Units Default
iVar1, ... , iVar10 Independent variable name or cardinality (1: outermost) None None
iVal1, ... , iVal10 Independent variable value or index (0: first/starting index) None None

The spread sheet on the left hand side of this tab lists the name and value of the independent variable. The spread sheet itself is not editable. The input fields are on right hand side of the tab.
To add the name and value of an independent variable:

  1. Type the variable name in Variable Name input field.
  2. Give the variable value in Variable Value "Value" input field.
  3. Click Add to insert the pairs to the left hand side spread sheet.

To remove an independent variable setup:

  1. Select the row to be delected from the spread sheet.
  2. Click Cut to remove the selected row.

To edit an independent variable setup:

  1. Select the row to be edited from the spread sheet.
  2. Modify the name or value on the right hand side input fields.

Setting Interpolation Parameters (ADS)

Use the Interpolation tab to specify setup related parameters.

Name Description Units Default
Interpolation Method (InterpMode) Interpolation mode: Index Lookup Specifies that iVal n represents the integer indices (beginning with 0) of the independent variables in the data file. Real iVal values are truncated first for index lookup. Note If you use the Index Lookup interpolation mode, you can access and/or interpolate the "indices" of the independent variable in the file. In this context the first data row of the file will have an index of 0, the second row will have an index of 1 and so on.
Value Lookup For real/integer independent variable, accesses the point in the data file closest to the specified value. If midway, the average of the bracketing points is used.
Ceiling Value Lookup For a real independent variable, accesses the nearest point in the data file not less than the specified value.
Floor Value Lookup For a real independent variable, accesses the nearest point in the data file not greater than the specified value.
Linear, Cubic, Cubic Spline Specifies the interpolation mode in each dimension (except for splines, where only the innermost variable is spline-interpolated).
Value This is provided if the interpolation mode is variable or unknown, for example, as a passed parameter of a subnetwork. The resulting value should be a string (or integer) from the following set:

{"linear"(0), "spline"(1), "cubic"(2), "index_lookup"(3), "value_lookup"(4), "ceiling_value_lookup"(5), "floor_value_lookup"(6)}

None Index Lookup or 3
Interpolation Domain (InterpDom) Interpolation domain: Rectangular Interpolates real and imaginary parts separately; recommended for emittances. Polar (arc interpolation) Interpolates magnitude and angle separately; recommended for S-parameters. DB Interpolates in dB and angle format.
Value This is provided if the interpolation domain is a variable or unknown; for example as a passed parameter of a subnetwork. The resulting value should be a string (or integer) from the following set:

{"ri" (0), "ma" (1), "db" (3) }

None Rectangular
Extrapolation Method (ExtrapMode) Extrapolation mode: Interpolation Mode: when extrapolation occurs, the interpolation mode specified by InterpMode is used for extrapolation.
Constant Extrapolation: when extrapolation occurs, no interpolation is performed. The value of the nearest data point is returned.
An extrapolation warning is issued when an extrapolation occurs on freq in an S-parameter simulation. For all other analysis types, status level in the analysis controller must be set to 3 or higher to see extrapolation warnings.
None Interpretation Mode

  1. This component can be used to extract/interpolate multidimensional dependent variables as a function of up to 10 independent variables. By setting the DAC File parameter to the desired filename, and setting the parameter of the component of interest to point to the DAC (by Instance ID), the data in the specified file can be accessed. (Refer to Example 1)
    • You can quickly set all parameters (with matching names) of a device model by setting the model's AllParams parameter to the DAC's Instance ID, which in turn, references the data file. Parameter names in a data file that are not device model parameters are ignored. A device model parameter value that is explicitly specified will override the value set by an AllParams association. (Refer to Example 2)
    • You can also sweep over several BJT models using two DAC components. (Refer to Example 3)
    • S-parameter data can be read directly from a Touchstone file using a DAC. (Refer to Example 4).
    • Discrete data can be read directly from a Discrete data type file using a DAC in an ADS Ptolemy simulation. (Refer to Example 5).
    • Multi-dimensional data can be read directly from a Generalized Multi-dimensional data type file using a DAC in an ADS Ptolemy simulation. (Refer to Example 6).
    • Ptolemy simulation examples using DAC are located in the Controllers_Prj project; to access the example project from the ADS Main window, click on File > Example Project > PtolemyDocExamples > Controllers_Prj , then open the Read_DAC_DSCR.dsn and Read_DAC_MDIF.dsn designs.
  2. For a complex dependent variable, the two parts (real/imag, mag/degree, or dB/degree) are interpolated separately. For arc-like data (for example S-parameters vs. frequency), it may be more appropriate to interpolate in the mag/degree domain.
  3. This component is actually a special subnetwork whose expressions can be used outside. In particular, one of these expressions is _TREE (the multi-dimensional table). The following example shows using this expression with the get_max_points {{}} function.
    Example: get_max_points(DAC1._TREE, "freq")
    DAC1._TREE represents the Instance ID of the DAC
    {{"freq" }} represents the name of the independent variable
    It returns the maximum # of points (over all sweeps of that variable) of the independent variable (for discrete files with implicit row #, use 1 for the second argument)
  4. The Type parameter specifies the format of the disk file, which includes Touchstone, CITIfile, several MDIF types, SPW and binary datasets (possibly from a previous simulation or via instrument server).
    The files displayed in the Browser represent all files found based on the search paths specified by the DATA_FILES configuration variable.
    For information on data file formats, refer to Working with Data Files.
  5. The Block name specifies which table to use when the file contains two or more multidimensional tables, (e.g., "ACDATA", "NDATA" in an MDIF file, "HB1.HB", "HB1.HB_NOISE" in a harmonic balance analysis dataset). A unique prefix is sufficient; it can also be the sequence number (starting with 1) of the table, for example, 1 for an "ACDATA" table and 2 for "NDATA". Note that the " at " symbol (@) should be used to suppress quotes when using a variable to identify a table as the independent variable for making DAC parameter assignments.
  6. Each iVar is either the name of an independent variable in the file (e.g., Vgs) or is an integer representing the cardinality or nesting order of the independent variable (1 being outermost). A cardinal value must be used when an independent variable is implicit; for example, row index in discrete files is the innermost independent variable. Note that @ must be used to suppress quotes when using a variable, for example, @freq1 , where freq1 is a variable declared in a VAR item.
    When the DataAccessComponent refers to a time-domain MDIF file which has a . tim extension, the iVar x parameter must be set to time and the reference to the dependent parameter must be set to voltage , independent of the names of the columns in the . tim file.
    A string iVar parameter is searched in a case-preferential manner, i.e., it is searched in a case-sensitive manner, failing that, it is searched again in a case-insensitive manner.
  7. Each iVal is a real or integer value of the independent variable to bracket or search for in the file. If InterpMode = Index Lookup (which must be the case for implicit variables), this value is the integer index, starting from 0. For example, the row value for a discrete file block runs from 0 to #rows - 1.
  8. For all value lookup modes, a tolerance of 0.01% is used. A warning message is issued when extrapolation occurs.
  9. The DataAccessComponent doesn't work across hierarchies. When a DAC is used in a subnetwork, it must be located at the same level where it is referred, or a simulation will fail with path errors.
Example 1

In this example, the resistance of R1 is stepped through all values under the R column in the "r.mdf" file

Example 2

In this example, resistor model RM1 accesses the R , Rsh , Length and Width parameters from the discrete "r.mdf" file.

Example 3

This example illustrates how a pair of DACs can be used to sweep over several BJT models. The first DAC, STEER , retrieves a model filename from a discrete file bfqtm.txt , and the second DAC, DAC_BJT , retrieves the model data.

An assignment of the type: R1=file{DAC1, ''Rnom''}, is equivalent to the expression R1=dep_data(DAC1._DAC, '' Rnom '').

Example 4

This example illustrates reading S-parameter data from a Touchstone file using the DataAccessComponent.

Example 5

This example illustrates reading discrete data from the file data_DSCR.mdf using the DataAccessComponent (DAC) in an ADS Ptolemy design.

Example 6

This example illustrates reading generalized multi-dimensional data from the file data_MDIF.mdf using the DataAccessComponent (DAC) in an ADS Ptolemy design.