Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 05 13:29

    umarcor on top-subtype

    (compare)

  • Oct 05 13:28

    umarcor on master

    2008: ad tb_top_generic_subtype cosim: add ref to aguinet/drago… (compare)

  • Sep 24 20:07

    umarcor on top-subtype

    2008: ad tb_top_generic_subtype (compare)

  • Sep 24 19:59

    umarcor on top-subtype

    2008: ad tb_top_generic_subtype (compare)

  • Sep 24 19:54

    umarcor on top-subtype

    2008: ad tb_top_generic_subtype (compare)

  • Sep 23 01:45

    umarcor on style

    (compare)

  • Sep 23 01:44

    umarcor on run_08

    (compare)

  • Sep 21 23:02

    umarcor on merge-support

    (compare)

  • Sep 21 22:59

    umarcor on master

    merge run_support.py into run.py (compare)

  • Sep 21 22:51

    umarcor on merge-support

    merge run_support.py into run.py (compare)

  • Sep 21 22:34

    umarcor on master

    style deprecate Travis (compare)

  • Sep 21 22:10

    umarcor on style

    test (compare)

  • Sep 21 21:51

    umarcor on style

    deprecate Travis TMP -k (compare)

  • Sep 21 21:47

    umarcor on style

    style deprecate Travis TMP -k (compare)

  • Sep 21 21:32

    umarcor on style

    pathlib support (compare)

  • Sep 21 21:18

    umarcor on runner-string

    (compare)

  • Sep 21 21:18

    umarcor on style

    pathlib (compare)

  • Sep 21 21:12

    umarcor on style

    style (compare)

  • Sep 21 19:48

    umarcor on master

    vhdl_2008: style use type 'string' for top-level… (compare)

  • Sep 21 19:34

    umarcor on runner-string

    use type 'string' for top-level… (compare)

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 ?

Kaleb Barrett
@ktbarrett
Is there any way to associate constants with a record? Imagine for a register interface you could do something like the following:
type Register is record
    constant INFO : RegisterInfo;
    signal data : std_logic_vector;
    signal be : std_logic_vector;
end record Register;
Patrick Lehmann
@Paebbels
elements of a record have no object class. When an object is created from a record type, all subelements have the same object class.
Kaleb Barrett
@ktbarrett
Also, is there a way to enforce additional constraints on record parameterization using an assert? I could imagine maybe you could put an assert in the record definition, or perhaps create a metafunction that can return a type, and the assert is in the body?
Patrick Lehmann
@Paebbels
you can attach constant meta information via user defined attributes to objects, types, ...
Kaleb Barrett
@ktbarrett
What about on entity instances? I would really like to be able to make constant information from an entity as instantiated available to the instantiator.
T. Meissner
@tmeissner
@ktbarrett There are some issues at Gitlab regarding such things. I remember of one to add things like asserts to com,posite types like records.
But I don't find the gitlab issue at the moment