Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 07:50
    tmeissner commented #2178
  • 07:19
    tgingold commented #2178
  • 04:41

    github-actions[bot] on nightly

    testsuite/synth: add tests for … netlists-memories: improve chec… testsuite/synth: add a test for… and 9 more (compare)

  • 03:48

    tgingold on master

    pyGHDL: update bindings (compare)

  • Aug 14 20:55
    tmeissner edited #2178
  • Aug 14 20:50
    tmeissner edited #2178
  • Aug 14 20:50
    tmeissner opened #2178
  • Aug 14 20:00
    umarcor labeled #2176
  • Aug 14 20:00
    umarcor milestoned #2176
  • Aug 14 20:00
    umarcor milestoned #2177
  • Aug 14 19:56
    tgingold closed #2177
  • Aug 14 19:56

    tgingold on master

    synth-vhdl_context: fix handlin… elab-vhdl_values-debug: improve… testsuite/synth: add a test for… (compare)

  • Aug 14 18:54
    tgingold closed #2176
  • Aug 14 18:53

    tgingold on master

    testsuite/synth: add tests for … netlists-memories: improve chec… testsuite/synth: add a test for… and 5 more (compare)

  • Aug 14 15:13
    jotego opened #2177
  • Aug 13 13:47
    baaaab edited #2176
  • Aug 13 13:46
    baaaab opened #2176
  • Aug 13 09:08

    github-actions[bot] on nightly

    netlists-memories: fix a crash … testsuite/synth: add tests for … (compare)

  • Aug 13 04:53

    tgingold on master

    netlists-memories: fix a crash … testsuite/synth: add tests for … (compare)

  • Aug 12 13:17
    umarcor milestoned #2171
Ed Bordin
@edbordin
they're working on it I think, it's just complicated because it's all cross-compiled from linux
T. Meissner
@tmeissner
Ah, cool :smiley:
Unai Martinez-Corral
@umarcor
I really hope the fpga-toolchain is kept until the oss-cad-suite is improved. Currently, they are reinventing appimage/flatpak manually...
There is 1GB of Ubuntu system libs included in the tarball, and all the executables are wrapped in bash/perl scripts for overriding the linker and library paths.
Martin
@hackfin
Oh my god. Sounds like the Xilinx method.
Unai Martinez-Corral
@umarcor
It is...
Martin
@hackfin
Well, someone will go and dockerize it, eventually.
Unai Martinez-Corral
@umarcor
Most of the tools are dockerised already...
So, fpga-toolchain makes sense because it's a different (all static) solution.
In oss-cad-suite, they are partially duplicating the MINGW packages and they are partially duplicating the hdl/containers.
See YosysHQ/oss-cad-suite-build#1.
Nonetheless, if they want to provide "their own solution for their clients" it makes sense for them to have a branded bundle.
Unai Martinez-Corral
@umarcor
I was about to ask something in the gitter channel of another open source community and I saw they moved to https://zulip.com a week ago.
I didn't know about that software/service.
It looks really nice. It's open source. The default free plan is limited to 10k messages of search history and 5GB of storage. However, they provide the standard plan for open source projects: https://zulip.com/for/open-source/.
Moreover, open source projects can open invitations, so that anyone can join without one.
We have previously discussed how awful the threading solution in gitter is, and how barely usable it is on smartphones.
I believe the main reason for staying here is the very nice integration with github/gitlab for cross-references.
Zulip seems to have a nice integration too, and users can also login using github/gitlab accounts.
Unai Martinez-Corral
@umarcor
The main drawback I see is that zulip communities seem not to be public. So, users can join freely if we enable it, but they do need to join in order to read the content. I really like that gitter allows users to reads without requiring them to register and login.
Any experiences/thoughts?
1 reply
tgingold
@tgingold
No strong opinion. I prefer an open-source solution, but moving has also a cost.
nobodywasishere
@nobodywasishere:eowyn.net
[m]
It could also be that all gitter chatrooms are automatically converted into matrix rooms in the future, in which case no change would be necessary
T. Meissner
@tmeissner
We use an zulip with an internal instance at work. It’s okay, you can have a lot of streams, it supports threads, private communication etc. What I don’t like are their electron based „native“ apps. I use it only in the browser instead.
Unai Martinez-Corral
@umarcor
@nobodywasishere:eowyn.net matrix being a decentralized/federated solution, it can be used regardless of the preferred centralized entrypoint. I don't see the point of making matrix the main entrypoint, because it is an aggregator from a conceptual point of view. Am I misunderstanding it?
nobodywasishere
@nobodywasishere:eowyn.net
[m]
@umarcor I'm not sure what you mean
Unai Martinez-Corral
@umarcor
@nobodywasishere:eowyn.net I mean there is no "matrix client". Matrix is a thing. Clients are a different thing. Therefore, zulip cannot be compared to matrix. zulip/gitter need to be compared to some client of matrix. From the user interaction point of view, having matrix below is not relevant.
That is, regardless of using zulip, gitter or element, matrix can still be used and any user can pick a different client.
My concern with using matrix "only" is that I'm unsure about the matrix protocol supporting non-message events, such as the webhooks from github/gitlab repos. With gitter/zulip, we get those features and users of matrix get the filtered content according to the features in that network.
nobodywasishere
@nobodywasishere:eowyn.net
[m]
From a user point of view, that makes sense.
Unai Martinez-Corral
@umarcor
Nonetheless, I might be confusing matrix and IRC. Maybe matrix does support threads and events.
nobodywasishere
@nobodywasishere:eowyn.net
[m]
To be honest I have no idea
Not even sure what those are used for currently (here)
Unai Martinez-Corral
@umarcor
Maybe @xiretza:xiretza.xyz can tell us something :wink:

