Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 22 23:14
    umarcor labeled #1899
  • Oct 22 23:14
    umarcor labeled #1899
  • Oct 22 23:03
    tmeissner edited #1899
  • Oct 22 23:01
    tmeissner edited #1899
  • Oct 22 22:50
    tmeissner edited #1899
  • Oct 22 22:49
    tmeissner edited #1899
  • Oct 22 22:46
    tmeissner opened #1899
  • Oct 21 15:29
    umarcor edited #1291
  • Oct 20 21:43
    alphanumericnonsense edited #1898
  • Oct 20 21:43
    alphanumericnonsense edited #1898
  • Oct 20 18:45
    umarcor labeled #1898
  • Oct 20 18:44
    umarcor commented #1898
  • Oct 20 17:11
    alphanumericnonsense opened #1898
  • Oct 20 00:37
    umarcor milestoned #1897
  • Oct 19 20:00

    github-actions[bot] on nightly

    vhdl-configuration.adb: avoid a… testsuite/gna: add a test for #… (compare)

  • Oct 19 19:10
    tgingold closed #1897
  • Oct 19 19:10

    tgingold on master

    vhdl-configuration.adb: avoid a… testsuite/gna: add a test for #… (compare)

  • Oct 19 16:32
    NicoPy commented #726
  • Oct 19 16:25
    tgingold commented #726
  • Oct 19 16:24
    tgingold commented #1896
Jim Lewis
@JimLewis
When I have time, I will unwind my work arounds in OSVVM and submit further test cases for unconstrained elements of composites.
Kaleb Barrett
@ktbarrett
Type generic FIFO entities are a huge deal. No more need to manually type convert and pack everything into a logic vector.
Unai Martinez-Corral
@umarcor
Here it is!
So, Tristan didn't make any assessment. He just asked about it.
Jim Lewis
@JimLewis
@ktbarrett For RTL? OK
Unai Martinez-Corral
@umarcor

generic type for entities are not yet supported. Is it something that is really needed ? (just to evaluate the priority).

To support generic types on entities, the elaboration mechanism has to be reworked. I think this is the next big project in ghdl, after synthesis.

vblanco20-1
@vblanco20-1
if GHDL wasnt coded in Ada i would try to improve it myself
vhdl 2019 interfaces are a big deal
right now every module i have just has 1 input + 1 output record, but interfaces make it so much cleaner
Kaleb Barrett
@ktbarrett
@vblanco20-1 That's my issue too. I don't know Ada, this is the only project I know written in Ada so I would be learning it solely to contribute here. I might get there one day, but there is plenty of lower cost-of-entry work I could do :wink:. A coworker, @andrewandrepowell might be looking into trying to improve GHDL for generic entities and eventually interfaces. We are a VHDL house and having a quality OS VHDL tool would be of great use to us, but GHDL is missing some key features to get our main reuse library compiling.
vblanco20-1
@vblanco20-1
ive thought of making my own HDL on top of vhdl
something kinda like vhdl (design wise) but far less stupid. and just compiles to vhdl transparently
Unai Martinez-Corral
@umarcor
@vblanco20-1, @ktbarrett, can you writte Rust? Would you be more motivated for learning Rust if you could contribute to GHDL using that language?
vblanco20-1
@vblanco20-1
i can write rust
my small vhdl tools have been in it
mostly for the hell of it, no real good reason. The language i know best is actually cpp
rust is great for this sort of work,because its string handling is the best of almost any language
the standard library of rust has tons of string related funcionality, and everything generally works through string-views, so it doesnt perform allocations and runs very fast
Unai Martinez-Corral
@umarcor
Note that there are tasks related to Ada, C, C++, Python, TypeScript, Shell, HTML/CSS/JS... in GHDL as a project. Hence, if what you want is to contribute in a language, regardless of the area, let us know. https://github.com/ghdl/ghdl/wiki
OTOH, if you want to implement/enhance a very specific area/feature of the tool/project, then you need to learn/use the language.
However, there is a rust branch in the repo. We already setup CI enhancements, for CI to work on all platforms.
Moreover, I strongly recommend you add @xiretza:xiretza.xyz's fork and look at his rust branch.
vblanco20-1
@vblanco20-1
thats hell of a lot of languages for the project
Unai Martinez-Corral
@umarcor

thats hell of a lot of languages for the project

