A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/gmlarumbe/verilog-ext/wiki/Hierarchy below:

Hierarchy · gmlarumbe/verilog-ext Wiki · GitHub

First make sure that hierarchy has been included in verilog-ext-feature-list before running verilog-ext-mode-setup.

verilog-ext supports three different backends to extract the hierarchy (builtin, tree-sitter and vhier) and two different frontends to display it (hierarchy.el and outline).

By default the tree-sitter backend will be chosen if available. Otherwise it will fall back on the builtin backend. The hierarchy.el frontend will be always the default.

Example usage:

Uses internal Emacs lisp SystemVerilog parser to generate a database of current project modules to extract the hierarchy.

It is also needed to set the variable vhdl-ext-project-alist for file parsing and analyze project modules through one of these commands:

A hierarchy database will be created and cached so that it is kept for future sessions.

To configure it explicitly:

(setq verilog-ext-hierarchy-backend 'builtin)

Uses Tree-sitter parser to generate a database of current project modules to extract the hierarchy.

(setq verilog-ext-hierarchy-backend 'tree-sitter)

Verilog-Perl vhier is a mature tool that reads the Verilog files passed on the command line and outputs a tree of all of the filenames, modules, and cells referenced by that file.

sudo apt-get install libverilog-perl

To configure it explicitly:

(setq verilog-ext-hierarchy-backend 'vhier)

By default verilog-ext-hierarchy-current-buffer with the vhier backend will look only at the list of files included in verilog-ext-project-alist. If you also want to include the list of current Verilog open buffers and their corresponding directories to search for modules, simply set the customizable variable verilog-ext-hierarchy-vhier-use-open-buffers to non-nil.

In case there is some missing module or an error related with compilation order, you might need to set the verilog-ext-project-alist property :command-file and set a command file that can include a list of the files/includes used for hierarchy extraction, according to vhier syntax. E.g:

  (setq verilog-ext-project-alist
        `(("ucontroller"
           :root "/home/gonz/Repos/larumbe/ucontroller"
           :files ("src/pkg/global_pkg.sv"
           ;; ...
           ;; ...
           ;; `vhier' related properties
           :command-file "commands.f" ; vhier command file
           :lib-search-path nil)))    ; list of dirs to look for include directories or libraries

And being the content of commands.f:

-y ~/my-verilog-project/some-not-found-dir
~/my-verilog-project/src/my_pkg.sv
+define+SYNTHESIS+0

The hierarchy package is integrated into Emacs core since 28.1.

verilog-ext provides the major mode verilog-ext-hierarchy-twidget-nav-mode to navigate the hierarchy with the following keybindings:

The builtin outline-minor-mode brings the look and feel of Org Mode to other major modes.

verilog-ext provides the major mode verilog-ext-hierarchy-outline-nav-mode to navigate the hierarchy with the following keybindings:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4