Dave Rich wrote: > no one can make an assignment > to variable declared as an output in the modport of a connected > interface port except from that connected module. I think I agree entirely with Dave's analysis. Unfortunately, only one of the major simulators currently enforces this. It's interesting to note that this restriction allows me to enforce the "singleton modport" behaviour that I craved in my DVCon paper (a modport that can tolerate at most one connected module); I need only create a modport that declares as "output" a variable in the interface. Multiple connected module instances would represent multiple continuous drivers on that variable, and would thus represent an elaboration-time error. Thanks to Don Mills who pointed out this possibility to me during DVCon - I had completely overlooked it. I can see no reason why the semantics of modport direction should not be defined in terms of a continuous assign across the modport boundary for output and input ports, and port collapsing for inouts. Others have pointed out that continuous assignment is a copy operation that can have arbitrary ordering with respect to other operations on its target net or variable. However, an ordering that gives the same visible results as direct writing to the target would nevertheless be legal; so it remains possible for simulators to optimise away any extra variables that might be created by following such a definition. Such a "reference model" of continuous assign or port collapsing provides a useful way to reason about what operations are legal on variables and nets connected to the two sides of a modport. -- Jonathan Bromley, Consultant DOULOS - Developing Design Know-how VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, Hampshire, BH24 1AW, UK Tel: +44 (0)1425 471223 Email: jonathan.bromley@doulos.com Fax: +44 (0)1425 471573 Web: http://www.doulos.com The contents of this message may contain personal views which are not the views of Doulos Ltd., unless specifically stated. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed Feb 28 10:44:50 2007
This archive was generated by hypermail 2.1.8 : Wed Feb 28 2007 - 10:44:58 PST