Sunday, 2020-08-30

*** tpb has joined #yosys00:00
*** kristianpaul has quit IRC00:02
*** _whitelogger has quit IRC00:06
*** kristianpaul has joined #yosys00:06
*** _whitelogger has joined #yosys00:08
*** az0re has joined #yosys00:27
*** kristianpaul has quit IRC00:36
*** kristianpaul has joined #yosys00:38
*** cr1901_modern has quit IRC02:29
*** guytout37 has quit IRC02:53
*** emeb_mac has quit IRC03:31
*** emeb_mac has joined #yosys03:33
*** Degi has quit IRC03:47
*** Degi has joined #yosys03:48
*** citypw has quit IRC05:23
*** sth0R has joined #yosys05:24
*** sth0R has quit IRC05:26
*** citypw has joined #yosys05:27
*** emeb_mac has quit IRC06:55
*** Asu has joined #yosys07:10
*** cr1901_modern has joined #yosys07:25
*** citypw has quit IRC07:57
*** Asuu has joined #yosys08:46
*** Asu has quit IRC08:46
*** Asu has joined #yosys09:01
*** Asuu has quit IRC09:04
*** citypw has joined #yosys09:11
*** X-Scale` has joined #yosys09:30
*** X-Scale has quit IRC09:32
*** X-Scale` is now known as X-Scale09:32
*** kristianpaul has quit IRC09:43
*** kristianpaul has joined #yosys09:45
*** bzztploink has quit IRC10:03
*** sorear has quit IRC10:12
*** thoughtpolice has quit IRC10:12
*** tannewt has quit IRC10:12
*** ovf has quit IRC10:12
*** pointfree has quit IRC10:12
*** rjeli has quit IRC10:12
*** ric96 has quit IRC10:12
*** lukego has quit IRC10:12
*** svenn has quit IRC10:12
*** tannewt has joined #yosys10:13
*** sorear has joined #yosys10:13
*** thoughtpolice has joined #yosys10:13
*** lukego has joined #yosys10:13
*** svenn has joined #yosys10:13
*** bzztploink has joined #yosys10:14
*** ric96 has joined #yosys10:14
*** ovf has joined #yosys10:14
*** rjeli has joined #yosys10:17
*** Xark has quit IRC10:18
*** Xark has joined #yosys10:21
*** xtro has quit IRC10:34
*** pointfree has joined #yosys10:58
*** nengel has quit IRC11:00
*** nengel has joined #yosys11:00
*** tmiw has quit IRC11:13
*** tmiw has joined #yosys11:13
*** pointfree has quit IRC11:40
*** FL4SHK has quit IRC11:42
*** pointfree has joined #yosys11:44
*** FL4SHK has joined #yosys11:45
*** futarisIRCcloud has quit IRC11:51
*** pointfree has quit IRC12:38
*** pointfree has joined #yosys12:41
*** cr1901_modern has quit IRC12:50
*** cr1901_modern has joined #yosys12:56
*** klotz has joined #yosys12:58
*** cr1901_modern has quit IRC13:13
*** klotz has quit IRC13:13
*** cr1901_modern has joined #yosys13:14
*** Asu has quit IRC13:15
*** rjeli has quit IRC13:32
*** rjeli has joined #yosys13:32
*** thardin has quit IRC13:36
*** Asu has joined #yosys13:54
*** Asu has quit IRC14:01
*** Asu has joined #yosys14:01
*** fevv8[m] has joined #yosys14:40
*** emeb has joined #yosys14:54
*** gmc has joined #yosys15:04
*** cr1901_modern has quit IRC15:16
*** cr1901_modern has joined #yosys15:19
*** kristianpaul has quit IRC15:31
*** kristianpaul has joined #yosys15:31
*** Asu has quit IRC15:34
*** Asu has joined #yosys15:44
*** citypw has quit IRC16:04
*** emeb has quit IRC16:51
*** emeb has joined #yosys16:56
*** xtro has joined #yosys17:01
*** emeb_mac has joined #yosys18:09
*** strobokopp has joined #yosys18:19
*** cr1901_modern has quit IRC19:02
*** cr1901_modern has joined #yosys19:04
*** DaKnig has quit IRC19:22
*** DaKnig has joined #yosys19:24
*** oldtopman has joined #yosys19:34
*** DaKnig has quit IRC19:48
*** DaKnig has joined #yosys20:18
*** cr1901_modern has quit IRC20:35
*** cr1901_modern has joined #yosys20:55
*** N2TOH has joined #yosys20:55
*** N2TOH_ has quit IRC20:55
*** Asu has quit IRC20:56
*** N2TOH_ has joined #yosys21:08
*** N2TOH has quit IRC21:12
*** ross_s has joined #yosys21:50
ross_sWas debugging a slow path the other day, and noticed that the output json from yosys tracks (at least some amount) of source information for each net - what do people think of using this info to give some pointers in the nextpnr critical path report output?21:52
ross_sProof of concept: https://github.com/YosysHQ/nextpnr/pull/49421:52
tpbTitle: Add option to print critical path source code by rschlaikjer · Pull Request #494 · YosysHQ/nextpnr · GitHub (at github.com)21:52
ross_sIs this something that people would find useful? Or is there a better way of identifying which part of a potentially complex design is bogging down the clock?21:52
DaKnigthat would be amazing if this works. what if the path was heavily modified by the optimizers though?21:54
DaKnigif there would be a version that's a bit less verbose that would help too...21:55
ross_sI'm not super knowledgable about the internal workings of yosys, but my guess is that the nets with no 'src' attribute are ones that have been mangled by the optimizer? Depending on the design I see more or less of those21:55
whitequarkross_s: i think this is a valuable contribution, personally21:55
whitequarkwhat DaKnig says is correct to some degree, optimizers can and will mangle your code21:56
ross_syeah, the verbosity is something I might tweak... having it be stateful and not print source lines that have already been printed is probably an easy optimization21:56
whitequark... some optimizers! for example, my flowmap LUT mapper preserves all debug information21:56
whitequarkI second the verbosity feedback21:56
whitequarkthat'd be the first thing I'd suggest21:56
DaKnigI think having different verbosity levels would help too21:57
DaKnigsometimes you really care about all the different layers; sometimes just having a pointing finger is enough.21:57
ross_syeah, I'm just wary of adding too many tunables... perhaps by default it just prints the file stack (or only the deepest file in the stack, though this has a risk of only printing stuff from e.g. arith_map), and there is another option for source printing?21:59
whitequarkif i remember correctly how yosys manages src attributes, that's not a stack21:59
whitequarkit's a set21:59
whitequarkso you definitely should print all files, logically speaking22:00
ross_sah interesting, I guess it's just chance that it seems to always be in order22:00
DaKniglook, other things that output large quantities of info have this --verbose option.22:00
whitequarkyeah i think it's implemented as a vector22:00
whitequarktbh, i think it probably shouldn't print the arith_map etc stuff by default at all22:00
whitequarkbut this will need fixes on yosys side22:00
ross_shmm, yeah there's no flags in the json currently for 'real source' vs 'toolchain source'22:01
whitequarksomething like -fdebug-prefix-map22:01
whitequarkit's not clear to me what's the best path forward22:01
whitequarki might raise that on the next yosys meeting, assuming i don't forget22:01
whitequarkseems we can work something out22:01
whitequarki'm super excited about all and any improvements in usability/debuggability22:02
whitequarkthis one has been on my todo list for a while. i mostly abandoned it because abc used to shred all debug info anyway22:02
whitequarkbut i think abc got better (&dress or something?) so we can do it now \o/22:02
whitequarkross_s: actually, there's a related issue i was going to ask about22:03
whitequarkyou have relative paths there. how's that works?22:03
ross_sthe current implementation is pretty dumb - it just attempts to open whatever path is in the json, and if it fails just doesn't print the source22:04
ross_sso in this case, it's relative, but since the files are in that folder, it's fine22:04
whitequarkright we gotta do something about that, too22:04
ross_swell, I thought about that but it's tricky where to draw the line - the verilog sources aren't really necessary for nextpnr, you could just give it a json file in a vacuum and even if it had absolute paths to files that don't exist it can't print them22:05
ross_sunless you mean embedding more data in the yosys json22:05
whitequarkyeah, i'm thinking yosys side22:05
whitequarkit's tricky, because i can see both absolute and relative paths being valuable22:06
whitequarkfor example, suppose you build through ssh on a different machine (nmigen supports that as a first-class build strategy, for example)22:06
whitequarkthen you *really* want relative paths22:06
whitequarki think what you're doing on nextpnr side wrt relative paths is actually just fine for the moment22:08
whitequarkwhatever fix we end up applying will be on the yosys side22:08
ross_syeah, that will definitely be more robust. If you pass absolute paths to yosys that's what shows up in the json too, so if the build system for whatever project is set up like that it should work even if you're running nextpnr from some other working directory22:09
ross_sIt sounds like there's some discussion to be had with more yosys people - shall I hold off on changes til there's a good consensus on what exactly we want out of a feature like this? Or are there some verbosity flags we think would be worth having now?22:10
whitequarkross_s: nope, i think your nextpnr changes should not be blocked on these concerns22:12
whitequarkfor verbosity, what if we print backtraces only as it is, and backtraces with context with --verbose?22:13
whitequarktbh, i'm not that convinced about the utility of context in this case22:13
whitequarkit's not a diagnostic after all22:13
ross_syeah, filename:line is really enough for a pointer22:13
whitequarkyou're not going to be able to spot the issue from those 2 lines most likely22:13
whitequarkso i think if you drop all the stuff that reads from files it'd be a very easy merge22:14
ross_scool, can do22:14
whitequarkwe can always add it later22:14
whitequarkalso22:14
whitequarkwhy not just print it unconditionally?22:14
whitequarkor at least on-by-default22:15
ross_sIf we've shortened it to just the filenames I think that's fine with me22:15
whitequarki'd say print unconditionally though i'm not opposed to a flag22:15
ross_sAlright, pr should be updated22:21
whitequarkross_s: lgtm, i'd rather get a second opinion before merging though22:59
*** emeb has quit IRC23:00
ross_ssounds good. thanks for taking the time!23:00
*** lf has quit IRC23:49
*** lf has joined #yosys23:49

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