Thursday, 2021-01-14

*** tpb has joined #symbiflow00:00
*** ASHR has joined #symbiflow00:02
*** ASHR has quit IRC00:42
*** proteusguy has quit IRC01:06
*** TMM has quit IRC01:07
*** TMM has joined #symbiflow01:08
*** proteusguy has joined #symbiflow01:19
*** ASHR has joined #symbiflow01:44
*** futarisIRCcloud has joined #symbiflow02:02
*** ASHR has quit IRC02:36
*** ASHR has joined #symbiflow02:40
*** ASHR has quit IRC03:09
sf-slack<mpictor> litghost, umarcor: thanks!03:29
sf-slack<mpictor> >  If you are not modifying the arch-defs support, we recommend you use https://github.com/SymbiFlow/symbiflow-examples/ which pulls down the outputs of arch-defs. the getting started page on the site seemed to be directing me to arch-defs. didn't seem quite right but it was the best lead I had :)03:31
sf-slack<mpictor> maybe should change the docs to point to the examples repo03:31
*** rvalles has joined #symbiflow03:49
*** rvalles_ has quit IRC03:50
*** sadoon_albader has joined #symbiflow04:00
*** sadoon_albader has joined #symbiflow04:02
*** citypw has joined #symbiflow04:04
*** sadoon_albader has quit IRC04:07
*** Degi_ has joined #symbiflow04:10
*** Degi has quit IRC04:13
*** Degi_ is now known as Degi04:13
*** gvb has joined #symbiflow04:23
*** hansfbaier has joined #symbiflow05:34
*** futarisIRCcloud has quit IRC05:52
*** citypw has quit IRC05:55
*** ASHR has joined #symbiflow05:57
*** anon has joined #symbiflow06:09
*** anon is now known as Guest444706:09
Guest4447I am a beginner. I need some help. I have hx8k board from olimex and I intend to use flashrom utility on RPI3 with FreeBSD to program my fpga06:10
Guest4447I also intend to use clash (haskell) for coding logic06:11
Guest4447My question is, what do the steps look like? What is yosys, arachne-pnr and icestorm?06:11
*** kgugala_ has joined #symbiflow06:16
*** kgugala has quit IRC06:19
*** Guest4447 has quit IRC06:22
*** mkru has joined #symbiflow06:34
*** mkru has quit IRC07:09
*** kgugala_ has quit IRC07:25
*** kgugala has joined #symbiflow07:25
*** ASHR has quit IRC07:38
*** kgugala_ has joined #symbiflow07:41
*** hansfbaier has quit IRC07:42
*** hansfbaier has joined #symbiflow07:44
*** kgugala has quit IRC07:44
*** schultz_ has joined #symbiflow08:07
*** citypw has joined #symbiflow08:16
sf-slack<schris15> Hello, I'm interested in contributing to this project. I'm new to FPGAs. I have some basic knowledge of HDL languages and Docker. I'm have some experience with Python and C++. Where can I start contributing to the project?09:32
*** zisis_a has joined #symbiflow09:41
*** citypw has quit IRC09:57
*** citypw has joined #symbiflow09:58
*** phiren has quit IRC10:12
*** phire has joined #symbiflow10:14
hansfbaiersf-slack: Are you interested in Xilinx 7 series reveng? Here you can get started:https://symbiflow.readthedocs.io/projects/prjxray/en/latest/db_dev_process/readme.html10:28
tpbTitle: Project X-Ray Project X-Ray 0.0-3318-g77e8b24c documentation (at symbiflow.readthedocs.io)10:28
hansfbaiersf-slack: See also the other nodes in the documentation page. That should keep you busy for some time...10:29
hansfbaiersf-slack: Also in the issue there are issues marked as ´good first issue´: https://github.com/SymbiFlow/prjxray/labels/good%20first%20issue10:31
hansfbaiersf-slack: This is all for Xilinx series 710:32
hansfbaiersf-slack: For Intel/Altera there is #prjmistral10:32
hansfbaiersf-slack: and for Lattice project trellis10:32
*** schultz_ has quit IRC11:06
*** ASHR has joined #symbiflow11:12
*** ASHR has quit IRC11:16
*** hansfbaier has quit IRC11:19
*** sadoon_albader has joined #symbiflow11:57
*** sadoon_albader has quit IRC12:00
*** sadoon_albader has joined #symbiflow12:00
*** schultz_ has joined #symbiflow12:01
*** citypw has quit IRC12:05
*** schultz_ has quit IRC12:11
*** dnltz has joined #symbiflow12:11
*** citypw has joined #symbiflow12:11
*** citypw has quit IRC12:28
*** infinite_recursi has joined #symbiflow12:31
infinite_recursiHello, I'm a beginner in FPGA. I have an Olimex HX8K which I wish to program using flashrom utility in RPI3 with FreeBSD. I need some help.12:32
infinite_recursiCan someone help me with the basic steps on how FPGA programming is done. I intend to write code in clash (haskell), get hdl code, and then somehow use yosys, arachne-pnr and icestorm.12:33
infinite_recursiHowever, I have no idea what yosys, arachne and icestorm do! Can someone please explain in simple words to me these processes? Thanks in advance!12:34
lambdainfinite_recursi: first of all, you probably want nextpnr, arachne-pnr's successor12:43
infinite_recursiok, I'll see nextpnr. But why?12:45
lambdaarachne-pnr is deprecated and not maintained anymore12:46
infinite_recursiI get how gcc converts C code to CPU instructions, etc. What are we doing here going from hdl to bitstream I presume at the end?!12:47
sf-slack<pgielda> @hansfbaier, sf-slack is a gateway bot that is forwarding messages from slack not a real username.12:47
sf-slack<pgielda> (just FYI)12:47
lambdainfinite_recursi: yosys does the synthesis, i.e. converting your HDL to a netlist (circuit) of FPGA components (LUTs, flipflops, RAM blocks, ...), then nextpnr places these components into a concrete model of the specific FPGA you're using and routes the connections between them12:49
infinite_recursigot it and icestorm?12:51
infinite_recursiSo do we have to control parameters of these compilation steps or is this automatic? Like as FPGA programmers, do we have to worry about internal things of these 3 softwares?12:52
infinite_recursiLike setting config params?12:53
lambdainfinite_recursi: icestorm is the project that reverse-engineered iCE40 FPGAs, resulting in both the model (chipdb) used by nextpnr as well as a collection of tools to create bitstreams, etc12:53
lambdainfinite_recursi: not really, for simple projects all you have to configure is the FPGA you want to build for12:53
lambdae.g. use `synth_ice40` in yosys, and run nextpnr-ice40 --hx8k with the correct --package12:54
infinite_recursiNoted. And where to find standard projects where I can build on top of others' code? Is hdl code specific to a particular board or chip like say iCE40?12:56
zypdepends whether the code is instancing primitives that only exists in a particular chip or not12:57
lambda"it depends" - the main logic of any design will probably be pretty generic, but especially when it comes to IOs, you often need to manually instantiate your device's primitives12:58
infinite_recursiBy instancing primitives, do you mean functions specific to an fpga board?12:58
infinite_recursiok12:59
infinite_recursiI guess I'll learn this when I do things.12:59
lambdano, hard logic blocks inside the chip - things like PLLs, SERDES, etc12:59
zypif you're familiar with microcontrollers, it's analogous to how some code is accessing hardware registers present in a specific chip, while other code might be compiled for any chip12:59
infinite_recursiYes, got it. Thank you lambda and zyp! :D13:00
zypso in practice you often end up with some files of portable code along with some «glue» code to help it work on a particular chip13:02
zypand by replacing the glue code, you can build it for different targets13:02
infinite_recursiWould the glue code be long enough or some big structure changes or it would just be some minor edits?13:07
infinite_recursiAnd would I have to take care about it while structuring code?13:07
lambdainfinite_recursi: if you want to simulate your code, it may just come naturally if there are no simulation models for the primitives you're using, so you'll have to stub them out anyway :)13:14
*** sadoon_albader has quit IRC13:23
infinite_recursiok.13:24
*** infinite_recursi has quit IRC13:25
*** sadoon_albader has joined #symbiflow13:31
*** dnltz has quit IRC14:17
*** dnltz has joined #symbiflow14:34
*** dnltz has quit IRC14:59
*** dnltz has joined #symbiflow14:59
*** schultz_ has joined #symbiflow15:06
*** dnltz has quit IRC15:08
-_whitenotifier- [prjxray] tmichalak opened issue #1546: Add baseaddresses for GTPE2_CHANNEL sites - https://git.io/JtJEM15:11
*** gromero_ has quit IRC15:11
*** maartenBE has quit IRC15:17
*** maartenBE has joined #symbiflow15:21
*** gromero has joined #symbiflow15:23
*** schultz_ has quit IRC15:30
*** zisis_a has quit IRC16:02
*** schultz_ has joined #symbiflow16:24
*** TMM has quit IRC17:16
*** TMM has joined #symbiflow17:16
*** infinite_recursi has joined #symbiflow17:39
*** infinite_recursi has quit IRC17:45
*** infinite_recursi has joined #symbiflow17:47
umarcorschris15: what's your preference? HDL, Docker, Python or C++? All of them? Do you want to work on hardware designs or on tooling for hadware design?17:47
sf-slack<schris15> I only have around 6weeks of FPGA design experience with even less being on HDL, so unless its something simple I would prefer python.17:49
umarcor@infinite_recursi, you might want to have a look at https://workshop.fomu.im. Very precisely https://workshop.fomu.im/en/latest/background.html and 'Turning code into gates'. That's not the most exhaustive explanation, but it will let you find yourself.17:50
tpbTitle: Background FPGA Tomu (Fomu) Workshop 0.1-320-gd1e14dc documentation (at workshop.fomu.im)17:50
sf-slack<schris15> ok thank you17:50
umarcorschris15, that second message of mine was for another user. However, you might also want to read the workshop. You will already know most of that, but it's always interesting to read a different point of view.17:53
sf-slack<schris15> oh yeah i didn't notice17:54
sf-slack<schris15> yeah i'm familiar with those17:54
umarcorThen, if you are comfortable with Python, I would recommend two working areas:17:55
umarcor1. HDL generators | embedded HDL languages, such as migen/nmigen. That will allow you to do hardware design without learning Verilog/VHDL specifics. Not my cup of tea, but very used in the open source community. Search e.g. litex-hub on GitHub.17:55
infinite_recursiumarcor: Thanks, read it. It's fomu specific but helped.17:57
*** infinite_recursi has left #symbiflow17:58
umarcor2. HDL project packagers|managers, such as edalize/fusesoc, PyFPGA, tsfpga, pyIPCMI, cheby, hdlmake... All of those are written in Python. All of them need love, and any integration effort would be delightful for the community.17:58
cr1901_modernWhat is cheby? A filter maker?17:58
sf-slack<schris15> ok thanks for the info, i will take a look17:59
umarcor2. (bis) Tool packagers|managers for easily distributing and installing environments. Antmicro/SymbiFlow is focused on Conda for that, which is Python. Again, not my cup of tea (I'm not very fond of Python's packaging environments), but it has traction.17:59
umarcorcr1901_modern: https://gitlab.cern.ch/cohtdrivers/cheby It's for HW/SW interfaces. It generates files for hardware and for software to match. I believe that tsfpga and other projects have similar built-in features.18:00
tpbTitle: Projects · cohtdrivers / cheby · GitLab (at gitlab.cern.ch)18:00
umarcorI think that cheby is based on Wishbone, but I cannot confirm that.18:01
umarcorI'm aware of it because the main author is also the author of GHDL.18:02
cr1901_modernahhh18:02
umarcorcr1901_modern: you might want to have a look at the following docs:18:05
umarcorabout packaging and project management for simulation and/or synthesis: https://docs.google.com/document/d/1qThGGqSVQabts-4imn5zY5BMptp1-Q2rGiNKHDH1Pbk18:06
tpbTitle: EDA integration: managing projects for simulation and implementation - Google Docs (at docs.google.com)18:06
umarcorwith regard to building and distributing tools: https://docs.google.com/document/d/10_MqFjTIYVVuOJlusJydsp4KOcmrrHk03__7ME5thOI/18:06
tpbTitle: Open Source EDA: building, packaging, installing - Google Docs (at docs.google.com)18:06
umarcorinfinite_recursi: related to managing HDL projects targeting multiple boards/FPGA, I would suggest to have a look at https://github.com/dbhi/vboard/tree/main/vga, precisely https://github.com/dbhi/vboard/tree/main/vga#how-to-add-a-board.18:11
umarcorThat is a "traditional" approach for VHDL/Verilog designs, using makefiles only. The repository was created as an example of how to organise sources (src, board, device, test...) for newcomers to have a reference about how to structure their code, and avoid later refactorisations.18:11
umarcorHowever, there are "higher level" approaches to the problem. Fusesoc is one of them, which uses `.core` files. LiteX has a litex-boards repository, which contains the same infor as hdl/constraints, but embedded in a Python tool.18:13
umarcorIn fact, one of the main inspirations for the structure was https://github.com/PLC2/Solution-StopWatch. PLC2 is a german HDL training company, which organises FPGA Kongress.18:15
*** kgugala has joined #symbiflow18:20
*** kgugala_ has quit IRC18:22
*** kgugala_ has joined #symbiflow18:23
*** kgugala has quit IRC18:25
*** ASHR has joined #symbiflow18:25
*** kraiskil has joined #symbiflow18:41
*** kraiskil has quit IRC18:47
*** kraiskil has joined #symbiflow18:47
mithro@litghost is https://github.com/verilog-to-routing/vtr-verilog-to-routing/pull/1608 ready to merge?18:57
*** kraiskil has quit IRC19:16
*** sadoon_albader has quit IRC19:17
*** kraiskil has joined #symbiflow19:29
*** MikeB74 has joined #symbiflow20:22
*** ASHR has quit IRC21:07
*** MikeB74 has quit IRC21:10
sf-slack<kgugala> @mithro @litghost this change https://github.com/SymbiFlow/prjxray/pull/1539/commits/082e98291177fc8194ac71b1680641df119476e7#diff-4f8a3806dcb8d938999[…]318fd2c997d4e5de2f082dR64  implicitly introduces db/mapping/devices.yaml file requirement for xc7-fasm. We need to publish new database with this file, otherwise binary toolchain is crashing21:26
litghostTrue...21:27
*** lambda has quit IRC21:30
*** kraiskil has quit IRC21:30
*** unrznbl[m] has quit IRC21:30
*** unrznbl[m] has joined #symbiflow21:32
*** lambda has joined #symbiflow21:32
litghostWe really need to not having endpoint users using bleeding edge21:32
sf-slack<kgugala> yep - we need to fix the package on certain commit21:33
sf-slack<kgugala> doing this in the examples repo should be fine (as it is our official user guide)21:34
sf-slack<kgugala> and the docs are generated from it21:34
litghostI'm not convienced about using commit, rather than package versions21:43
litghostfor Python packages21:43
*** zisis_a has joined #symbiflow21:44
sf-slack<kgugala> I don't think we publish prjxray python package (I agree this will be better than pointing to a commit)21:44
litghostWe need to get PyPI publishing started, biggest issue I see is that PyPI doesn't really have a "organization" concept, just an owning account21:46
sf-slack<kgugala> yep21:46
sf-slack<kgugala> I opened PR hotfixing the prjxray version https://github.com/SymbiFlow/symbiflow-examples/pull/11721:49
sf-slack<kgugala> Once we have a proper python package we should reverse this21:49
litghostWe'll also want to bump it once the new db is propigated21:50
sf-slack<kgugala> yep21:50
*** maartenBE has quit IRC22:14
*** maartenBE has joined #symbiflow22:16
*** zisis_a has quit IRC22:40
*** ASHR has joined #symbiflow23:01
*** ASHR has quit IRC23:08

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