Skip to content
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

Non-standard ANSI port definition #924

Closed
adream307 opened this issue Mar 30, 2024 · 4 comments
Closed

Non-standard ANSI port definition #924

adream307 opened this issue Mar 30, 2024 · 4 comments
Labels

Comments

@adream307
Copy link
Contributor

Is your feature request related to a problem? Please describe.
According to the SystemVerilog standard, this code should report error, but both VCS and Cadence support this syntax.

module top(input a, output b);
wire [3:0] a;
reg [3:0] b;
endmodule

Describe the solution you'd like
Under the --compat vcs option, this syntax is supported, otherwise an error will occur.

This feature has been widely used in previous code, so I really look forward to suporting it, thanks.

@MikePopoloski
Copy link
Owner

Hmm, I could add this but even VCS 2021.09 says this:

Warning-[IPDASP] Identifier in ANSI port declaration
testbench.sv, 4
  Redeclaration of ANSI ports not allowed for 'a', this will be an error in a 
  future release

So it seems you're going to need to fix your code at some point anyway when VCS gets around to making this an error. Is that not possible? Are you planning on staying on an old VCS version forever?

@adream307 adream307 reopened this Apr 9, 2024
@adream307
Copy link
Contributor Author

Hmm, I could add this but even VCS 2021.09 says this:

Warning-[IPDASP] Identifier in ANSI port declaration
testbench.sv, 4
  Redeclaration of ANSI ports not allowed for 'a', this will be an error in a 
  future release

So it seems you're going to need to fix your code at some point anyway when VCS gets around to making this an error. Is that not possible? Are you planning on staying on an old VCS version forever?

Thanks for your reply.
Yes, you are right ,we should not staying on an old VCS version foever.
I'm using slang as synthesis tool's parser, and this feature exists widely in existing synthesizable code, DC also support this feature.
This exists code is provided as IP, It may not run on VCS ,but it would be compiled by DC.
So I think my customers would begin to fix their code if DC also report error on this feature.
It would be really helpful if slang support this feature, thanks.

@MikePopoloski
Copy link
Owner

Ok, I am not against adding a compatibility flag for this, but it's also not at the top of my priority list at the moment.

@MikePopoloski
Copy link
Owner

Added in 895805e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants