I see absolutely no reason for disallowing these cases. As previously discussed, the behavior of an analog statements should not change if they are moved from separate modules into the same module, and I see no reason why the behavior should be disallowed if the statements are in separate modules. Kev. Marq Kole wrote: > > Kevin Cameron <kevin@sonicsinc.com> wrote on 18-04-2007 01:57:59: > > <snip> > > > > Even if they would switch in such a way that they all have the same > > > nature, the suggested course of action is to disallow switch branches > > > distributed over multiple analog blocks. An OOMR contribution is not > > > making a switch branch either, so I don't see the issue. > > Not quite seeing your point either - probably need an example of what > > you are disallowing. > > This would be disallowed: > > module test_distr_switch(a, b, c, d); > inout a, b, c, d; > electrical a, b, c, d; > > analog > if (V(c, d) > 0) > V(a, b) <+ 0; > > analog > I(a, b) <+ 0; > > endmodule > > or: > > module test_distr_switch(a, b, c, d); > inout a, b, c, d; > electrical a, b, c, d; > branch (a, b) ab; > > analog > if (V(c, d) > 0) > V(ab) <+ 0; > > analog > I(ab) <+ 0; > > endmodule > > But this would be allowed: > > module test_par_switch(a, b, c, d); > inout a, b, c, d; > electrical a, b, c, d; > branch (a, b) ab1, ab2; > > analog > if (V(c, d) > 0) > V(ab1) <+ 0; > else > I(ab1) <+ 0; > > analog > I(ab2) <+ 0; > > endmodule > > And syntactically this would be allowed, but raises a run-time error > in many simulators: > > module test_par_switch(a, b, c, d); > inout a, b, c, d; > electrical a, b, c, d; > > analog begin : switch1 > branch (a, b) ab; > if (V(c, d) > 0) > V(ab) <+ 0; > else > I(ab) <+ 0; > end > > analog begin : switch2 > branch (a, b) ab; > if (V(c, d) > 0) > V(ab) <+ 0; > else > I(ab) <+ 0; > end > > endmodule > > Essentially switching module level branches should occur in a single > analog block. Consequentially, if you switch a branch in one analog > block, you can no longer contribute to it from other, concurrent > analog blocks. > > Marq > > -- > This message has been scanned for viruses and > dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is > believed to be clean. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed Apr 18 10:11:35 2007
This archive was generated by hypermail 2.1.8 : Wed Apr 18 2007 - 10:11:47 PDT