Comments (1)
(1) You can look at what the dependencies are by hovering over the entity name (maybe not the best way to report but still).
If ENT_A defines a component called ENT_B and instantiates the component (e.g., label : ent_b
), then ENT_B.vhd is not a dependency, so its contents don't really matter. If you instantiate ENT_B explicitly (e.g., label : entity work.ent
), then ENT_B will be compiled before ENT_A and errors and/or warnings from ENT_B should be displayed when compiling ENT_A as well.
Components can be bound after the compilation phase, but since HDL Checker will only compile sources, the component not bound warning won't show up at all.
(2) HDL Checker only cares about names, as long as a target file's dependencies name matches foo, the file that defines foo will be compiled before the target file. In this case, the list of warnings/errors for the target file will also include warnings/errors from compiling foo.
(3) It should compile in the correct order. It will parse some VHDL clauses like use <library>.<design_unit>
to search for packages and contexts, label : entity <library>.<entity_name>
to search for entities and package body <name>
to search for package definitions. (The tool will query the compiler for what's built-in -- usually IEEE libraries, Xilinx precompiled libraries, etc --, so those will be ignored.)
You don't need to specify libraries for all sources, the tool will try to guess which library a source should be compiled on based on how the design units it defines are used. For example, if ent_a.vhd
defines an entity called ent_a
and the testbench instantiates it as <label> : entity some_library.ent_a
, then ent_a.vhd
should be compiled into some_library
. If ent_a
is instantiated in different libraries, the tool will pick the most common one and issue a dependency not unique warning listing the offending files.
I generally let HDL Checker try to guess and only manually set libraries of files it got wrong.
(4) Warnings from the compilation stage are shown by default, like I explained before, things that show up at runtime or simulation time will not be show because those steps are not run at all
Please let me know if that answers your questions or if you have any further questions!
from hdl_checker.
Related Issues (20)
- [feature] use shtab
- [feature] format code
- [feature] create a .gitignore in .hdl_checker
- [BUG] vscode-plugin: hdl_checker-script.py is being executed after vscode-close -> overloads CPU HOT 1
- [feature] Include modelsim's vsim for linter
- not support Python 3.12 HOT 1
- No module named 'six' on attempted launch HOT 2
- Add support for .f file lists HOT 1
- [Question] LSP hover information and dependencies navigation functionalities HOT 1
- pygls.features no longer exists HOT 2
- Error on Ubuntu 16.04 with Python 3.5 HOT 1
- New Files not being added to the Project
- Verilog/System Verilog support in Emacs lsp-mode HOT 2
- Empty Range for Diagnostics HOT 5
- NeoVim Native LSP Configuration errors HOT 2
- [Doc] Use pip3 instead of pip in instructions HOT 1
- No compiler flags applied even though hdl_checker.config exists
- hdl_checker appears as not running HOT 1
- Remove typing dependency
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hdl_checker.