Not even sure what those are used for currently (here)

If you extend the sidebar on the right, there is a sequence of notifications about commits, issues, etc. Not all users pay attention to it, but it's useful for maintaining organisations, since activity can go unnoticed in very busy days.
The complement to that feature is the ability to reference issues or PRs through #. I know this one is a client side thing, so it can be implemented in Element or any other client. Yet, I'd like someone to point at any example on a matrix client.

Unai Martinez-Corral
@umarcor
Also, permissions in gitter are inherited from GitHub. That's handy for having public and private rooms for coordination purposes.
2 replies
nobodywasishere
@nobodywasishere:eowyn.net
[m]
Since gitter is technically becoming a matrix client (soon), it would be gitter itself https://matrix.org/blog/2020/12/07/gitter-now-speaks-matrix
Unai Martinez-Corral
@umarcor
Anyway, I think we all agree that the main and most important feature is proper threads on desktop and smartphone clients.
Yeah. Gitter is good enough. That's why we are sticking to it. But the mobile client is really bad, and threads are not usable because of how notifications work.
Ed Bordin
@edbordin
@umarcor I was planning to keep fpga-toolchain going for a while but probably wanted to deprecate it eventually. The statically linked executables end up being something like 1GB when decompressed anyway iirc
can the hdl containers be run without root privileges?
Unai Martinez-Corral
@umarcor

@edbordin I guess that most users nowadays are expecting to use the tools more than once. Therefore, other packaging/distribution solutions are more desirable for them. However, fpga-toolchain is very interesting for workshops where you don't know which computers will people bring, or you cannot install much software on them. In those cases, fpga-toolchain can be provided in a pendrive, along with a development board. It's also interesting because the set of tools is not the minimal but it's neither too large. Hence, it allows workshops with multiple languages and also formal verification exercises. When you deprecate it, fomu-workshop will be affected. Yet, I'm adding documentation about how to use containers. 3-4 years ago, containers were not supported on any Windows, and gitpod did not exist. They are supported now. Hence, that's something that Sean and Tim will need to evaluate.

can the hdl containers be run without root privileges?

Yes. Those are OCI containers (https://opencontainers.org/). They should work with any compatible runtime (docker, podman, nerdctl/containerd, whatever k8s uses...). I use them with docker on Windows and with podman on Fedora.

Ed Bordin
@edbordin
@umarcor yes that's part of the motivation for leaving fpga-toolchain there for a while, will do my best to let people know that had linked to it from their docs and allow time to update them. I've tried the new package and it's a pretty similar experience to fpga-toolchain in terms of ease of use to get started - download, extract, run the included script to set up the shell
happy to move this discussion to hdl if it's more appropriate there
Miodrag Milanović
@mmicko

@umarcor

There is 1GB of Ubuntu system libs included in the tarball, and all the executables are wrapped in bash/perl scripts for overriding the linker and library paths.

Hi, sorry for late reply, well actually there is less then 200MB of libraries and other resources taken from Ubuntu 20.04, and plain docker for it is 134MB without any needed library, so docker image would probably be larger then distribution files. Also note that python2 and python3 distributed are not from taken from ubuntu but built so we can have same version for all OS-es and also some software links to python and that must be specific version, so yes that is about 200MB of various files but size would be same in docker image

Docker image would be good as well to be provided, but that would needed to be treated as new target OS, since it would require different build rules (due to python dependency), guess that docker would be nice to have at least for CI usage but to be honest in that case I would for example remove GUI tools which would lower deps and made it much smaller in size.
Miodrag Milanović
@mmicko
I would love to have GHDL plugin for yosys built and distributed, problem is that it is ADA based, and that is possible to cross compile to other linux variants , but have issue for darwin and windows targets
For sure I need to use LLVM based build, but problem in it is that it try to precompile VHDL libraries with created binaries which is not possible for all targets since no QEMU for macOS (darwin)
Would appreciate any help in making minimal ghdl plugin build that can work on all targets
Miodrag Milanović
@mmicko
Also apologize if it sounded for a time that I am not listening, it was more pressure to finish things and have it ready for customers, but keeping community in mind as well. Also testing all on various OSes and Linux distributions to see if GUI applications are running is not that fun :)
Unai Martinez-Corral
@umarcor

