Specador Documentation Generator User Guide
Rev. 23.2.28, 28 November 2023

5.2 Preferences File

<!-- The XML file header, required. -->
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE spechtml PUBLIC "-//DVT//specador-preferences" "specador-preferences.dtd">
<spechtml version="6">

   <!-- GENERAL OPTIONS -->

   <!-- Location where documentation will be generated. Relative paths are solved as relative to the current directory. -->
   <location>specador_html_doc</location>

   <!-- Delete all files in the destination directory before generating documentation. -->
   <clean-location>false</clean-location>

   <!-- When running in GUI mode, choose whether to open or not the generated documentation in browser. -->
   <open-in-browser>true</open-in-browser>

   <!-- Export source code for documented elements. -->
   <export-source-code>false</export-source-code>

   <!-- Title -->
   <title>Documentation Title</title>

   <!-- The content of the overview file will be embedded in the first page.
   Relative paths are solved as relative to the current directory. -->
   <overview-file>README.TXT</overview-file>

   <!-- Beautify comments: start sentences with capital letter, append dot after sentences, bfm -> BFM, dut -> DUT etc. -->
   <enhance-comments>true</enhance-comments>

   <!-- Syntax for comments formatting: auto, naturaldocs, javadoc or none. -->
   <doc-formatting-type>auto</doc-formatting-type>

   <!-- Add a custom CSS file to the documentation. -->
   <custom-css-file>custom.css</custom-css-file>

   <!-- Add a custom JavaScript file to the documentation. -->
   <custom-js-file>custom.js</custom-js-file>

   <!-- The user defined navigation menu (HTML or XML format) will be embedded in the main menu.
   Relative paths are solved as relative to the current directory. Default: none. -->
   <user-defined-html>user_defined.html</user-defined-html>

   <!-- Add "Created by <username> ..." watermark. -->
   <created-by-user-watermark>true</created-by-user-watermark>

   <!-- Generate documentation only for public API. -->
   <public-only>true</public-only>

   <!-- API matching the below filters with not be included in the generated documentation. Default: none. -->
   <!-- You can specify a comma-separated list of name patterns. Patterns may contain: * = any string, ? = any character. -->
   <filter-string>type1, type*, ty?pe</filter-string>

   <!-- You can specify one or more file or directory paths. -->
   <filter-path>/filter/path1</filter-path>
   <filter-path>/filter/path2</filter-path>

   <!-- Generate UML inheritance diagram for each class, struct or unit. -->
   <export-uml-inheritance-diagram>true</export-uml-inheritance-diagram>

   <!-- Generate UML inheritance diagram for all class, struct or unit in each package. -->
   <export-uml-package-inheritance-diagram>true</export-uml-package-inheritance-diagram>

   <!-- Generate UML collaboration diagram for each class, struct or unit. -->
   <export-uml-collaboration-diagram>true</export-uml-collaboration-diagram>

   <!-- Generate UML direct associations diagram for each class, struct or unit. -->
   <export-uml-direct-associations-diagram>true</export-uml-direct-associations-diagram>

   <!-- Use orthogonal edge routing for class diagrams. -->
   <vlog-orthogonal-class-diagrams>false</vlog-orthogonal-class-diagrams>

   <!-- Generate design block diagram for each module, entity. -->
   <export-design-block-diagram>false</export-design-block-diagram>

   <!-- Generate design flow diagram for each module, entity. -->
   <export-design-flow-diagram>false</export-design-flow-diagram>

   <!-- Generate design schematic diagram for each module, entity. -->
   <export-design-schematic-diagram>false</export-design-schematic-diagram>

   <!-- Generate finite-state machine diagrams for all state variables found in the module, entity. -->
   <export-fsm-diagrams>false</export-fsm-diagrams>

   !-- Direction for the FSM Diagrams: Up, Down, Left or Right -->
   <fsm-diagram-direction>Down</fsm-diagram-direction>

   <!-- Placement strategy for FSM Diagrams: Brandes-Koepf or Network Simplex -->
   <fsm-placement-strategy>Brandes-Koepf</fsm-placement-strategy>

   <!-- Enforce the in/out connections between states: None, All States or All States Except Initial -->
   <fsm-enforce-edge-port-side>All States Except Initial</fsm-enforce-edge-port-side>

   <!-- Position for initial state in FSM Diagram: Free, First or Last -->
   <fsm-initial-state-position>First</fsm-initial-state-position>

   <!-- Show default state in FSM Diagrams -->
   <fsm-show-default-state>true</fsm-show-default-state>

   <!-- Show loopback edges in FSM Diagrams -->
   <fsm-show-loopback-edges>false</fsm-show-loopback-edges>

   <!-- Generate bitfield diagrams for all UVM registers. -->
   <export-bitfield-diagram>false</export-bitfield-diagram>

   <!-- CROSS-LINK WITH PRE-GENERATED DOCUMENTATION -->

   <!-- Link to the elements for which documentation is already generated in the directories specified below, instead of re-generating their HTML pages. -->
   <external-doc-path>/path/to/external/doc1</external-doc-path>
   <external-doc-path>/path/to/external/doc2</external-doc-path>

   <!-- Link DPI-C API with Doxygen documentation pages using a Doxygen tag file. -->
   <external-doc-path doxygen-tag-file="doxygen_tag.xml">/path/to/external/doxygen_doc</external-doc-path>

   <!-- Add entries in the main menu with links to the external documentation. -->
   <show-external-doc-refs-in-navbar>false</show-external-doc-refs-in-navbar>

   <!-- Order ports alphabetically. -->
   <order-ports>false</order-ports>

   <!-- SYSTEMVERILOG SPECIFIC -->

   <!-- Generate modules documentation. -->
   <export-vlog-modules>true</export-vlog-modules>

   <!-- Generate interfaces documentation. -->
   <export-vlog-interfaces>true</export-vlog-interfaces>

   <!-- Generate programs documentation. -->
   <export-vlog-programs>true</export-vlog-programs>

   <!-- Generate macros documentation. -->
   <export-vlog-macros>true</export-vlog-macros>

   <!-- Generate ifndef guards documentation. Default: false. -->
   <export-vlog-ifndef-guards>true</export-vlog-ifndef-guards>

   <!-- Generate control defines documentation. Default: true. -->
   <export-vlog-control-defines>false</export-vlog-control-defines>

   <!-- Generate elements in the global scope (typedefs, classes, functions, tasks etc.). -->
   <export-vlog-global-scope>true</export-vlog-global-scope>

   <!-- Generate packages documentation. -->
   <export-vlog-packages>true</export-vlog-packages>

   <!-- Generate specific package documentation. -->
   <export-vlog-package>uvm_pkg</export-vlog-package>
   <export-vlog-package>ubus_pkg</export-vlog-package>

   <!-- Generate assertions documentation. -->
   <export-vlog-assertions>true</export-vlog-assertions>

   <!-- Generate covergroups documentation. -->
   <export-vlog-covergroups>true</export-vlog-covergroups>

   <!-- Generate interface signals documentation. -->
   <hide-vlog-interface-signals>false</hide-vlog-interface-signals>

   <!-- Expand `include directives in the body of a module. -->
   <expand-include-directives>false</expand-include-directives>

   <!-- VHDL SPECIFIC -->

   <!-- Generate libraries documentation. -->
   <export-vhdl-libraries>true</export-vhdl-libraries>

   <!-- Generate specific library documentation. -->
   <export-vhdl-library>ieee</export-vhdl-library>
   <export-vhdl-library>std</export-vhdl-library>

   <!-- E LANGUAGE SPECIFIC -->

   <!-- Generate macro documentation. -->
   <export-e-macro>true</export-e-macro>

   <!-- Generate packages documentation. -->
   <export-e-packages>true</export-e-packages>

   <!-- Generate specific package documentation. -->
   <export-e-package>main</export-e-package>
   <export-e-package>vt</export-e-package>

</spechtml>