Thursday, 2024-05-23

*** tpb <[email protected]> has joined #yosys00:00
*** lexano <[email protected]> has quit IRC (Ping timeout: 252 seconds)01:23
*** killjoy <killjoy!~nameless@user/killjoy> has quit IRC (Ping timeout: 255 seconds)03:09
*** somlo_ <[email protected]> has joined #yosys04:08
*** somlo <[email protected]> has quit IRC (Remote host closed the connection)04:08
*** _whitelogger <[email protected]> has quit IRC (Ping timeout: 260 seconds)06:10
*** _whitelogger <[email protected]> has joined #yosys06:12
*** Miyu-saki <Miyu-saki!~root@user/Miyu-saki> has quit IRC (Ping timeout: 260 seconds)06:12
*** root <root!~root@user/Miyu-saki> has joined #yosys06:12
*** emeb_mac <[email protected]> has quit IRC (Quit: Leaving.)06:12
*** root is now known as Guest411406:13
*** FabM <[email protected]> has joined #yosys07:08
*** dkc <dkc!~dan@user/dkc> has quit IRC (Ping timeout: 256 seconds)07:54
*** dkc <dkc!~dan@user/dkc> has joined #yosys07:55
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 240 seconds)08:56
*** FabM <[email protected]> has joined #yosys10:21
*** lexano <[email protected]> has joined #yosys11:20
*** dkc <dkc!~dan@user/dkc> has quit IRC (Remote host closed the connection)11:27
*** dkc <dkc!~dan@user/dkc> has joined #yosys11:31
*** mewt_ <[email protected]> has quit IRC (Ping timeout: 272 seconds)12:35
*** mewt <[email protected]> has joined #yosys12:39
*** emeb_mac <[email protected]> has joined #yosys12:50
*** emeb_mac <[email protected]> has quit IRC (Ping timeout: 260 seconds)14:44
*** peeps[zen] <peeps[zen]!~peepsalot@openscad/peepsalot> has quit IRC (Remote host closed the connection)14:48
*** peeps[zen] <peeps[zen]!~peepsalot@openscad/peepsalot> has joined #yosys14:49
*** Guest4114 is now known as Miyu-saki15:17
*** so-offishul <so-offishul!~so-offish@2610:148:610:2b10::14> has quit IRC (Read error: Connection reset by peer)16:06
*** so-offishul <[email protected]> has joined #yosys16:07
*** so-offishul <[email protected]> has quit IRC (Ping timeout: 264 seconds)16:11
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 264 seconds)16:13
*** somlo_ is now known as somlo16:18
*** stephe <[email protected]> has quit IRC (Quit: Connection closed for inactivity)16:36
Miyu-sakiIs there a way to enable like a strict mode since I keep accidentally assigning to registers, amongst other mistakes xd16:38
loftyMiyu-saki: it's called verilator :p17:23
whitequark[cis]or "not using verilog"17:37
Miyu-sakiOohh, I actually forgot about verilator. I've been using cxxrtl and since forgot that verilator does other things also.17:46
Miyu-sakiAs for not using verilog, what's a typical non-Verilog workflow that people use?17:46
whitequark[cis]https://amaranth-lang.org/docs/amaranth/latest/intro.html17:47
tpbTitle: Introduction — Amaranth language & toolchain 0.5.0.dev304 documentation (at amaranth-lang.org)17:47
Miyu-sakiI know there's that Python one and that Scala(?) one and that one which looks like Rust, but I'm not too familiar with them, nor how they'd interop17:47
whitequark[cis]https://amaranth-lang.org/play/17:47
tpbTitle: Play with Amaranth HDL! (at amaranth-lang.org)17:47
Miyu-sakiThanks!17:47
whitequark[cis]there's quite a few; Amaranth integrates with Yosys the closest (and soon with CXXRTL)17:48
Miyu-sakiThanks. :) I'll give it a try. Is it possible to import Amaranth(or well, the output) into a Verilog toplevel?17:52
Miyu-sakiAh sorry, I guess this one works: https://amaranth-lang.org/docs/amaranth/latest/start.html#converting-a-counter17:54
tpbTitle: Getting started — Amaranth language & toolchain 0.5.0.dev304 documentation (at amaranth-lang.org)17:54
*** nak <nak!~nak@yosys/nak> has quit IRC (Ping timeout: 260 seconds)18:16
*** Guest7 <Guest7!~Guest7@p200300e7ff21f139d38f7196e792aeb9.dip0.t-ipconnect.de> has joined #yosys18:17
*** nak <nak!~nak@yosys/nak> has joined #yosys18:17
Guest7what is yosys' policy on the initial values of registers with no initial value defined in verilog? (just something like "reg [10:0] foo;")18:19
Guest7from experimenting with it, it seems to assume it can be initialized to any value, usually it will be 0, unless the optimizer sees opportunities18:20
Guest7I'm targeting ECP5 and can see that it generates TRELLIS_FF elements with REGSET values depending on the verilog init value18:34
Guest7while we're at it, does anyone know how initialization/reset is supposed to work at all (with ECP5)? is there possibly an exemplary open source project using yosys that shows how it's done?18:36
whitequark[cis]Guest7: yes, 'x means the optimizer can do whatever it wants with the value18:37
Guest7nice, very simple18:39
Guest7someone somewhere claimed they were initialized by 0 by yosys, apparently that was wrong18:39
whitequark[cis]re: ECP5, you could look at https://github.com/amaranth-lang/amaranth/blob/main/amaranth/vendor/_lattice.py#L901-L994, which should cover nearly every Lattice FPGA18:39
Guest7thanks, I'll check what verilog code it generates18:41
Guest7what was this about Lattice tools ignoring register init values? is that still the case? for ECP5?18:41
Guest7I saw some old posts that were sure about Lattice ignoring init values, but this could have been about ice only18:42
loftyGuest7: that's ice only, AFAIK18:51
loftybecause of the different tooling used18:51
Guest7thought so18:52
loftyiCE40 registers initialise to zero18:52
loftyECP5 registers initialise to the reset value18:52
lofty<lofty> iCE40 registers initialise to zero <-- I think this is because the SiliconBlue engineers were ex-Altera, and Altera FPGAs also initialise to zero18:53
Guest7the evil part is that the ice toolchain apparently ignores the verilog init values completely (no error or anything)18:54
loftyfortunately, we don't. though, if you ever decide to run synthesis with `-dff`, then for mapping reasons as many flops as possible will be converted to initialise to zero18:55
Guest7is there a mode that initializes registers to random values, like verilator?19:05
whitequark[cis]not explicitly but you could do it yourself19:08
whitequark[cis]setattr -set init 0 w:* or something like that in your Yosys script19:08
whitequark[cis]re: iCE40 registers, this is not visible in the toolchain19:09
whitequark[cis]Yosys adds an inverter before and after the register to simulate initializing to 119:09
whitequark[cis]also, iCE40 isn't a Lattice FPGA; it's a SiliconBlue FPGA that was bought by Lattice19:09
Guest7yeah I read the issue where wolf added support for ice reg init like that19:12
*** Guest7 <Guest7!~Guest7@p200300e7ff21f139d38f7196e792aeb9.dip0.t-ipconnect.de> has quit IRC (Quit: Ping timeout (120 seconds))19:30
bjorkint0shSiliconBlue. that explains that.19:32
*** Guest7 <Guest7!~Guest7@p200300e7ff21f139d38f7196e792aeb9.dip0.t-ipconnect.de> has joined #yosys19:34
*** emeb_mac <[email protected]> has joined #yosys20:11
*** Guest7 <Guest7!~Guest7@p200300e7ff21f139d38f7196e792aeb9.dip0.t-ipconnect.de> has quit IRC (Quit: Client closed)20:57
*** nonchip <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)22:31
*** nonchip <[email protected]> has joined #yosys22:31
*** Guest92 <Guest92!~Guest92@2a02-ab04-02d2-4b00-ce8e-ebc6-0185-cc27.dynamic.v6.chello.sk> has joined #yosys22:46
*** Guest92 <Guest92!~Guest92@2a02-ab04-02d2-4b00-ce8e-ebc6-0185-cc27.dynamic.v6.chello.sk> has quit IRC (Client Quit)22:49

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