Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[openhw.core-v.sw] IDE and HW Model

Hello,

I would like to start discussion about IDE and HW [meta]model.

I believe that IDE cannot be really useful without rich information (or "metadata") about target hardware. With my good friends I did several experiments with "hardware metadata"-based IDE scenarios and found that knowledge about "underlying hardware" always brings the user productivity to another level. The problem we have not yet solved is a lack of unified terminology to describe hardware capabilities to an IDE user - I hope OpenHW group will address this challenge. All the rest is more or less clear and not really bound to a particular software platform: the "metadata schema" (that is practically equal to "DSL grammar") can be supported on variety of platforms (Eclipse CDT, Eclipse Theia, VSCode, others).

I'm not talking about "front-end" languages support to program hardware first (C/C++/Rust/any others), because it becomes secondary problem with properly tuned toolchains. And toolchains can be tuned much more effectively if we know target "hardware metadata". The same for "debug" experience - the most important and tricky settings for debug connection can be derived from "hardware metamodel". Moreover, "classic" IDE features may be supported to acceptable level with the help of LSP/DAP components reuse, and these components are also tuned with the information derived from hardware metadata.

So, the HW metadata is a key ingredient to animate HW with SW using IDE&Tools. The suggestion is to establish a dedicated repository to start working on HM metamodel definition that will be consumable by both tools and humans.

Regards,
AF


Back to the top