A RetroSearch Logo

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

Search Query:

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

Hierarchy · gmlarumbe/vhdl-ext Wiki · GitHub

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

vhdl-ext supports three different backends to extract the hierarchy (builtin, tree-sitter and ghdl) 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 VHDL parser to generate a database of current project entities to extract the hierarchy.

To configure it:

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

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

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

Uses Tree-sitter parser to generate a database of current project in vhdl-ext-project-alist to extract the hierarchy.

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

GHDL is the open-source analyzer, compiler, simulator and (experimental) synthesizer for VHDL. It can be used to elaborate the design and extract the hierarchy.

GHDL 4.0.0 or higher is required. It is recommended to download a precompiled image or installing from sources: https://github.com/ghdl/ghdl#getting-ghdl

Using package managers is another alternative but beware that these might provide older versions that will not work.

sudo apt-get install ghdl
ghdl --version

To configure it explicitly:

(setq vhdl-ext-hierarchy-backend 'ghdl)

GHDL backend requires the sources in the alist vhdl-ext-project-alist to be in order, as they are passed as command line arguments to the GHDL process.

vhdl-ext will automatically detect which project of vhdl-ext-project-alist your current buffer belongs to and will extract the hierarchy for the buffer entity. If there are any compilation errors these will be shown in the buffer *ghdl-hier-errors*.

Once it has been analyzed, hierarchy data will be cached and can be further used to instantly retrieve the hierarchy for entities down in the hierarchy.

For example, if you run vhdl-ext-hierarchy-current-buffer on the top entity you will be able to get the hierarchy of any of the entities in the project. However, if you run the command for a subblock, the database will hold data for that subblock and not for the top entity of the project.

To force refreshing of the database simply run the command with the prefix arg:

The hierarchy package is integrated into Emacs core since 28.1.

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

The outline package brings the look and feel of Org Mode to other major modes.

vhdl-ext provides the major mode vhdl-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