Hi! Is it possible to tell ADE-L to include a file without needing to hard-code its path? This procedure works in Assembler, but fails in ADE-L: 1. I put the file to include (say "input.scs") under the cell directory 2. In the ADE-L state I define a variable with the path, to be resolved at netlisting time: spectre_include=strcat(dbFullLibPath(asiGetDesignLibName(asiGetSession(hiGetCurrentWindow()))) "/" asiGetDesignCellName(asiGetSession(hiGetCurrentWindow())) "/input.scs") 3. In the model files window, I add an entry VAR("spectre_include") (Note: I need a variable because when adding the skill code directly here, it tries to interpret it as a model and section definition!)The problem is that ADE-L doesn't resolve the Skill code and netlists this as follows:[...]Vdd=8.500000e-01 \spectre_include=strcat(dbFullLibPath(asiGetDesignLibName(asiGetSession(hiGetCurrentWindow()))) \"/" asiGetDesignCellName(asiGetSession(hiGetCurrentWindow())) "/input.scs") \Vss=0 \[...]include "correct_path_to_my_cell/input.scs"[...]And even tough the model definition is resolved correctly, Spectre complains about the unresolved variable value:Error found by spectre during circuit read-in.ERROR (SFE-874): "input.scs" 41: Cannot run the simulation because syntax error `Unexpected quoted string ""/". Expected close parenthesis or comma' was encountered at line 41, column 4. Correct the syntax error and rerun the simulation.ERROR (SFE-683): "input.scs" 41: Badly formed parameters statement.Is there anyway to force ADE-L to resolve such variable? Or any other way to include a file without hard-coding its path?Thanks and regards,Jorge.
I am not sure if this may be related to your error, but the use of external include files in the netlisting process requires escaping a number of characters. The error message SFE-874 you included in your post suggested to me this may be part of the problem you are facing. I am wondering your path with its backslashes does not contain the required escape characters "\". This was recently discussed in the following post. Andrew provides a link in this Forum post with an additional article that may also be helpful.
Most likely, Andrew or other experts have more insight than I as I am not familiar with the specific differences between the netlister used in Assembler (where your solution appears to work) and ADE-L. Nevertheless, as on one has responded yet, I thought this might be worth considering.
My apologies, Andrew has just responded!