Statistical Functions in Verilog-A

90 views
Skip to first unread message

Tim Molter

unread,
Dec 12, 2016, 10:56:34 AM12/12/16
to xyce-users
I need the function `$dist_normal ` in my memristor model that I'm developing. If I try to use it, I get a compile error: "analog function '$dist_normal' is undefined". I understand that the Xyce/ADMS does not support all the Verilog functions, so I assume that this just hasn't been implemented yet. Are there any plans to add this method, and if not do you have any ideas about how I could get this working on my Verilog-A model? Perhaps I could use `$dist_uniform` and implement the function in line myself. `$dist_uniform` also seems to not be implemented. 

A recommendation would be greatly appreciated. Thanks!

For reference, the Verilog statistics function are here: http://cp.literature.agilent.com/litweb/pdf/ads2004a/verilogaref/varef064.html

xyce-users

unread,
Dec 12, 2016, 11:33:53 AM12/12/16
to xyce-users

There are no plans at this time to add the $dist_* features to Xyce/ADMS.  Even if Xyce/ADMS recognized these function, there no infrastructure currently in Xyce that would support the use of these specifications for random sampling.  So there's not much point in you trying to implement it in Xyce/ADMS.

There are plans to add methods of specifying random variables for sampling external to devices.  The plan is to have something in place in the next release, though this cannot be guaranteed.  Once implemented, these would be specified in a netlist (not in the model implementation code) and allow any parameter of any device to be assigned a random distribution, and then random samples generated with these parameters varied according to their distribution.

Tim Molter

unread,
Dec 13, 2016, 9:34:54 AM12/13/16
to xyce-users, xyce-...@googlegroups.com
Thank you. If I want to implement my model then in Xyce, I will probably have to do it via direct implementation of the compact model in C++ and adding the new model to the source tree then. 

Tim Molter

unread,
Dec 14, 2016, 10:39:08 AM12/14/16
to xyce-users, xyce-...@googlegroups.com
If I may say one thing about your future implementation of the statistical methods into Xyce/Verilog-A, I'd say that it would be preferable to me if the functions were made available in the Verilog file directly, or at least in addition to being available in the netlist. For our MSS model, at each time step, two unique Gaussian distributions (with dynamic mean and variance) need to be sampled. Just my two cents!


On Monday, December 12, 2016 at 5:33:53 PM UTC+1, xyce-users wrote:
Reply all
Reply to author
Forward
0 new messages