happy to move this discussion to hdl if it's more appropriate there

@edbordin, I believe that GHDL is the tricky piece. Most other projects are "typical" C/C++/Python tools, so the build and cross-compilation procedures are easier. Hence, it's up to you to discuss it here or in hdl/community. Most of the interested users do read both channels anyway.

actually there is less then 200MB of libraries and other resources taken from Ubuntu 20.04

@mmicko maybe the difference is because I looked at the size of the lib from oss-cad-suite-linux-x64-20210524 after extracting it? That's 1.06GB.

and plain docker for it is 134MB without any needed library, so docker image would probably be larger then distribution files.

I would say the size using containers would be the same, or the difference would be negligible. My concern is not the size, but the duplication of environment with a hand-made isolation procedure. In fpga-toolchain, most tools are compiled statically so that the environment is embedded in each tool. Containers do provide a proven isolation mechanism for system libraries (since that's their main purpose). In oss-cad-suite everything is handled as you would do in a container, an appimage, a flatpak, etc. but then no specific isolation tool is used. As commented in YosysHQ/oss-cad-suite-build#1, that is a lot of work! Containers/appimage/flatpak are non-trivial projects with many developers. oss-cad-suite is an almost single man project.

If you want a hierarchical and fixed development model, your approach is acceptable. You decide which tools to provide, you take care of preparing all of them, your clients stick to the use cases you explicitly support. If they want other use cases, they either improve your bundle or they hire you to do so. However, you will need to develop all the isolation related tweaks yourself, or you will need a significant effort for documenting all of it, so that potential contributors can help. Otherwise, it will be difficult for anyone to add their own additional system tools/libraries that interact with the ones in the bundle.

Moreover, if you wanted to introduce versioning of the tools, so that users could downgrade specific tools in the bundle, that would be something you would need to implement and document yourself. Doing so is already a huge effort even if existing package managers are used.

guess that docker would be nice to have at least for CI usage but to be honest in that case I would for example remove GUI tools which would lower deps and made it much smaller in size.

There are container images for CI usage, others for local usage and others with GUI tools. Size grows, respectively. CI images need to be small, specific and fast. Local images need to be complete and have handy tools. GUI tools need X11, Qt, Gtk... The advantage of containers is that all of those can be provided at the same time, and they can be composed. The outcome is that each user can pick the image that best fits. However, from a maintainer/development point of view, all the users
are using "the same" image. Conceptually, each "collection" in hdl/containers is a single several GB image that is presented in pieces of varying sizes.

See https://hdl.github.io/containers/#_tools_with_gui and https://github.com/ghdl/docker/blob/master/USE_CASES.md#environments-with-guis. Or any of the following gitpods: https://gitpod.io/#https://github.com/cocotb/cocotb, https://gitpod.io/#https://github.com/umarcor/msea.

Note that gitpod uses VSCode or Theia. That is, YosysHQ could provide a custom IDE that any user would launch either in the browser or locally. Moreover, it might be an specific flavour of TerosHDL. I very honestly think that would provide much market value to the product.


Please, do not take any of this as plain criticism. I do care about oss-cad-suite and I do believe it has some very relevant characteristics:

  • You are cross-compiling for 6 different architectures, including RISC-V.
  • You are providing some tools which are not packaged in other solutions yet. E.g. avy, sby-gui or project oxide.
  • The work you did for bringing up a working solution from scratch is impressive!
  • You have first-class access to the development of several very relevant tools in the ecosystem.