1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024
|
<?xml version="1.0"?>
<!--
This file is part of adms - http://sourceforge.net/projects/mot-adms.
adms is a code generator for the Verilog-AMS language.
Copyright (C) 2002-2012 Laurent Lemaitre <r29173@users.sourceforge.net>
Copyright (C) 2012-2013 Ryan Fox <ryan.fox@upverter.com>
Copyright (C) 2015 Felix Salfelder <felix@salfelder.org>
Copyright (C) 2015-2016 Guilherme Brondani Torri <guitorri@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<?xml-stylesheet type="text/xsl" href="admsstyle.xsl"?>
<!DOCTYPE adms SYSTEM "metaadms.dtd">
<!--
This xml file describes the basic data elements used by adms classes
its validity is checked by file metaadms.dtd
you can try using xmllint: xmllint adms.xml -noout -postvalid -noblanks
see http://xmlsoft.org/
Most of the code that builts adms is created automatically from this file
Note: xsl script admsstyle.xsl transforms the contents of this file to html format
-->
<adms>
<element name="adms" info="base type">
<uid format="$1">
<scalar datatypefamily="basictype" name="datatypename" datatypename="basicinteger" info="datatypename" default="@name"/>
</uid>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="list of attribute"/>
<list datatypefamily="reference" name="variable" datatypename="admstvariable" info="list of variable"/>
<element name="simulator" info="miscellaneous info on simulator">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name"/>
</uid>
<scalar datatypefamily="basictype" name="currentdate" datatypename="basicstring" info="current compilation date"/>
<scalar datatypefamily="basictype" name="developer" datatypename="basicstring" info="adms version"/>
<scalar datatypefamily="basictype" name="fullname" datatypename="basicstring" info="full adms version"/>
<scalar datatypefamily="basictype" name="package_name" datatypename="basicstring" info="autotool package name"/>
<scalar datatypefamily="basictype" name="package_tarname" datatypename="basicstring" info="autotool package identity"/>
<scalar datatypefamily="basictype" name="package_version" datatypename="basicstring" info="autotool package version"/>
<scalar datatypefamily="basictype" name="package_string" datatypename="basicstring" info="autotool package string"/>
<scalar datatypefamily="basictype" name="package_bugreport" datatypename="basicstring" info="email for bug report"/>
<warning>dummy variables: should be removed in the future</warning>
<scalar datatypefamily="reference" name="probe" datatypename="probe" info="dummy variable"/>
<scalar datatypefamily="basictype" name="tmp" datatypename="basicstring" info="dummy variable" default=""/>
<scalar datatypefamily="basictype" name="tmp1" datatypename="basicstring" info="dummy variable" default=""/>
<scalar datatypefamily="reference" name="br1" datatypename="branch" info="dummy variable"/>
<scalar datatypefamily="reference" name="br2" datatypename="branch" info="dummy variable"/>
<scalar datatypefamily="reference" name="sr1" datatypename="source" info="dummy variable"/>
<scalar datatypefamily="basictype" name="ddx" datatypename="basicstring" info="dummy variable" default=""/>
</element>
<element name="admsmain" info="adms main pointer - selected using /">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="identifier (always admsmain)"/>
</uid>
<scalar datatypefamily="basictype" name="argc" datatypename="basicinteger" info="number of command line arguments"/>
<scalar datatypefamily="basictype" name="fullfilename" datatypename="basicstring" info="full name of veriloga parsed file"/>
<scalar datatypefamily="basictype" name="filename" datatypename="basicstring" info="base name of veriloga parsed file"/>
<scalar datatypefamily="basictype" name="curfilename" datatypename="basicstring" info="name of current parsed veriloga file"/>
<scalar datatypefamily="basictype" name="curline" datatypename="basicinteger" info="current line when parsing file"/>
<scalar datatypefamily="basictype" name="fpos" datatypename="basicinteger" info="first position of returned parsed token"/>
<scalar datatypefamily="reference" name="simulator" datatypename="simulator" info="miscellaneous info on simulator"/>
<scalar datatypefamily="basictype" name="info" datatypename="basicenumeration" info="info mode" default="yes">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="usage" datatypename="basicenumeration" info="usage mode" default="yes">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="verbose" datatypename="basicenumeration" info="verbose mode" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="hint" datatypename="basicenumeration" info="hint mode" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="warning" datatypename="basicenumeration" info="warning mode" default="yes">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="obsolete" datatypename="basicenumeration" info="obsolete mode" default="yes">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="debug" datatypename="basicenumeration" info="debug mode" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="dbg_vla" datatypename="basicenumeration" info="verilogamsparsing debug mode" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="dbg_xml" datatypename="basicenumeration" info="xml parsing debug mode" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="error" datatypename="basicenumeration" info="error mode" default="yes">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="fatal" datatypename="basicenumeration" info="fatal mode" default="yes">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="dbg_mem" datatypename="basicenumeration" info="debug memory mode" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<list datatypefamily="reference" name="module" datatypename="module" info="list of modules"/>
<list datatypefamily="reference" name="discipline" datatypename="discipline" info="list of discipline"/>
<list datatypefamily="reference" name="nature" datatypename="nature" info="list of nature"/>
<list datatypefamily="reference" name="variable" datatypename="admstvariable" info="global admst variables (scope is all admst:template)"/>
<list datatypefamily="basictype" name="argv" datatypename="basicstring" info="command line arguments"/>
<list datatypefamily="reference" name="transform" datatypename="transform" info="transforms"/>
<list datatypefamily="reference" name="invtransform" datatypename="transform" info="transforms (inversed order)"/>
<list datatypefamily="reference" name="itransform" datatypename="itransform" info="instance created by apply-templates"/>
<list datatypefamily="reference" name="itransforminsideapplytemplate" datatypename="itransform" info="instance inside apply-templates"/>
<list datatypefamily="reference" name="valueof" datatypename="adms" info="adms stack"/>
</element>
<comment>basic adms elements</comment>
<element name="list" info="adms list">
<uid format="$1">
<scalar datatypefamily="basictype" name="datatype" datatypename="basicstring" info="name"/>
</uid>
<list datatypefamily="reference" name="item" datatypename="adms" info="item"/>
</element>
<comment>elements used to save natures and disciplines inside the internal adms data tree</comment>
<element name="nature" info="all natures created after parsing">
<uid format="$1">
<scalar datatypefamily="basictype" name="access" datatypename="basicstring" info="access identifier"/>
</uid>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name of the nature"/>
<scalar datatypefamily="reference" name="abstol" datatypename="number" info="absolute tolerance"/>
<scalar datatypefamily="reference" name="base" datatypename="nature" info="base parent"/>
<scalar datatypefamily="basictype" name="ddt_name" datatypename="basicstring" info="name of ddt nature"/>
<scalar datatypefamily="reference" name="ddt_nature" datatypename="nature" info="back to ddt nature"/>
<scalar datatypefamily="basictype" name="idt_name" datatypename="basicstring" info="name of idt nature"/>
<scalar datatypefamily="reference" name="idt_nature" datatypename="nature" info="back to idt nature"/>
<scalar datatypefamily="basictype" name="units" datatypename="basicstring" info="unit"/>
</element>
<element name="discipline" info="all disciplines created after parsing">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name of discipline"/>
</uid>
<scalar datatypefamily="reference" name="flow" datatypename="nature" info="back to flow nature"/>
<scalar datatypefamily="reference" name="potential" datatypename="nature" info="back to potential nature"/>
<scalar datatypefamily="basictype" name="domain" datatypename="basicenumeration" info="domain" default="continuous">
<evalue name="continuous" info="continuous domain"/>
<evalue name="discrete" info="discrete domain"/>
</scalar>
</element>
<comment>elements used to save a module inside the internal adms data tree</comment>
<element name="module" info="module">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name of module"/>
</uid>
<!-- under module -->
<list datatypefamily="reference" name="node" datatypename="node" info="list of nodes"/>
<list datatypefamily="reference" name="nodealias" datatypename="nodealias" info="list of node aliases"/>
<list datatypefamily="reference" name="branch" datatypename="branch" info="list of all branches"/>
<list datatypefamily="reference" name="branchalias" datatypename="branchalias" info="list of all branch alias"/>
<list datatypefamily="reference" name="analogfunction" datatypename="analogfunction" info="list of all analogfunction"/>
<list datatypefamily="reference" name="instance" datatypename="instance" info="instances"/>
<list datatypefamily="reference" name="variable" datatypename="variableprototype" info="variable declarations"/>
<!-- under analog -->
<scalar datatypefamily="reference" name="analog" datatypename="analog" info="analog code"/>
<list datatypefamily="reference" name="block" datatypename="block" info="list of all blocks"/>
<list datatypefamily="reference" name="blockvariable" datatypename="blockvariable" info="list of all blockvariable"/>
<list datatypefamily="reference" name="assignment" datatypename="assignment" info="list of assignments"/>
<list datatypefamily="reference" name="callfunction" datatypename="module" info="instantiator"/>
<list datatypefamily="reference" name="contribution" datatypename="contribution" info="list of contributions"/>
<list datatypefamily="reference" name="conditional" datatypename="conditional" info="list of all conditional"/>
<list datatypefamily="reference" name="case" datatypename="module" info="case"/>
<list datatypefamily="reference" name="forloop" datatypename="module" info="forloop"/>
<list datatypefamily="reference" name="whileloop" datatypename="module" info="whileloop"/>
<list datatypefamily="reference" name="instantiator" datatypename="module" info="instantiator"/>
<!-- under expression -->
<list datatypefamily="reference" name="expression" datatypename="expression" info="list of all expressions"/>
<list datatypefamily="reference" name="jacobian" datatypename="jacobian" info="list of jacobians"/>
<list datatypefamily="reference" name="probe" datatypename="probe" info="list of all probes"/>
<list datatypefamily="reference" name="source" datatypename="source" info="list of all sources"/>
<list datatypefamily="reference" name="range" datatypename="range" info="list of parameter ranges"/>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
<!-- obsolete -->
<scalar datatypefamily="reference" name="evaluation" datatypename="evaluation" info="obsolete"/>
</element>
<element name="analogfunction" info="analog functions (user defined functions)">
<uid format="$1:$2">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="lexval" datatypename="lexval" info="name of the analog function"/>
</uid>
<aliasbis name="name" path="lexval/string"/>
<scalar datatypefamily="basictype" name="type" datatypename="basicenumeration" info="returned type" default="real">
<evalue name="real" info="returns reals"/>
<evalue name="integer" info="returns integers"/>
</scalar>
<scalar datatypefamily="reference" name="tree" datatypename="adms" info="code"/>
<list datatypefamily="reference" name="variable" datatypename="variableprototype" info="variable declarations"/>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
</element>
<element name="nodealias" info="node aliases declared in the module">
<uid format="$2">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="alias name"/>
</uid>
<scalar datatypefamily="reference" name="node" datatypename="node" info="back to branch"/>
</element>
<element name="node" info="internal nodes + terminals">
<uid format="$2">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="node name"/>
</uid>
<scalar datatypefamily="basictype" name="direction" datatypename="basicenumeration" info="its topological direction" default="inout">
<evalue name="input" info="node is input terminal"/>
<evalue name="output" info="node is output terminal"/>
<evalue name="inout" info="node is input/output terminal"/>
<evalue name="internal" info="node is internal node"/>
</scalar>
<scalar datatypefamily="reference" name="discipline" datatypename="discipline" info="back to node discipline"/>
<scalar datatypefamily="basictype" name="grounded" datatypename="basicenumeration" info="node is ground" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="location" datatypename="basicenumeration" info="topological location of node" default="internal">
<evalue name="ground" info="node is ground"/>
<evalue name="external" info="node is terminal"/>
<evalue name="internal" info="node is internal node"/>
</scalar>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
</element>
<element name="branchalias" info="branch aliases declared in the module">
<uid format="$2">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="alias name"/>
</uid>
<scalar datatypefamily="reference" name="branch" datatypename="branch" info="back to branch"/>
</element>
<element name="branch" info="branches used by the module">
<uid format="$2,$3">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="pnode" datatypename="node" info="back to pnode"/>
<scalar datatypefamily="reference" name="nnode" datatypename="node" info="back to nnode"/>
</uid>
<scalar datatypefamily="reference" name="discipline" datatypename="discipline" info="back to discipline"/>
<scalar datatypefamily="basictype" name="grounded" datatypename="basicenumeration" info="nnode is ground" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
</element>
<element name="variableprototype" info="potential/flow source">
<uid format="$2">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="lexval" datatypename="lexval" info="locus"/>
<scalar datatypefamily="reference" name="block" datatypename="adms" info="where is the variable declared? (module,block,analogfunction)"/>
</uid>
<aliasbis name="name" path="lexval/string"/>
<scalar datatypefamily="basictype" name="dependency" datatypename="basicenumeration" info="is Probe dependent" default="constant">
<evalue name="constant" info="is operating point independent"/>
<evalue name="noprobe" info="does not depend on probes"/>
<evalue name="linear" info="depends lineary on probes"/>
<evalue name="nonlinear" info="depends non-lineary on probes"/>
</scalar>
<scalar datatypefamily="basictype" name="static" datatypename="basicenumeration" info="this term has static contribution" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="dynamic" datatypename="basicenumeration" info="this term has dynamic contribution" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="sizetype" datatypename="basicenumeration" info="variable is either scalar or array" default="scalar">
<evalue name="scalar" info="it is a scalar"/>
<evalue name="array" info="it is an array"/>
</scalar>
<scalar datatypefamily="basictype" name="parametertype" datatypename="basicenumeration" info="parameter type" default="model">
<evalue name="model" info="model parameter (process, scaling)"/>
<evalue name="instance" info="instance (geometries, mfactor)"/>
<evalue name="analogfunction" info="analog function variable"/>
</scalar>
<scalar datatypefamily="basictype" name="type" datatypename="basicenumeration" info="variable data type" default="real">
<evalue name="integer" info="variable has integer values"/>
<evalue name="real" info="variable has real values"/>
<evalue name="string" info="variable has string values"/>
</scalar>
<scalar datatypefamily="reference" name="maxsize" datatypename="number" info="upper index of variable (array)"/>
<scalar datatypefamily="reference" name="minsize" datatypename="number" info="lower index of variable (array)"/>
<scalar datatypefamily="basictype" name="input" datatypename="basicenumeration" info="parameter variable" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="output" datatypename="basicenumeration" default="no" info="variable is output parameter">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="scope" datatypename="basicenumeration" info="tells where variable is set/used" default="local">
<evalue name="local" info="local variable"/>
<evalue name="global_model" info="parameter model or set in @model, used atleast in @ask|@instance|@evaluate|@noise|@final"/>
<evalue name="global_instance" info="set in @instance, usedatleast in @instance|@evaluate|@noise|@final"/>
<evalue name="global_final" info="set in @final_step, usedatleast in @ask|@final_step"/>
<evalue name="global_past" info="obsolete"/>
</scalar>
<scalar datatypefamily="reference" name="default" datatypename="expression" info="default value of the variable"/>
<scalar datatypefamily="basictype" name="derivate" datatypename="basicenumeration" info="obsolete-used by old interfaces" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="isstate" datatypename="basicenumeration" info="obsolete-used by old interfaces" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="usedinmodel" datatypename="basicenumeration" info="variable value used in @model" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="usedininstance" datatypename="basicenumeration" info="variable value used in @instance" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="usedininitial_step" datatypename="basicenumeration" info="variable value used in @initial_step" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="usedinevaluate" datatypename="basicenumeration" info="variable value used in @evaluate" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="usedinnoise" datatypename="basicenumeration" info="variable value used in @noise" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="usedinfinal" datatypename="basicenumeration" info="variable value used in @final" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="setinmodel" datatypename="basicenumeration" info="variable value assigned in @model" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="setininstance" datatypename="basicenumeration" info="variable value assigned in @instance" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="setininitial_step" datatypename="basicenumeration" info="variable value assigned in @initial_step" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="setinevaluate" datatypename="basicenumeration" info="variable value assigned in @evaluate" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="setinnoise" datatypename="basicenumeration" info="variable value assigned in @noise" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="setinfinal" datatypename="basicenumeration" info="variable value assigned in @final" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="setingetprev" datatypename="basicenumeration" info="variable value assigned from previous" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="TemperatureDependent" datatypename="basicenumeration" info="variable is temperature dependent" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="OPdependent" datatypename="basicenumeration" info="variable is OP dependent" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="insource" datatypename="basicenumeration" info="variable occurs in source assignment" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="vcount" datatypename="basicinteger" info="count in source assignment" default="0"/>
<scalar datatypefamily="reference" name="vlast" datatypename="assignment" info="last assignment"/>
<list datatypefamily="reference" name="arraydefault" datatypename="adms" info="default value"/>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
<list datatypefamily="basictype" name="alias" datatypename="basicstring" info="alias name"/>
<list datatypefamily="reference" name="range" datatypename="range" info="list of ranges of the variable"/>
<list datatypefamily="reference" name="probe" datatypename="probe" info="the variable depends on these probes"/>
<list datatypefamily="reference" name="ddxprobe" datatypename="probe" info="the variable depends on these ddx probes"/>
<list datatypefamily="reference" name="variable" datatypename="variable" info="variable depends on these variables"/>
<list datatypefamily="reference" name="assignment" datatypename="assignment" info="obsolete"/>
<list datatypefamily="reference" name="instance" datatypename="variable" info="all instances"/>
</element>
<element name="source" info="potential/flow source">
<uid format="$3($2)">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="branch" datatypename="branch" info="branch associated to the source"/>
<scalar datatypefamily="reference" name="nature" datatypename="nature" info="nature of the source"/>
</uid>
<scalar datatypefamily="reference" name="discipline" datatypename="discipline" info="discipline of the source"/>
<scalar datatypefamily="basictype" name="static" datatypename="basicenumeration" info="has the source a static contribution?" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="dynamic" datatypename="basicenumeration" info="has the source a dynamic contribution?" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="whitenoise" datatypename="basicenumeration" info="has the source a whitenoise contribution?" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="flickernoise" datatypename="basicenumeration" info="has the source a flickernoise contribution?" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="grounded" datatypename="basicenumeration" info="is second terminal of the source ground?" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="switch" datatypename="basicenumeration" info="is source switch?" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="type" datatypename="basicenumeration" info="type of the source" default="fs">
<evalue name="shot" info="source is shot noise"/>
<evalue name="thermal" info="source is thermal noise"/>
<evalue name="flicker" info="source is flicker noise"/>
<evalue name="fs" info="source is flow source"/>
<evalue name="ps" info="source is potential source"/>
</scalar>
<list datatypefamily="reference" name="probe" datatypename="probe" info="list of probes"/>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
</element>
<element name="range" info="range are used by variables to specify valid values">
<uid format="$7 $5$2:$3$6">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="infexpr" datatypename="expression" info="value of inf bound"/>
<scalar datatypefamily="reference" name="supexpr" datatypename="expression" info="value of sup bound"/>
</uid>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="unused"/>
<scalar datatypefamily="basictype" name="infboundtype" datatypename="basicenumeration" info="inf bound type">
<evalue name="range_bound_include" info="["/>
<evalue name="range_bound_exclude" info="("/>
<evalue name="range_bound_value" info="["/>
</scalar>
<scalar datatypefamily="basictype" name="supboundtype" datatypename="basicenumeration" info="sup bound type">
<evalue name="range_bound_include" info="]"/>
<evalue name="range_bound_exclude" info=")"/>
<evalue name="range_bound_value" info="]"/>
</scalar>
<scalar datatypefamily="basictype" name="type" datatypename="basicenumeration" info="type of range" default="include">
<evalue name="include" info="from"/>
<evalue name="include_value" info="from"/>
<evalue name="exclude" info="exclude"/>
<evalue name="exclude_value" info="exclude"/>
</scalar>
</element>
<element name="jacobian" info="jacobians created after compilation">
<uid format="$2:$3">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="row" datatypename="node" info="back to node (either equation or node)"/>
<scalar datatypefamily="reference" name="column" datatypename="node" info="back to node (either equation or node)"/>
</uid>
<scalar datatypefamily="basictype" name="diagonal" datatypename="basicenumeration" info="this term is in the diagonal" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="static" datatypename="basicenumeration" info="this term has static contribution" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="dynamic" datatypename="basicenumeration" info="this term has dynamic contribution" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
</element>
<element name="analog" info="to analog code">
<uid format="analog $1">
<scalar datatypefamily="reference" name="code" datatypename="adms" info="top of analog block"/>
</uid>
</element>
<element name="math" info="mathml-like type">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name"/>
</uid>
<scalar datatypefamily="basictype" name="value" datatypename="basicreal" info="numerical value" default="adms_NAN"/>
<scalar datatypefamily="basictype" name="static" datatypename="basicenumeration" info="math used by static contribution" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="dynamic" datatypename="basicenumeration" info="math used by static contribution" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="dependency" datatypename="basicenumeration" info="is Probe dependent" default="constant">
<evalue name="constant" info="is operating point independent"/>
<evalue name="noprobe" info="does not depend on probes"/>
<evalue name="linear" info="depends lineary on probes"/>
<evalue name="nonlinear" info="depends non-lineary on probes"/>
</scalar>
<list datatypefamily="reference" name="attribute" datatypename="adms" info="list of any items"/>
<element name="string" info="adms string">
<uid format="\"$1\"">
<scalar datatypefamily="basictype" name="value" datatypename="basicstring" info="character array value"/>
</uid>
</element>
<element name="subexpression" info="mathml-like subexpression">
<uid format="$1">
<scalar datatypefamily="reference" name="expression" datatypename="expression" info="root expression"/>
</uid>
<element name="mapply_unary" info="unary operator">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicenumeration" info="name of operator" default="fixme:not_used">
<evalue name="plus" info="(+$2)"/>
<evalue name="minus" info="(-$2)"/>
<evalue name="not" info="(!$2)"/>
<evalue name="bw_not" info="(~$2)"/>
</scalar>
<scalar datatypefamily="reference" name="arg1" datatypename="adms" info="first argument"/>
</uid>
</element>
<element name="mapply_binary" info="binary operator">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicenumeration" info="name of operator" default="fixme:not_used">
<evalue name="bw_equr" info="($2^~$3)"/>
<evalue name="bw_equl" info="($2~^$3)"/>
<evalue name="bw_xor" info="($2^$3)"/>
<evalue name="bw_or" info="($2|$3)"/>
<evalue name="bw_and" info="($2&$3)"/>
<evalue name="or" info="($2||$3)"/>
<evalue name="and" info="($2&&$3)"/>
<evalue name="equ" info="($2==$3)"/>
<evalue name="notequ" info="($2!=$3)"/>
<evalue name="lt" info="($2<$3)"/>
<evalue name="lt_equ" info="($2<=$3)"/>
<evalue name="gt" info="($2>$3)"/>
<evalue name="gt_equ" info="($2>=$3)"/>
<evalue name="shiftr" info="($2>>$3)"/>
<evalue name="shiftl" info="($2<<$3)"/>
<evalue name="addp" info="($2+$3)"/>
<evalue name="addm" info="($2-$3)"/>
<evalue name="multtime" info="($2*$3)"/>
<evalue name="multdiv" info="($2/$3)"/>
<evalue name="multmod" info="($2%$3)"/>
</scalar>
<scalar datatypefamily="reference" name="arg1" datatypename="adms" info="first argument"/>
<scalar datatypefamily="reference" name="arg2" datatypename="adms" info="second argument"/>
</uid>
</element>
<element name="mapply_ternary" info="ternary operator">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicenumeration" info="name of operator" default="fixme_not_used">
<evalue name="conditional" info="($2?$3:$4)"/>
</scalar>
<scalar datatypefamily="reference" name="arg1" datatypename="adms" info="first argument"/>
<scalar datatypefamily="reference" name="arg2" datatypename="adms" info="second argument"/>
<scalar datatypefamily="reference" name="arg3" datatypename="adms" info="third argument"/>
</uid>
</element>
<element name="number" info="number representation">
<uid format="$1">
<scalar datatypefamily="reference" name="lexval" datatypename="lexval" info="locus"/>
</uid>
<aliasbis name="value" path="lexval/string"/>
<scalar datatypefamily="basictype" name="scalingunit" datatypename="basicenumeration" info="factor by which the number value is scaled" default="1">
<evalue name="E" info="multiplication factor = 1.0e+18 (exa)"/>
<evalue name="P" info="multiplication factor = 1.0e+15 (peta)"/>
<evalue name="T" info="multiplication factor = 1.0e+12 (tera)"/>
<evalue name="G" info="multiplication factor = 1.0e+9 (giga)"/>
<evalue name="M" info="multiplication factor = 1.0e+6 (mega)"/>
<evalue name="K" info="multiplication factor = 1.0e+3 (Kilo)"/>
<evalue name="k" info="multiplication factor = 1.0e+3 (kilo)"/>
<evalue name="h" info="multiplication factor = 1.0e+2 (hecto)"/>
<evalue name="D" info="multiplication factor = 1.0e+1 (deka)"/>
<evalue name="1" info="multiplication factor = 1.0 (none)"/>
<evalue name="d" info="multiplication factor = 1.0e-1 (deci)"/>
<evalue name="c" info="multiplication factor = 1.0e-2 (centi)"/>
<evalue name="m" info="multiplication factor = 1.0e-3 (milli)"/>
<evalue name="u" info="multiplication factor = 1.0e-6 (micro)"/>
<evalue name="n" info="multiplication factor = 1.0e-9 (nano)"/>
<evalue name="A" info="multiplication factor = 1.0e-10 (amgstron)"/>
<evalue name="p" info="multiplication factor = 1.0e-12 (pico)"/>
<evalue name="f" info="multiplication factor = 1.0e-15 (femto)"/>
<evalue name="a" info="multiplication factor = 1.0e-18 (atto)"/>
</scalar>
<scalar datatypefamily="basictype" name="cast" datatypename="basicenumeration" info="representation" default="d">
<evalue name="i" info="integer"/>
<evalue name="d" info="double"/>
</scalar>
</element>
<element name="function" info="function representation">
<uid format="$1($5)">
<scalar datatypefamily="reference" name="lexval" datatypename="lexval" info="locus"/>
<scalar datatypefamily="basictype" name="unique_id" datatypename="basicinteger" info="uinque id"/>
</uid>
<aliasbis name="name" path="lexval/string"/>
<scalar datatypefamily="reference" name="definition" datatypename="analogfunction" info="back to analogfunction"/>
<scalar datatypefamily="basictype" name="class" datatypename="basicenumeration" info="type of function (builtin, userdefined, ...)" default="analog">
<evalue name="builtin" info="builtin standard math function"/>
<evalue name="operator" info="operators"/>
<evalue name="analog" info="analog function - user defined"/>
<evalue name="digital" info="digital function - user defined"/>
</scalar>
<list datatypefamily="reference" name="arguments" datatypename="adms" info="list of arguments" format=","/>
</element>
<element name="variable" info="variable instantiation">
<uid format="$1">
<scalar datatypefamily="reference" name="prototype" datatypename="variableprototype" info="variable prototype"/>
</uid>
<aliasbis name="module" path="prototype/module"/>
<aliasbis name="lexval" path="prototype/lexval"/>
<aliasbis name="block" path="prototype/block"/>
<aliasbis name="name" path="prototype/lexval/string"/>
<aliasbis name="sizetype" path="prototype/sizetype"/>
<aliasbis name="parametertype" path="prototype/parametertype"/>
<aliasbis name="type" path="prototype/type"/>
<aliasbis name="maxsize" path="prototype/maxsize"/>
<aliasbis name="minsize" path="prototype/minsize"/>
<aliasbis name="input" path="prototype/input"/>
<aliasbis name="output" path="prototype/output"/>
<aliasbis name="scope" path="prototype/scope"/>
<aliasbis name="default" path="prototype/default"/>
<aliasbis name="derivate" path="prototype/derivate"/>
<aliasbis name="isstate" path="prototype/isstate"/>
<aliasbis name="usedinmodel" path="prototype/usedinmodel"/>
<aliasbis name="usedininstance" path="prototype/usedininstance"/>
<aliasbis name="usedininitial_step" path="prototype/usedininitial_step"/>
<aliasbis name="usedinevaluate" path="prototype/usedinevaluate"/>
<aliasbis name="usedinnoise" path="prototype/usedinnoise"/>
<aliasbis name="usedinfinal" path="prototype/usedinfinal"/>
<aliasbis name="setinmodel" path="prototype/setinmodel"/>
<aliasbis name="setininstance" path="prototype/setininstance"/>
<aliasbis name="setininitial_step" path="prototype/setininitial_step"/>
<aliasbis name="setinevaluate" path="prototype/setinevaluate"/>
<aliasbis name="setinnoise" path="prototype/setinnoise"/>
<aliasbis name="setinfinal" path="prototype/setinfinal"/>
<aliasbis name="setingetprev" path="prototype/setingetprev"/>
<aliasbis name="TemperatureDependent" path="prototype/TemperatureDependent"/>
<aliasbis name="OPdependent" path="prototype/OPdependent"/>
<aliasbis name="insource" path="prototype/insource"/>
<aliasbis name="vcount" path="prototype/vcount"/>
<aliasbis name="vlast" path="prototype/vlast"/>
<aliasbis name="probe" path="prototype/probe"/>
<!-- inside math -->
<aliasbis name="static" path="prototype/static"/>
<aliasbis name="dynamic" path="prototype/dynamic"/>
<aliasbis name="attribute" path="prototype/attribute"/>
<!-- lists -->
<aliasbis name="ddxprobe" path="prototype/ddxprobe"/>
<aliasbis name="variable" path="prototype/variable"/>
<aliasbis name="assignment" path="prototype/assignment"/>
<aliasbis name="alias" path="prototype/alias"/>
<aliasbis name="range" path="prototype/range"/>
</element>
<element name="array" info="array instantiation">
<uid format="$1[$2]">
<scalar datatypefamily="reference" name="variable" datatypename="variable" info="back to the variable"/>
<scalar datatypefamily="reference" name="index" datatypename="adms" info="index (can be complex expression)"/>
</uid>
</element>
<element name="probe" info="all probes created after compilation">
<uid format="$3($2)">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="branch" datatypename="branch" info="back to branch"/>
<scalar datatypefamily="reference" name="nature" datatypename="nature" info="back to probe nature"/>
</uid>
<scalar datatypefamily="basictype" name="seen" datatypename="basicenumeration" info="internal use" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="reference" name="discipline" datatypename="discipline" info="back to discipline"/>
<scalar datatypefamily="basictype" name="grounded" datatypename="basicenumeration" info="nnode of probe is ground" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="reference" name="source" datatypename="source" info="back to source"/>
</element>
</element>
<element name="expression" info="expression tree">
<uid format="($2)">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="tree" datatypename="adms" info="subexpression"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<scalar datatypefamily="basictype" name="hasspecialnumber" datatypename="basicstring" info="obsolete - is either +inf or -inf" default="NO"/>
<scalar datatypefamily="basictype" name="hasVoltageDependentFunction" datatypename="basicenumeration" info="expression has voltage dependent functions" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="infinity" datatypename="basicenumeration" info="infinite value" default="no">
<evalue name="minus" info="-inf"/>
<evalue name="plus" info="+inf"/>
<evalue name="no" info="otherwise"/>
</scalar>
<scalar datatypefamily="basictype" name="TemperatureDependent" datatypename="basicenumeration" info="expression is temperature dependent" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="value" datatypename="basicenumeration" info="expression value is either 0, 1, -1 or any" default="is_any">
<evalue name="is_zero" info="expression value equals 0"/>
<evalue name="is_one" info="expression value equals 1"/>
<evalue name="is_neg_one" info="expression value equals -1"/>
<evalue name="is_any" info="expression value equals neither -1, 0, 1"/>
</scalar>
<list datatypefamily="reference" name="function" datatypename="function" info="built-in functions occuring in expression"/>
<list datatypefamily="reference" name="probe" datatypename="probe" info="list of probes that occur in expression"/>
<list datatypefamily="reference" name="variable" datatypename="variable" info="list of explicit variables that occur in expression"/>
</element>
<element name="instance" info="instantiation">
<uid format="$1.$2#$3">
<scalar datatypefamily="reference" name="instantiator" datatypename="module" info="back to instantiator"/>
<scalar datatypefamily="reference" name="module" datatypename="module" info="instance module"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name"/>
</uid>
<list datatypefamily="reference" name="terminal" datatypename="instancenode" info="terminals"/>
<list datatypefamily="reference" name="parameterset" datatypename="instanceparameter" info="parameter assignments"/>
</element>
<element name="instanceparameter" info=".parameter(expression)">
<uid format="$1#$2">
<scalar datatypefamily="reference" name="parameter" datatypename="variableprototype" info="left-hand-side"/>
</uid>
<scalar datatypefamily="reference" name="value" datatypename="expression" info="right-hand-side"/>
</element>
<element name="instancenode" info="instance node">
<uid format="$1#$2">
<scalar datatypefamily="reference" name="nodefrominstantiator" datatypename="node" info="instantiator node"/>
<scalar datatypefamily="reference" name="nodefrommodule" datatypename="node" info="instance node"/>
</uid>
</element>
<element name="nilled" info="nilled operator">
<uid format="nilled operator">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" default="" info="obsolete - not used"/>
</element>
<element name="assignment" info="assignement: variable=expression">
<uid format="$2=$3">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="lhs" datatypename="adms" info="left-hand-side (variable or array)"/>
<scalar datatypefamily="reference" name="rhs" datatypename="expression" info="right-hand-side"/>
<scalar datatypefamily="reference" name="lexval" datatypename="lexval" info="locus"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" default="" info="obsolete - not used"/>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
</element>
<element name="contribution" info="contribution: source <+ expression;">
<uid format="$2<+$3;">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="lhs" datatypename="source" info="left-hand-side"/>
<scalar datatypefamily="reference" name="rhs" datatypename="expression" info="right-hand-side"/>
<scalar datatypefamily="reference" name="lexval" datatypename="lexval" info="locus"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<scalar datatypefamily="reference" name="branchalias" datatypename="branchalias" info="name of branch"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" default="" info="obsolete - not used"/>
<scalar datatypefamily="basictype" name="whitenoise" datatypename="basicenumeration" info="do we have source<+whitenoise(...)?" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<scalar datatypefamily="basictype" name="flickernoise" datatypename="basicenumeration" info="do we have source<+flickernoise(...)?" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
</element>
<element name="conditional" info="conditional if..then..else..">
<uid format="if($2) $3$4">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="if" datatypename="expression" info="conditional expression"/>
<scalar datatypefamily="reference" name="then" datatypename="adms" info="then block"/>
<scalar datatypefamily="reference" name="else" datatypename="adms" info="else block" format=" else $4"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" default="" info="name"/>
</element>
<element name="forloop" info="for(initial;conditional;update) forblock">
<uid format="for($2;$3;$4)\n$5">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="initial" datatypename="assignment" info="initial"/>
<scalar datatypefamily="reference" name="condition" datatypename="expression" info="condition"/>
<scalar datatypefamily="reference" name="update" datatypename="assignment" info="update"/>
<scalar datatypefamily="reference" name="forblock" datatypename="adms" info="for block"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" default="" info="name"/>
</element>
<element name="whileloop" info="while(..)..">
<uid format="while($2)\n$3">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="while" datatypename="expression" info="while condition"/>
<scalar datatypefamily="reference" name="whileblock" datatypename="adms" info="while block"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" default="" info="name"/>
</element>
<element name="case" info="case (..) 1,2:...; 2,4:...; default:...; endcase">
<uid format="case">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="case" datatypename="expression" info="case condition"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" default="" info="name"/>
<list datatypefamily="reference" name="caseitem" datatypename="caseitem" info="list of case items"/>
</element>
<element name="caseitem" info="case item in 'case (..) 1:...; 2:...; endcase'">
<uid format="caseitem">
<scalar datatypefamily="reference" name="code" datatypename="adms" info="evaluated code"/>
</uid>
<scalar datatypefamily="basictype" name="defaultcase" datatypename="basicenumeration" info="is default case? (in that case condition is empty)" default="no">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
<list datatypefamily="reference" name="condition" datatypename="adms" info="or-ed conditions for selected case item"/>
</element>
<element name="blockvariable" info="block variable declarations">
<uid format="real $2;">
<scalar datatypefamily="reference" name="block" datatypename="block" info="back to the module"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<list datatypefamily="reference" name="variable" datatypename="variable" info="block variables" format=","/>
</element>
<element name="block" info="begin..end block">
<uid format="begin :$2\n$4end\n">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="lexval" datatypename="lexval" info="locus"/>
<scalar datatypefamily="reference" name="block" datatypename="block" info="block just above"/>
<list datatypefamily="reference" name="item" datatypename="adms" info="items inside begin..end" format="\n"/>
</uid>
<aliasbis name="name" path="lexval/string"/>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="veriloga items"/>
<list datatypefamily="reference" name="variable" datatypename="variableprototype" info="block variable declarations"/>
<list datatypefamily="reference" name="probe" datatypename="probe" info="list of probes that occur in begin..end"/>
</element>
<element name="callfunction" info="calling functions ($strobe, $warning, ..)">
<uid format="$2">
<scalar datatypefamily="reference" name="module" datatypename="module" info="back to the module"/>
<scalar datatypefamily="reference" name="function" datatypename="function" info="function called"/>
</uid>
<alias name="static" element="math" attribute="static"/>
<alias name="dynamic" element="math" attribute="dynamic"/>
</element>
</element>
<comment>internal usage - parsing of xml scripts</comment>
<element name="evaluation" info="obsolete - kept for backward compatibility">
<uid format=""/>
<list datatypefamily="reference" name="variable" datatypename="variable" info="variables"/>
</element>
<comment>text: parse</comment>
<element name="text" info="text=[admst.basicstring|text|path]*">
<uid format="$1:$2">
<scalar datatypefamily="reference" name="transform" datatypename="transform" info="back to transform"/>
<scalar datatypefamily="basictype" name="value" datatypename="basicstring" info="string value"/>
</uid>
<scalar datatypefamily="basictype" name="aname" datatypename="basicstring" info="attribute name or %(...)"/>
<scalar datatypefamily="basictype" name="admse" datatypename="basicinteger" info="admse value, otherwise any" default="0"/>
<list datatypefamily="reference" name="token" datatypename="adms" info="sequence of text, admst, path"/>
</element>
<comment>path: parse</comment>
<element name="path" info="internal representation of path">
<uid format="$1:$3.$4">
<scalar datatypefamily="reference" name="transform" datatypename="transform" info="back to transform"/>
<scalar datatypefamily="reference" name="text" datatypename="text" info="text inside (...) in $(...), @(...) or #(...)"/>
</uid>
<scalar datatypefamily="basictype" name="aname" datatypename="basicstring" info="attribute name or %(...)"/>
<scalar datatypefamily="basictype" name="avalue" datatypename="basicstring" info="attribute value"/>
<scalar datatypefamily="reference" name="template" datatypename="transform" info="template when path is location02"/>
<scalar datatypefamily="basictype" name="keeplist" datatypename="basicinteger" info="do not flatten lists" default="0"/>
<scalar datatypefamily="basictype" name="callbackname" datatypename="basicstring" info="callback name"/>
<scalar datatypefamily="basictype" name="callback" datatypename="basicfunction" info="called when node traversed"/>
<list datatypefamily="reference" name="bar" datatypename="path" default="" info="all items between |"/>
<list datatypefamily="reference" name="arg" datatypename="path" default="" info="arguments of arithmetics (+,-,..)"/>
<list datatypefamily="reference" name="u" datatypename="path" default="" info="child of unary"/>
<list datatypefamily="reference" name="b" datatypename="path" default="" info="children (1 or 2) of binary"/>
<list datatypefamily="reference" name="c" datatypename="path" default="" info="condition"/>
</element>
<element name="ptraverse" info="traverse path">
<uid format="$1">
<scalar datatypefamily="reference" name="transform" datatypename="transform" info="back to admst path"/>
</uid>
<list datatypefamily="reference" name="admst" datatypename="admst" info="admst list"/>
<list datatypefamily="reference" name="alladmst" datatypename="admst" info="keep track of all admst for memory management"/>
<list datatypefamily="reference" name="aliasadmst" datatypename="admst" info="keep track of all admst for memory management"/>
<scalar datatypefamily="basictype" name="position" datatypename="basicinteger" info="count"/>
<scalar datatypefamily="reference" name="a1" datatypename="admst" info="returned path"/>
<scalar datatypefamily="reference" name="an" datatypename="admst" info="returned path"/>
</element>
<element name="pparse" info="parser of attr="path"">
<uid format="$1:$2">
<scalar datatypefamily="reference" name="transform" datatypename="transform" info="transform"/>
<scalar datatypefamily="basictype" name="aname" datatypename="basicstring" info="path aname"/>
<scalar datatypefamily="basictype" name="value" datatypename="basicstring" info="path value"/>
</uid>
<scalar datatypefamily="reference" name="path" datatypename="path" info="returned path"/>
<scalar datatypefamily="reference" name="text" datatypename="text" info="returned text"/>
<scalar datatypefamily="basictype" name="position" datatypename="basickstring" info="current character in lexical analysis"/>
<scalar datatypefamily="basictype" name="tkstart" datatypename="basickstring" info="first character of token"/>
<scalar datatypefamily="basictype" name="tklen" datatypename="basicinteger" info="length of token"/>
<scalar datatypefamily="basictype" name="tkid" datatypename="basicenumeration" info="id of token"/>
</element>
<comment>path: traverse</comment>
<element name="admst" info="admst value">
<uid format="admst">
<scalar datatypefamily="reference" name="previous" datatypename="admst" info="previous admst"/>
<scalar datatypefamily="reference" name="previouspath" datatypename="admst" info="previous path"/>
<scalar datatypefamily="basictype" name="pseudo" datatypename="basicenumeration" info="pseudo datatypename"/>
</uid>
<scalar datatypefamily="reference" name="item" datatypename="adms" info="item"/>
<scalar datatypefamily="basictype" name="valueto" datatypename="basicfunction" info="valueto routine"/>
<scalar datatypefamily="basictype" name="position" datatypename="basicinteger" info="position"/>
<scalar datatypefamily="basictype" name="count" datatypename="basicinteger" info="count"/>
<scalar datatypefamily="basictype" name="hasnewbasicstring" datatypename="basicinteger" info="string newly allocated" default="0"/>
<scalar datatypefamily="reference" name="original" datatypename="admst" info="original admst"/>
<scalar datatypefamily="basictype" name="refd" datatypename="basicinteger" info="count of references" default="1"/>
<scalar datatypefamily="basictype" name="true" datatypename="basicinteger" info="count of references" default="1"/>
<scalar datatypefamily="reference" name="preva" datatypename="admst" info="returned path"/>
<scalar datatypefamily="reference" name="nexta" datatypename="admst" info="returned path"/>
<scalar datatypefamily="basictype" name="selected" datatypename="basicenumeration" info="is selected?" default="yes">
<evalue name="yes" info="it is true"/>
<evalue name="no" info="it is false"/>
</scalar>
</element>
<comment>transform: parse</comment>
<element name="transform" info="transform">
<uid format="[$1:$3]">
<scalar datatypefamily="basictype" name="fullfilename" datatypename="basicstring" info="full file name"/>
<scalar datatypefamily="basictype" name="basefilename" datatypename="basicstring" info="base file name"/>
<scalar datatypefamily="basictype" name="l" datatypename="basicinteger" info="line number in file name"/>
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name in <admst:name ... />"/>
<scalar datatypefamily="reference" name="parent" datatypename="transform" info="parent of transform"/>
</uid>
<scalar datatypefamily="basictype" name="callback" datatypename="basicfunction" info="routine evaluated when transform is traversed"/>
<scalar datatypefamily="basictype" name="id" datatypename="basicstring" info="callback name"/>
<scalar datatypefamily="reference" name="pathselect" datatypename="path" info="path"/>
<scalar datatypefamily="reference" name="pathpath" datatypename="path" info="path"/>
<scalar datatypefamily="reference" name="pathinto" datatypename="path" info="path"/>
<scalar datatypefamily="reference" name="pathtest" datatypename="path" info="path"/>
<scalar datatypefamily="reference" name="pathlist" datatypename="path" info="built from tlist"/>
<scalar datatypefamily="reference" name="textselect" datatypename="text" info="text - for admst:variable - obsolete"/>
<scalar datatypefamily="reference" name="textdatatype" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textmatch" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textrequired" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textseparator" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textfrom" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textto" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textlist" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textname" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textformat" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textfile" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textversion" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textonduplicate" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textprobe" datatypename="text" info="text"/>
<scalar datatypefamily="reference" name="textstring" datatypename="text" info="text"/>
<list datatypefamily="reference" name="templates" datatypename="transform" info="list of templates"/>
<list datatypefamily="reference" name="textarguments" datatypename="text" info="list of text"/>
<scalar datatypefamily="reference" name="pathoncompare" datatypename="path" info="comparison"/>
<list datatypefamily="reference" name="pathinputs" datatypename="path" info="list of path"/>
<list datatypefamily="reference" name="attribute" datatypename="attribute" info="attributes: <xmlname attribute="value"/> (unused if xmlname is transform)"/>
<list datatypefamily="reference" name="children" datatypename="transform" info="children of transform"/>
</element>
<element name="itransform" info="instance of adms transform created by apply-template">
<uid format="$1">
<scalar datatypefamily="reference" name="template" datatypename="transform" info="link to matching template"/>
</uid>
<scalar datatypefamily="reference" name="originalcall" datatypename="transform" info="original call"/>
<list datatypefamily="reference" name="variable" datatypename="admstvariable" info="local admst variables (scope is template)"/>
<list datatypefamily="reference" name="return" datatypename="admst" info="returned values"/>
</element>
<element name="return" info="Xreturn value">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name"/>
<scalar datatypefamily="basictype" name="value" datatypename="basicstring" info="value"/>
</uid>
</element>
<element name="attribute" info="pair (name,value)">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name"/>
</uid>
<scalar datatypefamily="reference" name="value" datatypename="adms" info="value"/>
</element>
<element name="admstvariable" info="admst variable">
<uid format="$1">
<scalar datatypefamily="basictype" name="name" datatypename="basicstring" info="name"/>
</uid>
<list datatypefamily="reference" name="value" datatypename="admst" info="value (list)"/>
</element>
<comment>veriloga: parse</comment>
<element name="lexval" info="token value returned by veriloga lexical analyzer">
<uid format="$1">
<scalar datatypefamily="basictype" name="string" datatypename="basicstring" info="token value"/>
<scalar datatypefamily="basictype" name="f" datatypename="basicstring" info="file name"/>
<scalar datatypefamily="basictype" name="l" datatypename="basicinteger" info="line number"/>
<scalar datatypefamily="basictype" name="c" datatypename="basicinteger" info="first char position"/>
</uid>
</element>
<element name="yaccval" info="in yacc rules value saved into $$">
<uid format="$1">
<scalar datatypefamily="basictype" name="filename" datatypename="basicstring" info="file name"/>
</uid>
<scalar datatypefamily="reference" name="usrdata" datatypename="adms" info="any element"/>
</element>
</element>
</adms>
|