Tuesday, 2023-05-16

*** tpb <[email protected]> has joined #yosys00:00
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #yosys06:06
*** cr1901 <cr1901!~cr1901@2601:8d:8600:911:4086:1792:10fb:d16> has quit IRC (Quit: Leaving)06:46
*** cr1901 <cr1901!~cr1901@2601:8d:8600:911:6198:7d26:5f37:f25a> has joined #yosys06:48
*** anticw <[email protected]> has quit IRC (Remote host closed the connection)07:38
*** anticw <[email protected]> has joined #yosys07:40
*** |{ame <|{ame!~|{[email protected]> has joined #yosys08:23
|{amehello, sorry for the dumb question. I did read the manual, but besides -flatten, I didn't find anything related to multiple submodules. How should I compile a project with submodules?08:24
gatecat|{ame: any more details on what you need to do? most of the synthesis flows should deal with them already, usually by flattening 08:53
|{amegatecat: I think I found it.09:55
|{ameI had a file main.v09:56
|{amewhich inside instantiates sub sub(....)09:56
|{ameand sub is declared in sub.v09:56
|{ameMy Makefile was09:56
|{ame%.json: main.v09:56
|{ame ghdl -a UART_TX.vhd09:56
|{ame ghdl -a UART_RX.vhd09:56
|{ame yosys -p "plugin -i ghdl; ghdl UART_TX; ghdl UART_RX;  synth_intel_alm -top spiga -nodsp -nobram; write_json $@" $^09:56
|{ameand simply changing it to09:56
|{ame%.json: *.v09:56
|{ameit worked09:56
|{ameI do not know if this is the proper way to do it though09:56
xiretza[m]it's not, the make target should depend on the files that are actually required, so main.v sub.v in this case10:22
*** tlwoerner <[email protected]> has joined #yosys10:42
*** |{ame <|{ame!~|{[email protected]> has quit IRC (Quit: Client closed)11:39
*** krispaul <[email protected]> has quit IRC (Ping timeout: 268 seconds)14:34
*** krispaul <[email protected]> has joined #yosys14:39
*** Guest66 <[email protected]> has joined #yosys14:44
Guest66hello! The following error appeared while using yosys. How to solve it?14:46
Guest66ERROR: Value conversion failed: `1    'd0'14:46
Guest66thank you14:46
Guest66when read_verilog14:52
jixGuest66: can you share more of the input that triggers this error?14:55
Guest66https://postechackr-my.sharepoint.com/:u:/g/personal/gyu511_postech_ac_kr/Ebuj-uSwauFGrWY9JGkStZoBWJwMBU63kWz56tjyjgtxIw?e=nlCYoy14:58
Guest66here14:58
tpbTitle: Sign in to your account (at postechackr-my.sharepoint.com)14:58
Guest66and when I ran other verilog file, error has occurred. what is mean?? ERROR: syntax error, unexpected TOK_ID15:01
*** so-offishul <[email protected]> has joined #yosys15:02
jixGuest66: which yosys version are you using?15:03
Guest66Yosys 0.9 (git sha1 UNKNOWN, clang 10.0.0-4ubuntu1 -fPIC -Os)15:03
jixthat is an ancient version, the link you shared loads without errors in a recent version15:04
Guest66thx how to upgrade?15:05
Guest66and I have a separate question. Does yosys not consider SDC files?15:06
jixhttps://github.com/YosysHQ/oss-cad-suite-build#installation is the easiest way to stay up to date15:06
Guest66really thank you15:06
Guest66have a nice day15:06
*** so-offish <so-offish!~so-offish@2610:148:610:2b11::15> has quit IRC (Ping timeout: 250 seconds)15:06
*** so-offishul <[email protected]> has quit IRC (Quit: Leaving)15:18
*** so-offish <so-offish!~so-offish@2610:148:610:2b11::1b> has joined #yosys15:30
*** Guest66 <[email protected]> has quit IRC (Quit: Client closed)15:48
loftyAww, I missed a synth_intel_alm user in the wild16:13
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 240 seconds)16:26
*** FabM <FabM!~FabM@2a03:d604:103:600:2e60:8c7c:e8fb:7990> has joined #yosys16:26
*** ZipCPU_ <[email protected]> has joined #yosys17:02
*** ZipCPU <[email protected]> has quit IRC (Ping timeout: 260 seconds)17:02
*** ZipCPU_ is now known as ZipCPU17:02
*** ZipCPU <[email protected]> has quit IRC (Ping timeout: 240 seconds)17:22
*** nak <nak!~nak@yosys/nak> has quit IRC (Ping timeout: 256 seconds)17:32
so-offishlofty: What's synth_intel_alm?17:47
so-offishlofty: Cyclone V synth (sorry just Googled it)17:47
loftylofty: written by yours truly17:53
loftyso-offish: ^17:53
so-offishlofty: Very cool! If you ever want to talk about it I'd be interested.18:40
loftyso-offish: what would you like to know?18:59
so-offishlofty: Can I ask where you started? I mean, was this a techlib for Yosys as a first step, or was there some other first step in the process? I'm trying to think about like "how I would start" if given the same project, and I'm not sure I'd know where to begin19:07
loftyso-offish: the first step is mostly to look at the vendor primitives and what can be implemented in hardware19:08
loftyThen one can implement LUTs and DFFs19:10
so-offishlofty: That would be from a project  similar to prjxray, but for Intel parts, correct?19:11
loftyActually not really19:11
lofty(you're referring to project Mistral, by the way :p)19:11
so-offishlofty: (Thank you; I'm getting up to speed on all the various projects, appreciate the correction)19:12
loftyAnyway19:12
loftyThe vendor primitive library gives a few hints, but one can also "just try it and see"19:12
loftyOne particularly fun thing to learn is that the flops on a Cyclone V initialise to zero only19:13
loftyWhich means you can't have a flop that initialises to zero with an async set19:14
so-offishlofty: Just ran into something similar on the ECP5! I thought I was in crazy town.19:14
loftyso-offish: hmm, on ECP5 it's a boy different19:15
lofty*bit19:15
loftyOn ECP5 the initialisation value and the reset value must agree; that is, a flop that initialises to zero must have an async clear19:16
so-offishLet me see, what was I trying to do - I was trying to initialize a FF to a certain value post configuration and found that wasn't supported (or at least I thought) - in this case, it's specific to being unable to async set?19:16
so-offishAhhh19:17
loftyThis is subtly different to the Cyclone V, because the ECP5 can model initialisation to 1 just fine19:17
loftyBut for Cyclone V you emulate this using inverters that Yosys silently adds for you19:17
loftyThey have the same overall functionality though 19:18
loftyAnyway19:18
so-offishThe ECP5 can do that? Hm, I thought I had a relatively simple test case where I couldn't detect any difference in the Yosys outputs...19:18
*** nak <nak!~nak@yosys/nak> has joined #yosys19:18
so-offishMaybe I should go re-run my test case before I speak out of turn19:18
so-offishhaha19:18
loftySure it can do that19:19
so-offishlofty: Ah; interesting that Yosys achieves the same thing with injected inverters. Pretty smart.19:19
loftyNow, I set out to do something that is equal parts brave and dumb 19:20
loftyI use ABC9 in synth_intel_alm19:20
loftyDespite it being...quite flaky19:20
so-offishWell...it was an academic showpiece, right?19:22
loftyAnd to be fair, it's a pretty effective showpiece 19:23
loftyBut one does run into a lot of ABC9 bugs 19:23
so-offishOh extremely; it wasn't intended as a knock19:23
loftyNow, the relevant information, well, fell off the back of a truck19:26
so-offishThe best place to get hard to discover information is from the back of trucks. This is known.19:28
loftyIt also helps if your toolchain has a secret debug option to deserialise your databases into plain text and you left that on release19:32
loftyBut Altera wouldn't be stupid enough to do that 19:33
*** krispaul <[email protected]> has quit IRC (Ping timeout: 268 seconds)19:38
*** krispaul <[email protected]> has joined #yosys19:47
*** FabM <FabM!~FabM@armadeus/team/FabM> has quit IRC (Ping timeout: 264 seconds)19:51
Sarayanyou can't really insert an inverter when the ff is on the output of the adder though19:57
so-offishLOLOL20:01
*** so-offishul <so-offishul!~so-offish@2610:148:610:2b11::1b> has joined #yosys20:10
*** so-offish <so-offish!~so-offish@2610:148:610:2b11::1b> has quit IRC (Ping timeout: 256 seconds)20:12
*** so-offishul <so-offishul!~so-offish@2610:148:610:2b11::1b> has quit IRC (Quit: Leaving)21:12
*** nonchip <[email protected]> has quit IRC (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)22:12
*** nonchip <[email protected]> has joined #yosys22:12
*** so-offish <so-offish!~so-offish@2610:148:610:2b11::1b> has joined #yosys22:57

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