Working in Chat
AI Assistant provides a dedicated chat view where you can exchange messages with the LLM on any topic.

You can start a new chat session in several ways:
Using Start a New Chat Session command.
Using Start a New Session from Blueprint command, where you can select any built-in or custom blueprint that targets the chat.
Using the built-in blueprint commands starting with DVT AI Blueprint and targeting the chat.
Cloning an existing session from the chat view’s Sessions page.
Using Run Last Session in Chat command.
The chat view has two pages, one with the actual chat and another one with all the sessions:
Sessions page allows you to switch between sessions and to manage previous sessions.
Chat page allows you to exchange messages with the LLM. It’s divided in two sections, the messages area with pairs of user requests and LLM replies and the prompt area where you input your requests.
The prompt area allows you to write your requests and has several features.
Highlight:
@snippets and #symbols are highlighted so you can easily identify them.
Indicates that the actual request will have a different content after the prompt will be expanded. To preview the message before it’s being sent use the Preview Message before Sending button.
Autocomplete:
Speeds-up @snippet and #symbol insertion.
Automatically appears when needed (e.g. after writing @ or #).
Can be triggered using Ctrl+Space.
Chat Session Profiles
Each chat session is associated with a profile that determines which features are available. When you start a new chat session, you can change the profile by clicking the Switch Chat Session Profile button located in the lower-left corner of the prompt area.
The available chat session profiles are:
Basic
Project information is passed to the model only through @snippets and #symbols used in the prompt.
Context-aware
Relevant project information (@auto context) is automatically included within the first message.
Tool-enabled
Models can use tools from DVT to autonomously access project information or to manipulate files.
The available tools are:
dvt_get_symbol_definitions: Retrieves the full source code definitions of symbols (e.g., classes, modules, interfaces).
dvt_get_symbol_locations: Finds where symbols are defined in the project (file path and line range).
dvt_get_symbol_references: Finds all usages of a symbol across the project.
dvt_get_identifier_references: Finds all usages of a specific identifier (e.g., variable, function parameter) across the project.
dvt_get_symbol_dependencies: Retrieves source code definitions of all symbols that a given symbol depends on.
dvt_get_compiled_files_tree: Shows all compiled files in the project as a hierarchical tree.
dvt_get_design_top: Retrieves the top-level design element(s) in the project.
dvt_get_design_subinstances: Lists all sub-instances of a specified design element.
dvt_get_verification_top: Gets the top-level UVM component.
dvt_get_verification_subcomponents: Lists all subcomponents of a specified UVM component.
dvt_get_file_identifiers: Lists all identifiers in a file, grouped by line.
dvt_get_problems: Retrieves compilation problems (errors/warnings) for a given file.
read_file: Reads and returns the content of a given file.
edit_file: Edits specific sections of a given file using search/replace blocks.
write_file: Writes content to a file (overwrites existing file or creates new file).
get_open_files: Lists all currently open files in the editor, marking the active one.