Re: commands in verilog mode.
al davis <[email protected]>
| Newsgroups | gmane.comp.gnu.gnucap.devel |
|---|---|
| Message-ID | <[email protected]> |
On Friday 30 November 2007, Nathan Kohagen wrote: > Related to adding support of Verilog-AMS, I think something > that would be great is support for a digital simulator (such > as Icarus Verilog) to control the gnucap analog kernel. When > performing mixed-signal simulations there is usually large > amounts of digital with one analog portion that you are > targeting for the test and other analog blocks to support the > test. I think I am ahead of you on this one. "Which is king" should be reversed. Gnucap already has some mixed mode, including the first ever correct implementation of the concept of the Verilog-AMS "connectmodule". I need to update the language now. The digital part for now just does gates, and is not as fast as pure digital, but is already ahead of most others. It is crippled by the language. (and some 20 year old messed up code). I have had a few chats with Steve about Icarus Verilog and Gnucap working together, but we have not yet worked out the details. > Support for Verilog-AMS could be accomplished as a > preprocessor script to split into the digital (Icarus Verilog > = Verilog-D) and analog (gnucap = Verilog-A/SPICE) kernels > and link the whole mess together. Verilog-AMS is really a > superset, so I think we should be take pieces that already > good by themselves (Icarus and gnucap) and make them work > together. How primitive...... They were doing it that way 25 years ago. > An interesting paper is on creating a mixed signal > environment with SystemC is: > "SEAMS - A SYSTEMC ENVIRONMENT WITH ANALOG AND MIXED-SIGNAL > EXTENSIONS" by H Aljunaid and T J Kazmierski in ISCAS 2004. You should read some of the papers from the 80's. I recall the names of a few authors .. Hugo DeMan, Karem Sakallah, Resve Saleh, Richard Newton, Alberto..... and some other words ... "Diana", "Calevaras Algorithm", .... Quick check .. the method you describe was described in 1978. G. Arnout and H. DeMan, "The use of boolean controlled elements for macro-modeling of digital circuits", 1978 ISCAS, p 522. GA and HD, "The use of threshold functions and boolean controlled network elements for macromodeling of LSI circuits", IEEE J Solid State Circuits SC-13 (1978) p 326. I think we can do better than SEAMS. I remember reading about it, possibly reviewing it for a conference .. probably BMAS http://www.bmas-conf.org/ (Note who is on the committee.) > It describe the lock-step execution that needs to take place > between the digital and analog kernels - rewinding the > time-step, etc. Like I say, 25 years old. I think that part was background. > If gnucap was made to work with Icarus Verilog it would be > also be controllable from SystemC and we would be effectively > recreating SEAMS from the paper. I thought SEAMS was a > parallel simulator that supported VHDL and later VHDL-AMS. Is > this the same enviroment? The interface between the analog and digital parts is nontrivial. It's an analog feature, so the analog simulator needs to be in charge. What I would like to do is to use Icarus Verilog to generate plugins. I think it is just a matter of picking the correct subset of what is in an Icarus compiled file, and adding a wrapper like the spice model wrapper. Remember .... The original purpose of the plugin system, which is not complete yet, is for on-the-fly compiled models.