Re: multiple analog blocks

From: Kevin Cameron <kevin_at_.....>
Date: Thu Dec 21 2006 - 12:06:51 PST
Geoffrey.Coram wrote:
> Kevin Cameron wrote:
>   
>> The meaning of "The domain of a variable is that of the context
>> from which its value is assigned." in 8.2.2 is not clear, and
>> variables don't actually need to be assigned a domain, only
>> drivers and receivers need to be considered as belonging a
>> domain, but there is no real reason you can't assign to
>> "analog" objects in a digital process or "digital" objects
>> from an analog.
>>     
>
> I haven't really though through all the ramifications, and
> I don't really know what "drivers" and "receivers" are for
> a compact model ... but the LRM also says "the derivative
> with respect to time of a digital value is always zero (0)."
>
> So, now if I have 
>   I(a,c) <+ ddt(qdep);
> where qdep is usually computed in the analog section, but
> at some points in the digital simulation one sets qdep=0,
> then what happens to the current?
>   
[I should have said drivers, receivers and contributions (an analog 
driver).]

That's the kind of case you can easily disallow if you want, but then 
again the definition of the derivative is probably wrong: it should 
probably be something like: "positive infinity on a positive edge, 
negative infinity on a negative edge, NaN for transition to X and 0 
otherwise". Unless you wake up the analog process on changes in qdep 
there should be no problem evaluating the statement, if it doesn't do 
what you want or the matrix solver fails that's a different problem. If 
qdep is a variable it's value is discrete wherever it is used, if qdep 
is a signal then you can't update it directly from a digital context (a 
D2A will be inserted).

I write C/C++ for a living, not ADA. The philosophy of outlawing 
constructs that can be abused belongs to ADA rather than C/C++.

Most programmers who need their code to run fast use C/C++, and I never 
heard a user say their simulator was fast enough.

[IMO] Verilog and VHDL mirror C/C++ and ADA in approach.

>   
>>> A major benefit of Verilog-A (over VHDL-AMS) is, in fact, that it *is*
>>> a proper language, with a well-defined subset defined in the LRM.
>>>
>>>       
>> Not really, the fact that OVI agreed to let Verilog-A exist
>> as an intermediate step has led to people treating it as a
>> standalone language, but it was never meant to exist for long.
>> The original goal was to have a single AMS language. Ken
>> campaigned for the subset approach and after the Verilog-A LRM
>> was released he and the other Cadence representatives on this
>> committee went to great lengths to stall the process of
>> releasing a Verilog-AMS LRM. That's why SystemVerilog is now
>> a separate standard off at the IEEE without any analog capability.
>>     
>
> I would say that the fact that Verilog-A is a well-defined
> standard is the reason why it has been formally adopted as 
> the language of choice for most of the compact model
> development teams and why the GEIA Compact Model Council
> accepts models in Verilog-A for standardization.
>   
Would you like to comment on the fact that there is only one VHDL, while 
there are ~ 3 flavors of Verilog?
> That SV has no analog capability is a separate issue, which
> continues to this day, evidenced by the fact that there is 
> still little commitment from the SV committees to merging in
> AMS.
>   
Agreed, but that is because people on this committee failed to integrate 
Verilog-AMS into Verilog before it headed to the IEEE, and given that 
Verilog-AMS also predates SuperLog and Vera as a standard by a fair 
margin I think it's somewhat embarrassing.
> Of course, the origins of Verilog-A were well before my time
> on this committee, so I don't know what OVI's intention was --
> nor Ken's, and I don't think it's appropriate to speculate.
>   
I was there, and the design objectives were documented:

http://eda.org/verilog-ams/htmlpages/dod.html

- not much mention of Verilog-A a subset.

Kev.
> -Geoffrey
>
>   
Received on Thu Dec 21 12:06:56 2006

This archive was generated by hypermail 2.1.8 : Thu Dec 21 2006 - 12:07:05 PST