-
-
Notifications
You must be signed in to change notification settings - Fork 118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug in parsing Verilog-A code #366
Comments
I need the full |
I attached the project in my #365 including the ekv26.va. |
Yes, I confirm this. Qucs-S cannot recognize parameters in this file. |
I looked into certain files and saw blocks for skipping comment blocks from va files, e.g. vafile.cpp. This seems not to work. Which file is used for reading the va file parameter names and values to include in the json files? |
May be it helps: parameter real vto = 0.5; parameter real vto = 0.5 from( -inf : inf ); (desc= "Vth") parameter real vto = 0.5 from( -inf : inf ); (units= "V" , desc= "Vth") parameter real vto = 0.5 from( -inf : inf ); (units= "C" , type="instance" desc= "device deviation temp") parameter real dtemp = 0.0 from( -inf : inf ); Then I used a slight modified function Schematic::savePropsJSON ` I hope the formatting for code will not disturb the text. |
I found two old Verilog files from Qucs that seem to work. bsim3v34nMOS.va and bsim3v34pMOS.va It's not obvious why these two files work and ekv26.va doesn't. Maybe they will help figure out the issue. See #384 for more info on these files. |
I decided not to fix this, but use the workflow proposed in #411 instead. It is free of parsing issues and allows any Verilog-A syntax extensions that OpenVAF can accept. New RCLDQM devices also could be mapped to N letter representing Verilog-A device. See #349 and #431 Old workflow with JSON files and Verilog-A parser should be kept only for backward compatibility with Qucsator/ADMS and not recommended for new design. Closing this as won't fix. |
In the process of symbol generation code lines in the .va model like
// Process related parameters parameter real dl = -0.01E-6; //
P(info="Channel width correction" units="m");parameter real dw = -0.01E-6; //
P(info="Channel length correction" units="m");
or
/* vto, kp and gamma with variation for MC analysis if required. * The default value for model parameters avto, akp and agamma
follow in wrong parameters in the instance symbol like
process=related
default=value
or similar.
Correct behaviour would be to ignore any commented line.
TODO list
The text was updated successfully, but these errors were encountered: