Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 25 18:35

    umarcor on LCS2019

    (compare)

  • Aug 25 18:35

    umarcor on master

    add subdir 'issues': machine-r… (compare)

  • Apr 29 12:36

    umarcor on cosim

    cosim/dpi-ffi: add VHDPI_Test ci: run VHDPI_Test cosim/dpi-ffi: add 'vhdpi_ghdl.… (compare)

  • Apr 29 12:31

    umarcor on cosim

    ci: update cosim/dpi-ffi: create subdir 'g… cosim/dpi-ffi: fix compilation … and 3 more (compare)

  • Apr 29 12:30

    umarcor on cosim

    ci: update cosim/dpi-ffi: create subdir 'g… cosim/dpi-ffi: fix compilation … and 3 more (compare)

  • Apr 02 02:50

    umarcor on master

    cosim/dpi-ffi: add 'vhdpi_user.… (compare)

  • Apr 02 02:46

    umarcor on master

    cosim/dpi-ffi: add 'vhdpi_user.… (compare)

  • Apr 01 21:40
    marlonjames added as member
  • Apr 01 19:30
    pflake added as member
  • Mar 19 15:12

    umarcor on master

    add subdir 'cosim' add .gitignore cosim: add vhpi_user.h @ 2019 and 1 more (compare)

  • Jul 20 2020 13:57
    eine commented #12
  • Apr 21 2020 16:51
    JimLewis commented #12
  • Apr 21 2020 15:12
    JimLewis commented #12
  • Apr 21 2020 15:10
    JimLewis commented #12
  • Apr 21 2020 07:26
    Nic30 commented #12
  • Apr 20 2020 23:15
    JimLewis commented #12
  • Apr 19 2020 07:21
    Nic30 commented #12
  • Apr 18 2020 22:46
    JimLewis commented #12
  • Apr 18 2020 22:45
    JimLewis commented #12
  • Apr 18 2020 21:15
    LarsAsplund commented #12
Jim Lewis
@JimLewis
WRT styles, camel vs snake case, that is a great way to start a flame war.
It would not be possible to change even just the interface to OSVVM without some automated tool. Otherwise, what would the value be?
Lars Asplund
@LarsAsplund

@JimLewis

WRT styles, some of the Ada styles I have seen seem to merge camel and snake: Camel_Snake_Case

So many cases. Have no idea what this is called but I learned that we should differentiate between PascalCase and camelCase and that there is something called kebab-case

WRT styles, camel vs snake case, that is a great way to start a flame war.

It is, I try to raise this question once in a while to see what the state of the community is

It would not be possible to change even just the interface to OSVVM without some automated tool.

I don't think this particular formatting case would be very hard. Use pyVHDLParser to extract public APIs and then use something like these short Python functions to convert the names.

Otherwise, what would the value be?

The primary value I see in a community-wide style for things like indentation, casing and line endings is that it simplifies cooperation in developing open source code. If there is no common style for these things then any style is allowed which means that this will be a topic open for discussion in every code review. Such discussion tend to take focus from the more important things to review. Styles will also change back and forth when different developers update files. A small change looks like a large one just because the developer had another indentation setting in her editor.

Some automatically enforceable styles have been shown to have a measurable effect on things like readability and bug rate. Those are few, the only one I've seen been supported in research is the line length limitation.

Then there are rules which are hard to automatically enforce but have great value. Meaningful identifier names for examples.

There are also rules that have been shown to make things worse so there's no point in creating rules mindlessly just because we can.

Jim Lewis
@JimLewis

Some automatically enforceable styles have been shown to have a measurable effect on things like readability and bug rate. Those are few, the only one I've seen been supported in research is the line length limitation.

I would say trying to attribute lower bug rate to that is dubious. The people and teams who choose to use automatically enforced styles are likely to be more disciplined and have a lower bug rate anyway.

I have seen the Ada style. It would be a compromise. Which is likely what happened.
Jim Lewis
@JimLewis
While you make community by having a common naming style, with either VUnit or OSVVM we would break our community by changing what we are currently doing.
Lars Asplund
@LarsAsplund
@JimLewis

I would say trying to attribute lower bug rate to that is dubious. The people and teams who choose to use automatically enforced styles are likely to be more disciplined and have a lower bug rate anyway.

If that was the case there would be a statistically significant correlation between all rules and lower bug rate. That was not the case. What they did was to find the rules with a statistically positive/negative correlation. Most rules did not yield any significant difference.

I have seen the Ada style. It would be a compromise. Which is likely what happened.

The Ada 83 style guide provides the rationale. Had the early VHDL 87 documents included similar recommendations we would probably not have the situation of today.

When an identifier consists of more than one word, it is much easier to read if the words are separated by underscores. Indeed, there is precedent in English in which compound words are separated by a hyphen. In addition to promoting readability of the code, if underscores are used in names, a code formatter has more control over altering capitalization.

