multiple analog blocks

From: Marq Kole <marq.kole_at_.....>
Date: Tue Dec 19 2006 - 13:50:47 PST
All,

Although it momentarily seemed that section 7 was nearly at the end of the 
review, I cannot escape the notion that there is still no resolution on 
the multiple analog blocks issue. Let me rephrase the possible options 
brought forth during the past couple of weeks discussion.

0) (current situation) multiple analog blocks are not supported.

1) multiple analog blocks in a single module are supported under the 
condition that during elaboration they are concatenated into a single 
analog block. The consequence is that analog blocks differ from always and 
initial blocks in that their order of appearance is important. This 
prevents ambiguity/race conditions in the model behavior.

2) multiple analog blocks in asingle module should behave as though they 
were implementing separate entities and therefore their order of 
appearance should not matter. Analog blocks are considered to be run 
concurrently; ambiguity/race conditions need to be resolved through better 
programming.

Question: Does this correctly reflect the current state of the discussion?

Provisionally assuming an affirmative answer to the above question, let me 
try to phrase the pros and cons to above positions

0)      Pros:   (a) clear situation, no ambiguity/race conditions can 
occur.
                (b) protects model creator from having to deal with 
concurrency.
        Cons:   (a) no support possible for analog blocks in generate 
constructs.

1)      Pros:   (a) situation just as clear as 0), but now support for 
analog blocks in
                      generate constructs.
                (b) model creator still does not have to deal with 
concurrency.
        Cons:   (a) conceptual difference between always blocks and analog 
block
                (b) no opportunity for optimization based on activity of a 
particular
                      analog block as all blocks are essentially 
concatenated together.

2)      Pros:   (a) analog blocks and always blocks have similar 
semantics,
                      possibly easier for mixed-signal model developers.
                (b) allow activity-based simulation performance 
optimization per
                      analog block.
        Cons:   (a) concurrency issues (race conditions) enters 
analog/mixed-signal
                      environment
                (a1) handling of module-level variables
                (a2) handling of OOMR variables
                (a3) switch branches
                (a4) value retention
                (b) supports "bad" programming

Question: Are the above pros and cons correct? Is anything missing?

My hope is that if we can get some sort of agreement on the current 
situation of the discussion, we may get to a resolution on this item for 
section 7 for the coming LRM update.

Cheers,
Marq


Marq Kole
Competence Leader Robust Design

Research
NXP Semiconductors
Received on Tue Dec 19 13:50:55 2006

This archive was generated by hypermail 2.1.8 : Tue Dec 19 2006 - 13:51:07 PST