It's a hell of a project!

vblanco20-1
@vblanco20-1
why the html?
Unai Martinez-Corral
@umarcor
documentation.
vblanco20-1
@vblanco20-1
ah
Unai Martinez-Corral
@umarcor
also, GHDL generates HTML from Ada. See the pretty printing options.
vblanco20-1
@vblanco20-1
what was the original thinking of using something like Ada for a compiler?
generally every use case ive ever seen of Ada was for things microcontroller/robot related
vblanco20-1
@vblanco20-1
on my end GHDL is the absolute first time ive seen Ada used for something like a compiler
Unai Martinez-Corral
@umarcor

what was the original thinking of using something like Ada for a compiler?

Tristan worked with Ada (at AdaCore). He is an expert in the language.
Other than that, VHDL was based on Ada. Therefore syntax and certain semantics are very similar.
The idea is that VHDL designers can read Ada. That is true. However, the actual problem is that hardware designers can hardly contribute to GHDL because it is compiler, not because of the language. We are lacking knowledge about the complexity of the tool (and the LRM). I don't think using Ada is the main stopper.

OTOH, since GHDL was started 20 years ago, the language ecosystem changed a lot.
Ada tooling feels dated compared to Python, Rust, Golang.
Yet, that's not a problem with Ada only, but also with C/C++.
I believe it's arguable whether GHDL would be better written in C. I think that's what it should be compared. Comparing Ada and Rust is unfair because Rust did not exist for 15 of the last 20 years.
Anyway, we have discussed about "rewritting GHDL in Rust" several times in the last 2-3 years. I believe it might happen at some point.
For it to be true, tho, there needs to be more momentum than around Ada.
So, please, see the rust branch, ask about it, try to understand why Tristan did not switch to Rust yet, even though it has been discussed so much.
Unai Martinez-Corral
@umarcor

ive thought of making my own HDL on top of vhdl

Please, don't call that HDL. None of us is more clever than all the people working on standardising HDL languages during the last 40 years. You will likely design a subset of a subset of an HDL which will need between 5-10y to be barely usable for any real-world application, and not just the very limited subset of use cases you need it for.
Chisel, SpinalHDL, migen, nmigen, Clash, BlueSpec, Silice, myhdl, TL-Verilog... all those are domain specific languages, most of them focused on a very specific topic (writting RISCV microarchitectures). Twice as many were created in the last decade and are absolutely dead.
We do have a problem with open source tooling for HDL. However, reinventing languages will only delay improving the tooling a decade, at least.
Writting tooling for VHDL and/or System Verilog is precisely complex and challenging because they cover lots of use cases which other languages decided to ignore for the sake of simplicity.

Kaleb Barrett
@ktbarrett
@umarcor I learned Rust a couple years ago and tried it out on some random toy projects. After fighting the borrow checker a couple times I stopped and never used it again.
2 replies
Unai Martinez-Corral
@umarcor
You want to write a DSP library? A SoC integration tool? An interface/interconnect management solution? All of those are so interesting, and you can use a DSL for that. You can write the DSL in any software language you want. All of that is absolutely perfect and desirable. Just, please, don't say/think that is an HDL.
vblanco20-1
@vblanco20-1
going from ada to rust makes a lot of sense
safety first language into safety first language
plus rust in general has a very nice ecosystem for compiler related things
Unai Martinez-Corral
@umarcor
I believe that's the main reason for Tristan to consider Rust seriously, while C/C++ do not add much value and the effort is probably not worth it. Just for curiosity, Kaleb, Victor, would feel comfortable with C++? I know you both know it, but I don't know if enough for actually writting a compiler with it.
vblanco20-1
@vblanco20-1
ive been coding cpp for near a decade professionally. I wouldnt really use it for a new copiler written today
Unai Martinez-Corral
@umarcor
Note that the ghdl to yosys plugin is currently done in C++. Also, combining GHDL with Verilator or writting a ghdlator/vhdlator might require C++. There is also UHDM, C++ too.
Kaleb Barrett
@ktbarrett
I am comfortable enough with C++ to use it for just about anything.
T. Meissner
@tmeissner
Isn't the SW-design of a project or the knowledge of it the real "blocker"?
vblanco20-1
@vblanco20-1
string handling is still quite a mess. The standard library uses std::string, but that one has some massive issues regarding the api