...

Make reserved words and other elements of the program visually distinct from each other

  • Use lower case for all reserved words (when used as reserved words).
  • Use mixed case for all other identifiers, a capital letter beginning every word separated by underscores.
  • Use upper case for abbreviations and acronyms (see automation note).

...

Visually distinguishing reserved words allows the reader to focus on program structure alone, if desired, and also aids scanning for particular identifiers.

...

In Section 2.1, Nissen and Wallis (1984) states that "The choice of case is highly debatable, and that chosen for the [Ada Language Reference Manual (Department of Defense 1983)] is not necessarily the best. The use of lower case for reserved words is often preferred, so that they do not stand out too much. However, lower case is generally easier to read than upper case; words can be distinguished by their overall shape, and can be found more quickly when scanning the text."

...

Ada names are not case sensitive. Therefore the names max_limit, MAX_LIMIT, and Max_Limit denote the same object or entity. A good code formatter should be able to automatically convert from one style to another as long as the words are delimited by underscores.

Lars Asplund
@LarsAsplund

While you make community by having a common naming style, with either VUnit or OSVVM we would break our community by changing what we are currently doing.

Agree, there is an initial disruptive change but there is also a long term change in the mindset for when code is updated. The Python linting tools are updated over time so what is correct today may not be correct tomorrow. The VUnit CI on GitHub runs regularly so even if we haven't push any changes the lint test can go red and we need to update

Kaleb Barrett
@ktbarrett

I would say trying to attribute lower bug rate to that is dubious.

It definitely depends. As an anecdote I recently discovered a bug in a Python script before running it by formatting it with black first. It was a complicated line, a generator expressions in a function call using keyword args in a for loop. After formatting, black split everything out on to different lines and it became very apparent there was an issue with my paren matching. I doubt such a problem could exist in a language like Ada/VHDL that is statically typed and isn't as expressive in a single line as Python can be. But I don't think it's something that can be totally discounted. And of course, it works by making code more readible, so you actually have to read the formatted code...

Jim Lewis
@JimLewis
@ktbarrett In VHDL (and Ada) lack of matching parens is an analysis (compile time) error.
1 reply
It would probably be noted by any of the modern editors that have the compiler built into them (Sigasii, TerosHDL, ...)
Off Topic: Anyone have a pdf tool they like? I primarily need to merge documents. In the past, I also needed to modify cropping, but that was a bug in powerpoint and hopefully my new setup will not need it. I would like to be able to script it - preferably in MSYS2.
I do need it to be robust - I just don't see the pricing of Acrobat to be reasonable for this anymore and I want to do the scripting outside of the tool and not inside the tool.
GlenNicholls
@GlenNicholls
@JimLewis I've used Pandoc in the past for converting documents (e.g. LaTeX->PDF). Note sure what document types you need to merge, but Pandoc can only convert to or from for certain docs noted at https://pandoc.org/
Last time I used it on Windows (~3 years ago) it was annoying to set up, but probably a breeze now with WSL
Jim Lewis
@JimLewis
@GlenNicholls I am going powerpoint to pdf and then combining multiple pdf files. I had an old version of Acrobat on an older machine that has crashed - and then I discovered I could still access it when I login into their website.
Love pandoc though.
Marlon James
@marlonjames
@JimLewis I haven't used it but i found a Python tool https://github.com/metaist/pdfmerge
Unai Martinez-Corral
@umarcor
Dear Colleague Letter: CISE RFI on Semiconductor Research and Education
https://www.nsf.gov/pubs/2021/nsf21112/nsf21112.jsp
/cc @JimLewis @GlenNicholls @LarsAsplund @Paebbels @ktbarrett
Unai Martinez-Corral
@umarcor
A Report on Semiconductor Foundry Access by US Academics
https://nsfedaworkshop.nd.edu/assets/429148/nsf20_foundry_meeting_report.pdf
references provided by Tim @mithro.
Jim Lewis
@JimLewis
@umarcor Wow. It would be nice to be able to tap into that funding for the open source we are doing
Lars Asplund
@LarsAsplund

@JimLewis

@LarsAsplund @umarcor @Paebbels Did you see that ARM came up with new terminology.

Didn't see that but I was expecting it to happen sooner or later. This was maybe a bit sooner than I though.

Lars Asplund
@LarsAsplund

@umarcor

Dear Colleague Letter: CISE RFI on Semiconductor Research and Education
https://www.nsf.gov/pubs/2021/nsf21112/nsf21112.jsp
/cc @JimLewis @GlenNicholls @LarsAsplund @Paebbels @ktbarrett

Interesting!

Jim Lewis
@JimLewis

