DVT VHDL IDE User Guide
Rev. 24.1.5, 13 March 2024

28.3.2 Widgets

Composite

Composites are used for grouping other elements, and they have no visual representation. You can control how their children elements are arranged by specifying the layout attribute. See the Layouts section for information on how to control the look of the dialog.

Group

Groups are similar to composites, except that they are graphically delimited by a border and can have a title specified by the text attribute. Refer to Radio Button for an example.

Label

Labels are simple text fragments used to present information. Refer to Textbox for an example.

Textbox

XML

   <Label text="Seed number:"/>
   <Text id=" -seed " style="BORDER" text="123456" />

Output

   -seed 123456

Checkbox

XML

   <Button id=" -cov " style="CHECK" text="Collect coverage" selection="true" />
   <Button id=" -wave " style="CHECK" text="Dump wave" />

Output

   -cov

Radio Button

XML

   <Group id=" -sim " text="Simulator" layout="layout:fill;type:VERTICAL;">
       <Button id=" IUS " style="RADIO" text="IUS" selection="true"/>
       <Button id=" VCS " style="RADIO" text="VCS" />
       <Button id=" Questa " style="RADIO" text="Questa" />
   </Group>

Output:

   -sim IUS

Directory Chooser

XML

   <dvt:DirectoryChooser
       id=" -sim_dir "
       question="Sim dir"
       layoutData="horizontalAlignment:FILL;"
       value="../sim"/>

Output:

   -sim_dir ../sim

File Chooser

XML

   <dvt:FileChooser
       id=" -mem_file "
       question="Memory init data"
       layoutData="horizontalAlignment:FILL;"
       extensions="*.bin"
       value="/common/mem/init.bin"/>

Output:

   -mem_file /common/mem/init.bin

Combo Box

XML

   <Combo
       id=" -test "
       text="test_reset"
       items="test_random;test_reset;test_back2back;test_1;test_2;test_3"/>

Output:

   -test test_reset

Combo Box (read only)

XML

   <Combo
       id=" -test "
       style="READ_ONLY"
       text="test_reset"
       items="test_random;test_reset;test_back2back;test_1;test_2;test_3"/>

Output:

   -test test_reset

List

XML

   <List
       id=" -verbosity "
       selection="HIGH"
       style="BORDER|V_SCROLL"
       items="HIGH;MEDIUM;LOW;NONE"/>

Output:

   -verbosity HIGH

Directory Files Listing

Lists all files/dirs that match a certain criteria in a specified folder.

XML

   <dvt:DirectoryFilesListing
       id=" -file "
       question="Files Listing"
       includePaths="**\*.sv;**\*.e;**\*.vhdl"
       excludePaths=""
       rootDirectory="/home/path/.."
       fileType="FILE;DIR"
       outputOption="basename"
       showHiddenFiles="true"
       timeoutSeconds="10"/>

Output:

   -file file_name

Parameters

  • includePaths (excludePaths) - include (exclude) files based on their filename

    • Examples

      • "**\*.e;**\*.vhd" matches all .e and .vhd files/dirs in a directory tree.

      • "test\a??.sv" matches all files/dirs that start with an 'a', then two more characters and then ".sv", in a directory called test.

      • "**" matches everything in a directory tree.

      • "**\test\**\XYZ*" matches all files/dirs that start with "XYZ" and where there is a parent directory called test (e.g. "abc\test\def\ghi\XYZ123").

    • Default value for 'includePaths' is '**'

  • rootDirectory - can be specified as an absolute path or relative to a project in the current workspace. The path can also contain system variables.

  • fileType - select whether files, directories or both are shown

    • FILE - displays only files

    • DIR - displays only directories

    • FILE;DIR - displays both files and directories

    • Default value for 'fileType' is FILE

  • outputOption - option to format the selected file's name

    • 'basename' - returns the file's name without extension

    • 'fullname' - returns the file's name with extension

    • 'fullpath' - returns an absolute path of the selected file

    • 'relativepath' - a path relative to 'rootDirectory'

  • showHiddenFiles - by default is false

  • timeoutSeconds - if the root directory has a large number of children, listing them is stopped after * seconds

Note: The includePaths and excludePaths attributes use ant-like path patterns.

Class Selector

XML

   <sv:ClassSelector
       id=" -test "
       question="Test to run"
       fieldSeparator=","
       layoutData="horizontalAlignment:FILL;
       verticalAlignment:FILL;
       grabExcessHorizontalSpace:true;
       grabExcessVerticalSpace:true;"
       baseClassName="uvm_test"/>

Output:

   -test test_2m_4s

Note: This widget is only available for SystemVerilog.

Struct selector

XML

   <e:StructSelector
       id=" -env "
       question="Environments"
       fieldSeparator=","
       layoutData="horizontalAlignment:FILL;
       verticalAlignment:FILL;
       grabExcessHorizontalSpace:true;
       grabExcessVerticalSpace:true;"
       baseStructName="uvm_env"
       showWhenSubtypes="true"
       hierarchyLevels="1"/>

Output:

   -env UVM_ACCEL xbus_env_u

Note: This widget is only available for e Language. Note: The hierarchyLevels attribute can either be an integer, or all in order to control the displayed inheritance level starting from the when subtypes.