Monday, 2022-04-25

*** tpb <[email protected]> has joined #f4pga00:00
*** littlebo1eep <littlebo1eep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga00:23
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)00:24
*** littlebo1eep <littlebo1eep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)03:41
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga03:47
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)04:44
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga05:26
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)05:49
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga05:55
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)06:05
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga06:12
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)07:06
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga07:33
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)07:40
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga07:41
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)07:51
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga08:12
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)09:28
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga09:35
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)12:02
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga12:10
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Quit: leaving)12:50
F4PGASlackBridge<umartinezcorral> @gergo check https://github.com/hdl/packages. AFAIAA, at the moment there is no direct replacement for the whole Conda environment used in F4PGA examples. However, there is work in progress to achieve it. All "external" tools (yosys, vpr, nextpnr, etc.) are available through system package managers, through tarballs or as containers. Python utilities are being split from repo arch-defs (and moved to repo12:51
F4PGASlackBridgef4pga). With Python utilities moved away, the arch-defs-install tarballs should contain assets and TCL scripts only (need to double check). Last, yosys plugin are a separated repo. Note that during the last years and until very recently F4PGA did need specific variants of VPR, Yosys, etc. The upstreams would not work, so Conda was somehow required. Now, most of the tweaks are upstream, so other packaging/distribution12:51
F4PGASlackBridgesolutions can step in.12:51
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga12:51
*** adjtm <[email protected]> has quit IRC (Quit: Leaving)14:23
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)14:38
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga14:45
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)14:53
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #f4pga15:33
lkclumartinezcorral: the libre-soc team runs with their own reproducible-build package-installation scripts that are public and publicly available15:39
lkclthe base-line chrooted repro OS is debian/1015:39
lkclhttps://git.libre-soc.org/?p=dev-env-setup.git;a=tree;hb=HEAD15:40
tpbTitle: git.libre-soc.org Git - dev-env-setup.git/tree (at git.libre-soc.org)15:40
lkclincluded is yosys ghdl iverilog symbiyosys nmigen symbiflow verilator nextpnr-ecp5 nextpnr-xilinx coriolis2 and most FPGA-loaders15:41
lkclone of the very first things we did was exclude conda.  it is... quite mad to have an installer that installs an installer that installs an installer15:41
lkcldocker -> conda -> pip3 -> package15:42
lkcl!15:42
lkclwe solved the need for conda (before the upstreaming) through explicit package-installation within the chroot, using specific git checkouts.15:43
lkclif ever you've tried working with docker, with its ever-changing specification file-format that results in utterly incompatible unreproducible builds, you'll understand and appreciate why we chose a debian/10 chroot :)15:44
lkclfeel free to add the link to dev-env-setup on https://github.com/hdl/packages15:45
lkclwith a note that our goal is *reproducible* stable builds that are still close to bleeding-edge15:46
lkcland that we have had people use debootstrap even on archlinux to successfully install the (required) debian/10 schroots15:47
lkclumartinezcorral: noticed that you list "awesome" quality as whether each tool/project has a markdown file, which we do, indeed, so i added a top-level README so that people can find them16:03
lkclhttps://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=README.mdwn;hb=HEAD16:03
tpbTitle: git.libre-soc.org Git - dev-env-setup.git/blob - README.mdwn (at git.libre-soc.org)16:03
mithroacomodi: ping?16:54
F4PGASlackBridge<acomodi> mithro: pong17:35
F4PGASlackBridge<acomodi> I just saw some updates on the license server on GH17:36
F4PGASlackBridge<acomodi> Regarding the custom runners, commands do not actually require `sudo`17:38
mithroacomodi: Where are the customer runners actually running?19:16
F4PGASlackBridge<pgielda> @mithro Not sure if this is what you mean when you're asking, but eacg is run in a container on a separate dedicated machine in GCP (one machine per job, spinned by the coordinator and killed after the job)19:22
mithro@pgielda: Well more on which GCP project and such19:23
F4PGASlackBridge<pgielda> If you're more specifically asking which GCP project then we can probably discuss this outside of this channel19:24
F4PGASlackBridge<pgielda> (It depends which repo also, there is more than one project)19:25
mithroAt the moment I mostly care about the prjxray19:27
F4PGASlackBridge<pgielda> This one I *think* is in the older one19:27
F4PGASlackBridge<pgielda> But I will check and confirm that on priv19:27
F4PGASlackBridge<pgielda> (Also will tell you the exact name of it)19:27
mithroacomodi / pgielda: I *think* I have put enough information into https://github.com/f4pga/prjxray/issues/191319:35
F4PGASlackBridge<pgielda> Ok. I am pretty sure we are filtering everything that is not needed for security reasons by default so obviously will have to think how to relax that in a smart way19:37
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga20:04
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Ping timeout: 240 seconds)20:12
F4PGASlackBridge<umartinezcorral> @lkcl I understand your motivations. I do maintain https://hdl.github.io/containers/, which uses Debian Bullseye as the main "collection". There is also https://github.com/hdl/Termux-packages (Termux is essentially a debian chroot on Android). Hence, I see how the container approach can compare to using a Debian chroot (with regard to reproducibility and maintenance effort).  May I know why you use "regular20:15
F4PGASlackBridgescripts" instead of deb recipes? In hdl/containers, things are starting to look like PKGBUILD recipes (e.g. https://github.com/hdl/containers/tree/main/debian-bullseye/pono) so I'm every once in a while thinking about switching to "proper" recipes. Using pacman on Debian feels weird, but I find deb cumbersome compared to PKGBUILD.  Nevertheless, neither of "linux containers" or a Debian chroot fulfill one of the main20:15
F4PGASlackBridgerequirements to choose Conda back when SymbiFlow was created: builds on multiple platforms (linux, windows and linux). Therefore, even though I do personally think that "having linux binaries only is acceptable", there is value for the community in having a solution which is significantly more popular in fields where knowledge about CS is not so important.  On the other hand, both libre-soc's packages and hdl/containers do20:15
F4PGASlackBridgelack some of the individual tools used in F4PGA. In hdl/containers I do cheat by installing Conda inside a container; however, that's just a temporary solution to speed-up CI, until all the individual tools/utils are packaged. From a user point of view, the only "single command to install everything" for generating xc7 bitstreams using yosys and vpr is Conda (or Conda in a container). How does the default libre-soc flow20:15
F4PGASlackBridgecompare to the ones currently supported in F4PGA? Is Coriolis2 equivalent to VPR or nextpnr in https://f4pga.readthedocs.io/en/latest/_images/parts.svg ? Or is it the main entrypoint which wraps other tools? Is FPGA synthesis supported in libre-soc flows or is it focused on ASICs?20:15
F4PGASlackBridge<umartinezcorral> Done.20:15
F4PGASlackBridge<umartinezcorral> I'm not sure to understand... Is that a reference to https://github.com/hdl/awesome ?  In hdl/awesome, it is irrelevant whether a repo/tool has a top-level README. "Awesome list" is an existing concept that is used for listing resources for various topics/areas. The difference between hdl/awesome and other "awesome lists" is that each item in hdl/awesome is a markdown file20:15
F4PGASlackBridge(https://github.com/hdl/awesome/tree/develop/content/items), instead of having all the items written in a single markdown source.20:15
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Remote host closed the connection)21:02
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #f4pga21:03
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Quit: ec)21:41
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #f4pga21:43
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Client Quit)21:44
*** ec <ec!~ec@gateway/tor-sasl/ec> has joined #f4pga21:44
*** indy <[email protected]> has quit IRC (Ping timeout: 240 seconds)22:03
*** indy <[email protected]> has joined #f4pga22:07
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga22:32
lkclumartinezcorral: many of the dependencies aren't themselves debian packages.22:32
lkcli've been following how debian operates since around 1994-5.22:32
lkclfor example, i think it was debian packaging of.... gitlab which uses both golang and node.js packages22:33
lkclrequired something like an astounding *hundred+* dependent packages to be created before they could even get to the top-level gitlab22:34
lkcland the reason is that it is absolutely completely unacceptable in debian to depend on insecure network installs such as "pip3 install {insert package}"22:35
lkclevery dependency *has* to be independently vetted, packaged, all copyright of all files checked and listed in a debian/copyright file.22:35
lkclit's an astonishing amount of work22:35
lkclor22:36
lkclwe could simply go with our own scripts, based (pretty much) on what everyone else has done already.22:36
*** adjtm <[email protected]> has joined #f4pga22:36
lkclthe symbiflow ones were based on the instructions online, looking at the archlinux package as well, looking at the requirements.txt, extracting what was relevant (not installing risc-v compiler for example)22:38
lkcl> "I find deb cumbersome compared to PKGBUILD"22:38
lkclyes, most people do, but once someone has done the work, you know that you won't get hit by a copyright lawsuit because of a missing copyright notice in one of the files22:39
lkcland if you're operating in a country or a situation with an unreliable internet connection you can ask someone to send you a USB/DVD with debian packages, confident that every single dependency will be available, all GPG-signed and not tampered with22:40
lkcl> "both libre-soc's packages and hdl/containers do lack some of the individual tools used in F4PGA"22:41
lkclour needs are quite focussed: if we need something else, it'll get added. if someone contributes it, i'll add it too.22:42
lkcl> "How does the default libre-soc flow compare to the ones currently supported in F4PGA?"22:43
lkcli don't know because i've not installed F4PGA (and would be unlikely to do so, because i looked at conda, and went "no, not doing it")22:45
lkcl> " Is Coriolis2 equivalent to VPR or nextpnr in https://f4pga.readthedocs.io/en/latest/_images/parts.svg"22:45
lkclno, coriolis2 is equivalent to (pretty much the entirety of) the piecemeal tools that comprise openlane22:46
lkclit performs VLSI layout and has been tested on 360, 180 and 130 nm22:47
lkclat up to 130,000 cells (around 800,000 transistors), fully-automated layout (ls180).22:47
lkcl> " Is FPGA synthesis supported in libre-soc flows or is it focused on ASICs?"22:51
lkclboth22:51
lkclwe're developing ASIC-ready HDL, using nmigen, and it needs to be run in simulators and also on FPGAs.22:51
lkclah ok, i didn't quite follow about the "awesome" list, i'd not seen it before :)22:51
lkclnice idea. still, misunderstanding inspired me to write a README, heh22:53
lkcl> "builds on multiple platforms (linux, windows and linux)"22:57
lkclyes, this is a good thing, for many reasons.22:58
lkclyou probably meant macos there :)23:00
lkclhttps://github.com/hdl/packages/commit/384ef2e2480fb4781d6750b5805f2e522f5d9e5d - cool, thank you!23:12
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has quit IRC (Quit: leaving)23:14
*** littlebobeep <littlebobeep!~alMalsamo@gateway/tor-sasl/almalsamo> has joined #f4pga23:14
littlebobeep.23:35
*** ec <ec!~ec@gateway/tor-sasl/ec> has quit IRC (Ping timeout: 240 seconds)23:41

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!