• 00000000000000010000101 Qamar Alam
  • 11111111111111111110101 Himyanshu Anand
  • 01111111100111111011101 Kenneth Bakalar
  • 11111010101101101110110 Prabal Bhattacharya
  • 00000000000000110000101 Sri Chandra
  • 01111011111111111101101 Eduard Cerny
  • 11101110000101101011101 Scott Cranston
  • 00000000000000010000000 Dave Cronauer
  • 00000000000011000000000 Dejan Nickovic
  • 11011101111001000000000 Mike Demler
  • 00000000000000000000000 Surrendra Dudani
  • 11100000001111111111110 John Havlicek
  • 11100011001000000000000 Kevin Jones (RGG Leader)
  • 00000001111111111011101 Jim Lear
  • 00000000000011101110000 Top Lertpanyavit
  • 11111101101111111111111 Scott Little
  • 00000000000001000000000 Erik Seligman
  • 10100000000000000000000 David Sharrit
  • 00000001000000000000000 Murtaza
  • 00000001000000000001011 Martin O'Leary


Action Items:


HA: Scott, can you summarize what transpired in the last meeting as most of us were absent in that meeting.

SL: PB talked about the packages and he did send out an email. The efforts and the benefits did not make sense. So, packages would make sense in the SV-VAMS merger. Also, JH updated his section under requirements on Twiki.

HA: Would you like to continue where we left off on your requirements JL.

JL: The fourth bullet item is to dynamically create points. When an event in analog happens you can trigger an event in SV. Where SV can do an @analog_event and it would trigger the event in digital when that happens in analog.

KB: Need to have SV to define precisely when the event happens and also that when analog event SV gets notified at that time.

KB: VAMS has the forcing of time point intrinsically.

JL: You don't always want that, as it is a costly operation. You don't need to do FFT when you are powering up or your transients are being solved. There is a significant startup period where you do not want to forcing the time stamps.

KB: The digital initial condition. They allow access to propogate the things, while they settle down. We provide an option to turn on the analog machine under program control. The second issue is that during the course of simulation, when you want to stop generating @cross events since they are not interesting. SV already has that capability to disable the crossing events.

JL: You need the ability to change your crossing threshold. If your power supply changes, you may need to change your crossing dynamically.

KB: Is this particular to verification or SV. And you do have that control in VAMS.

SL: You can do it and I have done it. I believe manual allows it and many implementations support it.

JL: The checker has to be able to specify that the crossings need to be protected.

KB: The way to do is to instantiate the SV checker module and that imports the information from digital engine.

JL: It would be best to control that from SV to adjust the VAMS simulation depending upon the assertions.

KB: You can always force the time stamp by simply sampling the VAMS variable. The very accurate sampling of analog engine allows simulators to synchronize.

JL: Is it true even if you have no timers or crosses.

Sri: When there is no analog time then interpolation will be used.

KB: Exactly what algorithm is to be used is not defined by the LRM.

Sri: Looking at 2.2.3 section 7.3, it says interpolation is used unless the analog value is assigned in that time step. And there is a ticket in Mantis db to integrate both interpolation and synchronize. We don't synchronize per LRM today. And we discussed this in last VAMS meeting, as it came from ASVA.

KB: There is no way a modeler can tell what kind of interpolation is going to be used. 1st order or 5th order.

JL: The type of interpolation should not be specified, as it depends on the type of problem.

SL: LRM gives the simulator options, 1) do what you are doing and use interpolation or 2) solve and synchronize.

KB: I think this an over-specification in LRM. LRM should tell me what results needs to be achieved not how to reach that result.

JL: Boundary models have sensitivity and they force a time point if the value changes by delta and then the value changes depending upon the threshold.

HA: Lets not talk about the vendor implementations and focus on requirements.

JL: Can you access V(a) from digital side.

SC: Sure, you can.

JL: Why do you need connect modules?

KB: To digitize and convert analog value into a step function.

JL: What you are saying is that you force a time stamp whenver we observe it.

KB: Yes.

JL: Sometimes for speed and accuracy you don't always want to force a time point.

KB: The justification goes like this, the analog results/value we are getting is fairly accurate and I am satisfied by the accuracy I get and I want to use the digital engine as a waveform viewer + processing with digital solver.

KB: One is to define a new way to access the analog variables.

JL: Every time a solution time calculated then the digital can capture that new value that has been calculated. Let me capture that.

SL: That time does not come with it, and it gets mapped to digital time. Does the digital just know that the event happenned or it gets the accurate time.

KB: That happens with @cross too. Analog time is fine grained and digital time is not that finely grained. In VHDL-AMS, you can't use time too large.

HA: What kind of events are we talking about here. Is this going to increase the communication overhead?

JL: The event will be a single event for all solve points.

HA: So, the event is generated once for all variables and not different events for different variables.

JL: Yes, that is how VAMS solves. When it solves, all values (mostly all) change values.

KB: We got 2 different timescales, analog is floating point precision, digital is fixed precision. How do you go about synchronizing between the two engines. The time at which the always digital block executes is not going to be the same. There may be more than one analog solve point. My argument is that such small differences don't matter, and if they do matter then lower the digital timescale.

JL: Can we do the buffering in analog engine today?

SL: If you want the analog commit point, then that is not provided today.

JL: If you want to fill the buffer from this, it is ugly but you can do it, check for the value change.

KB: To implement this in current VAMS, of how to do it.

JL: Something like @always(V(a)), but that is not legal.

KB: It is also not executed at increasing time.

ML: You sample a new value store it in the array.

KB: You do not want to store the whole waveform forever, you just want a window.

SL: How do you know the abs time the value changes.

JL: Like to have access to waveform datapoints in SV and that is the following point for the buffer. It does not have to be synchronized all the time.

HA: This seems like if you want a waveform based offline checking if you had the analog time points and digital value/time pairs. I can see why you may want to end the simulation if you failed early in the simulation.

JL: To do checks while in simulation. I see where you are getting at with the offline mode. But, having the ability to do while in simulation will help detect early failures and terminating the simulation.

HA: Ok, can you summarize this and whether there are any other requirements that we need to discuss in the next meeting?

JL: A global analog time point event for all analog values is going to be an acceptable requirement. Is that correct or someone has an objection?

ML: I would like to see why is it required and whether it can be accomplished with the existing language constructs.

JL: I will send out an email explaining why that is needed.

SL: The mail-list is almost setup and I will send out an email when it is finalized.

-- AnandHimyanshu - 15 Jul 2009

Topic revision: r1 - 2009-07-15 - 15:24:18 - AnandHimyanshu
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback