Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add system library of Verilog-A defined devices #343

Open
ra3xdh opened this issue Oct 28, 2023 · 2 comments
Open

Add system library of Verilog-A defined devices #343

ra3xdh opened this issue Oct 28, 2023 · 2 comments

Comments

@ra3xdh
Copy link
Owner

ra3xdh commented Oct 28, 2023

The microstrip devices models #94 will be most likely implemented in form of Verilog-A modules. These modules should be compiled with OpenVAF and attached to Ngspice. It's need to provide a way to attach Verilog-A model to system devices. I propose the following approach:

  • Put a set of VA models in share/qucs-s/va_library directory in the installation root.

The two ways to integrate these models are possible:

  • Add a button named like Compile system libraries in the application setting dialog near the OpenVAF configuration input field. Compiled OSDI modules will be placed to the $HOME/.qucs/osdi_modules location and attached automatically while forming .spiceinit config. Modules should be build once.

  • Scan schematic recursively and compile OSDI modules automatically before the simulation if some device referencing Verilog-A model is found.

The combination of these two approaches is also possible. This feature should be added in order to implement #94 in the next release.

@zergud
Copy link
Collaborator

zergud commented Oct 30, 2023

there is a more flexible solution for library location:

  • SYSTEM - located in share/qucs-s/va_library (readonly)
  • USER - located in user home dir $HOME/.qucs/va_library
  • PROJECT - located in project folder

USER and PROJECT directory are writeble for user

all compiled OSDI modules will be placed to the $HOME/.qucs/osdi_modules location and attached automatically while forming .spiceinit config

compilation approach, control duplicated name and recompilation condition (e.g. via file timestamp) are subject to discuss

@ra3xdh
Copy link
Owner Author

ra3xdh commented Feb 17, 2024

The development of the OpenVAF compiler seems to be suspended. See pascalkuthe/OpenVAF#111 (comment) for more details. By this reason I am removing this issue from the development plan for the next release. Let's wait for more news about OpenVAF future, because the support of Verilog-A in Qucs-S+Ngspice is strongly depends on OpenVAF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants