You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to genesis...@googlegroups.com
Hello Everyone,
There is a new release of Genesis2 (p4 version r9648).
The release is fully backward compatible
For Stanford users it is already the default executable once you open a new shell/xterm
What's new?
Homemade Extensions: If you want to add your own Perl packages and wish Genesis2 will always know where to find them regardless of where it is running, please use the environment variable: GENESIS_PROJECT_LIBS
Example: >> setenv GENESIS_PROJECT_LIBS ~/MyProject/Bin/AdditionalPerlLibs
Or even: >> setenv GENESIS_PROJECT_LIBS $PROJECT/Bin/AdditionalPerlLibs
Security Update: Since genesis works with a web-based GUI, there was concern that someone might attempt to put a parameter value through the gui which is actually a nasty script. In this case, the fact that parameters could be any number of string was a weakness. So we limited those strings to be alphanumeric with a small amount of additional characters like +,-,*,/,etc. As a rule of thumb, please (please please) avoid writing code that requires long text as a parameter input. It works but it makes the code very ugly. Remember that your parameter could be string, scalar, pointer to another instance, array, hash or any combination of those.
Don't Uniquify My Module: It turns out that some people want to generate only the base module. For example, Frances in her mixed signal chip wanted to generate only one type of her tia_ana module as module needs to be replaced with an analog macro at PNR. Furthermore, she prefers if it stays as tia_ana and not be renamed to tia_ana_unq1 as genesis generally do at elaboration. To facilitate that, I created a new method/function (also documented at genesis2.stanford.edu):
If you are using the older notation //; my $newObj = $self->unique_inst( moduleName, instName, params) Simply use ununique_inst instead (get it? ununique instead of unique? funny ha?).
If you are using the new and nicer (syntactic sugar) notation //; my $newObj = generate( moduleName, instName, params) Simply use generate_base instead (i.e., generate the base module and not anything else).
NOTE 1: If you generate multiple instances of a module using ununique_inst/generate_base, genesis is still smart enough to make sure that you are always generating exactly the same module, and otherwise through an error that you can't generate the same un-uniquified module twice in two different ways.
NOTE 2: You CAN use both the unique instantiation (i.e., unique_inst or generate) and the non-unique instantiation (i.e., ununique_inst/generate_base). No contradictions here.