@ktbarrett in today's VHDL meeting, Unai pointed me to your earlier post here: https://gitter.im/vhdl/General?at=60df3a674e325e6132b72b8f

What you are talking about sounds like tagged records. In the late 90's Peter Ashenden and some folks from Univ Cincinatti did a proposal called Suave. One of the things Suave added was tagged records. Ada has them. Ada also had protected types. Two different things.

When I first read tagged records, that is something that even engineers without an OO programming background can get their heads around.

I would be interested in seeing tagged records make it into a future revision of VHDL. I have many/most of the papers that were written. They just need to be sorted and organized - perhaps into what is unique material and what is a repeat.

That said, the more I use protected types the more I like them - however it is an acquired taste.
Kaleb Barrett
@ktbarrett

@JimLewis Thanks for the response! I read the paper on SUAVE and there are a lot of things I do like.

  • encapsulation of implementation using packages
  • creating subtypes of custom types
  • supporting dynamic dispatch on subtypes
  • generics (though they did not address constraining generics)

However, I'm not a fan of inheritance. I think that subtype assertion and implementation reuse should be provided as separate language features.

Is there still consideration on bringing some of these features into VHDL?
Jim Lewis
@JimLewis
Someone would need to do the work.
nobodywasishere
@nobodywasishere:eowyn.net
[m]
When are the meeting times again? I might be able to attend them going forward depending on when they are. I don't have much to contribute to them (yet) but I just want to listen and be a part of it.
Kaleb Barrett
@ktbarrett
Site registration doesn't seem to be working? It just takes me to the log in.
Marlon James
@marlonjames
Pinging @umarcor
Unai Martinez-Corral
@umarcor
@ktbarrett, what do you mean with "site registration"? Are you trying to register in TWIKI by following http://www.eda-twiki.org/cgi-bin/view.cgi/P1076/HowToAddToTwiki?
That is manual, and it needs to be done by an admin in TWIKI (Jim, me, don't know who more).
Please, you or anyone willing to have a TWIKI user, send me your First name, Last name, an e-mail address and a Country. I will create the user for you, and you'll get a notification.
Actually, we are moving most of the activity to GitLab, so the TWIKI access is not very useful, except for the Private Documents sections, where we have PDF and DOCX versions of the LRMs.
Anyone willing to help with the LRM conversion to LaTeX should have access, since copying from DOCX is easier than the PDF.
(thanks @marlonjames)
Unai Martinez-Corral
@umarcor

When are the meeting times again? I might be able to attend them going forward depending on when they are. I don't have much to contribute to them (yet) but I just want to listen and be a part of it.

@nobodywasishere:eowyn.net, typically every two weeks. During 2020 and 2021, it was on thursdays. Now we changed it to TUESDAYs. It's 11AM pacific time, 20:00 Central European Time, 19:00 in the UK (might change when some countries change summer/winter time before others).
During this summer, we met every three weeks. The last two meetings and the next one are weekly. Therefore, the period is kind of arbitrary.
If you, or anyone, has some topic to discuss in a meeting, please bring it in the GitLab repository. Thre are labels for marking issues/MRs.
We can also schedule meetings other days and at other times. We meet at 11AM/20:00 because that fits the "usual suspects". Yet, every once in a while we meet to work on something specific.

Marlon James
@marlonjames
@umarcor I think the main reason to have a TWIKI account at this point is for access to the dial in info. If we want to move that to one of the private GitLab repos, we wouldn't need to require a TWIKI account to participate.
Unai Martinez-Corral
@umarcor
@marlonjames, that is so obvious and still I had not realised :embarrassed:
We don't have any private repo which fits that purpose, though...
Maybe some GitLab-Jitsi (or gotomeeting, or zoom) integration exists which inherits access permissions from the gitlab org.
ktbarrett
@ktbarrett:matrix.org
[m]

Lol. I was just about to say if you are moving away from the TWiki, you could just move to private repos and Gitlab teams.

I know TFS, Azure, and Teams have some amount of integration. Github has "teams" and team wikis and chat, no video/voice chat though.

Jim Lewis
@JimLewis
@umarcor @marlonjames we still need a place to organize the protected documents. OTOH, maybe the protection would be better as with TWIKI if you know the direct link to the doc, you don't need a password anymore.
When you get an IEEE account (apparently no membership required), you also get an email with it and the Google meetings (what ever they call it). At least, I don't think there is an IEEE membership required for the email and meetings capability.
Richard Head
@trickyhead_gitlab

Hi All. VHDL 2019 question. Can an array using an index (natural range <>) be assigned to a generic array who range is declared as (integer range <>) ?
so if I had this generic:

generic (
      type element_array_t is array(integer range <>) of type is private;
    );

Could I assign std_logic_vector as the generic array type? what would element_array_t'left return ?