RE: port_discipline

From: Martin O'Leary <oleary_at_.....>
Date: Wed Sep 05 2007 - 21:08:57 PDT
Marq,
I believe that putting the attribute on the module instantiation would
work also i.e. what you have suggested;
 
(* port_discipline="electrical" *) mextram504
  q1 (node1, node2, node3, node4, (* port_discipline="thermal" *)
nodet);

Thanks,
--martin

________________________________

From: owner-verilog-ams@eda.org [mailto:owner-verilog-ams@eda.org] On
Behalf Of Marq Kole
Sent: Wednesday, September 05, 2007 1:58 AM
To: verilog-ams
Subject: RE: port_discipline



Martin,

There is still the issue that the current syntax does not allow an
attribute on a module instance. Your example is not legal Verilog,
according to the IEEE 1364-2005 LRM. I do not think we should introduce
this new syntax as that would make the module instantiation for AMS
different from the IEEE 1364-2005 one. I presume that this has not
changed with IEEE 1800-2005.

At this moment there two positions in a module instantiation where an
attribute is allowed: on the module instantiation itself (according to
IEEE 1364-2005 A.1.4):

(* port_discipline="electrical" *) mextram504
  q1 (node1, node2, node3, node4, (* port_discipline="thermal" *)
nodet);

and on the individual ports (according to IEEE 1364-2005 A.4.1):

mextram504 q1 ((* port_discipline="electrical" *) node1,
               (* port_discipline="electrical" *) node2,
               (* port_discipline="electrical" *) node3,
               (* port_discipline="electrical" *) node4,
               (* port_discipline="thermal" *) nodet);

If the first item is not acceptable, the long-term solution would be to
request an update in IEEE 1364 and IEEE 1800 to allow attribute
instances also on the module instances in a module instantiation.

Cheers,
Marq


 "Martin O'Leary" <oleary@cadence.com>




	"Martin O'Leary" <oleary@cadence.com> 

	05-09-2007 05:42

 

To

"Geoffrey.Coram" <geoffrey.coram@analog.com>
"Marq Kole" <marq.kole@nxp.com>	


cc

"verilog-ams" <verilog-ams@eda-stds.org>	


Subject

RE: port_discipline	


Classification

	
	 	

I also don't think attributes should carry over like this. They are only
meant to apply to the object they proceed.

However a way to solve this issue is to allow the attribute on the
instance and on the port names.

The port_discipline attribute before a port binding would apply to that
port.

The port_discipline attribute before the instance would allow to apply
to all the ports unless overwritten by another port_discipline attribute
before a port binding.

Hence for the self heating device you would have;

mextram504 (* port_discipline="electrical" *) q1 ( node1, node2, node3,
node4,
              (* port_discipline="thermal" *) nodet);

Thanks,
--Martin 

-----Original Message-----
From: owner-verilog-ams@eda.org [mailto:owner-verilog-ams@eda.org] On
Behalf Of Geoffrey.Coram
Sent: Tuesday, September 04, 2007 5:41 AM
To: Marq Kole
Cc: verilog-ams
Subject: Re: port_discipline

> Another approach would be to have the port discipline of the first
port  > automatically apply to any successive ports, if those ports
following it  > do not have a port_discipline attribute specified. So:

In 1364-2005, does the attribute ever "carry over" in this fashion?
I suspect not, so I would be disinclined to make the discipline
attribute special in this way.

-Geoffrey

--
This message has been scanned for viruses and dangerous content by
MailScanner, and is believed to be clean.



-- 
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.



graycol.gif
ecblank.gif
Received on Fri Sep 7 16:38:00 2007

This archive was generated by hypermail 2.1.8 : Fri Sep 07 2007 - 16:38:14 PDT