[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnucap-devel] New gnucap development snapshot
From: |
al davis |
Subject: |
[Gnucap-devel] New gnucap development snapshot |
Date: |
Tue, 21 Nov 2006 18:13:07 -0500 |
User-agent: |
KMail/1.9.5 |
There is a new development snapshot of gnucap available.
There's a package at:
http://www.gnucap.org/devel/gnucap-2006-11-20.tar.gz
There is a significant change to the way models and devices are
dispatched, which really makes the link order critical. I am
planning to break out the models, devices, and user callable
functions, and this is a step on the way.
Apparent functionality is the same as 0.35, but the underlying
changes are essential to support for Verilog-A user compiled
models.
It is now possible to add something just by linking it. No
changes to other code are necessary, at all.
The next step is to make it so they can be attached by the user
at run time. This will make "gnucap-modelgen" meaningful as a
user program. Until now, it is a necessary part of the build
process but is not necessary in a binary installation. As a
user, you will be able to take a Verilog-A model, compile it,
and use it immediately without hacking the core at all, or even
recompiling the core.
An undesirable side effect is the link order is critical. The
gnu linker actually initializes in the reverse of the order
listed. The file linked last is initialized first. The
dispatcher objects need to be initialized first, before
anything is put in it. When static objects use inheritance,
the base class must be initialized before anything can be
derived from it. Considering this reverse order
initialization, this means "globals-last" must be listed last,
the "e_" files must be listed in reverse order of their
derivation. The "d_" primitives must be initialized before the
ones made by the model compler. The diode must initiaized
before the bjt or mosfet, etc....
If the link order is wrong, it will still link, but when you run
it, it will give the message "incorrect link order" and fail to
start. Please let me know where this happens.
This is handled correctly, I think, by the old build system
(./configure.old; make). It is handled by some really ugly
hacks with the autoconf based build system (./configure; make),
which will be redone soon. It should work both ways, but
development is done primarily with the old system.
I am asking for feedback, particularly on non-Linux and non-GNU
systems.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnucap-devel] New gnucap development snapshot,
al davis <=