steveicarus / iverilog

Icarus Verilog
https://steveicarus.github.io/iverilog/
GNU General Public License v2.0
2.82k stars 523 forks source link

SystemVerilog String parameters support #175

Closed svenka3 closed 3 years ago

svenka3 commented 6 years ago

Basic sting declaration works with -g2012

However 2 issues found recently :

  1. parameter string MYSTR = "aa";

Errors out

  1. String array method size() not supported (will raise a new issue with test)

Thanks Srini

steveicarus commented 3 years ago

string.size() is now supported. I'm taking on the support for string parameters.

caryr commented 3 years ago

Are you also planning to implement the rest of the string methods in both a constant and variable context?

steveicarus commented 3 years ago

Are you also planning to implement the rest of the string methods in both a constant and variable context?

Maybe. I'll see what comes up. At the very least, this is going to involve a rework of the parse.y rules for parameter types to use the data_type_or_implicit so will provide the infrastructure for a lot of stuff in the long run. If there are other PRs that are related to this that you find, then by all means mention them here.

caryr commented 3 years ago

Great. Keep in mind this can eventually supports arrays. I don't remember any other PRs. Would likely need to check all the ones here and on SourceForge.

Should we clone all the SourceForge items over here?

steveicarus commented 3 years ago

We should completely deprecate the SourceForce bug reports database and clone over to github anything we think is worth preserving.

On Sat, Dec 19, 2020 at 6:48 PM Cary R. notifications@github.com wrote:

Great. Keep in mind this can eventually supports arrays. I don't remember any other PRs. Would likely need to check all the ones here and on SourceForge.

Should we clone all the SourceForge items over here?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/steveicarus/iverilog/issues/175#issuecomment-748555126, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAACKMWM5TZPXQXU3OWSZP3SVVQYVANCNFSM4EFMEPJA .

-- Steve Williams "The woods are lovely, dark and deep. steve@icarus.com steveicarus@gmail.com But I have promises to keep, http://www.icarus.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep."

caryr commented 3 years ago

FYI I just pushed a patch to parse.y that allows parameters that use the fixed width integer data types to support using signed/unsigned in parameters (e.g. int unsigned is a 32 bit 2-state unsigned value).

steveicarus commented 3 years ago

I've been busy with parse.y WRT parameter parsing, so be careful with edits in that area. I'm working on a fairly long and involved task, so I expect to have to do some conflict resolution, but try to not make my work harder there.

On Sun, Dec 27, 2020 at 1:07 AM Cary R. notifications@github.com wrote:

FYI I just pushed a patch to parse.y that allows parameters that use the fixed width integer data types to support using signed/unsigned in parameters (e.g. int unsigned is a 32 bit 2-state unsigned value).

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/steveicarus/iverilog/issues/175#issuecomment-751443251, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAACKMXJSCLITZLMLT2VX53SW32MPANCNFSM4EFMEPJA .

-- Steve Williams "The woods are lovely, dark and deep. steve@icarus.com steveicarus@gmail.com But I have promises to keep, http://www.icarus.com and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep."