*** tpb has joined #yosys | 00:00 | |
*** kristianpaul has quit IRC | 00:02 | |
*** _whitelogger has quit IRC | 00:06 | |
*** kristianpaul has joined #yosys | 00:06 | |
*** _whitelogger has joined #yosys | 00:08 | |
*** az0re has joined #yosys | 00:27 | |
*** kristianpaul has quit IRC | 00:36 | |
*** kristianpaul has joined #yosys | 00:38 | |
*** cr1901_modern has quit IRC | 02:29 | |
*** guytout37 has quit IRC | 02:53 | |
*** emeb_mac has quit IRC | 03:31 | |
*** emeb_mac has joined #yosys | 03:33 | |
*** Degi has quit IRC | 03:47 | |
*** Degi has joined #yosys | 03:48 | |
*** citypw has quit IRC | 05:23 | |
*** sth0R has joined #yosys | 05:24 | |
*** sth0R has quit IRC | 05:26 | |
*** citypw has joined #yosys | 05:27 | |
*** emeb_mac has quit IRC | 06:55 | |
*** Asu has joined #yosys | 07:10 | |
*** cr1901_modern has joined #yosys | 07:25 | |
*** citypw has quit IRC | 07:57 | |
*** Asuu has joined #yosys | 08:46 | |
*** Asu has quit IRC | 08:46 | |
*** Asu has joined #yosys | 09:01 | |
*** Asuu has quit IRC | 09:04 | |
*** citypw has joined #yosys | 09:11 | |
*** X-Scale` has joined #yosys | 09:30 | |
*** X-Scale has quit IRC | 09:32 | |
*** X-Scale` is now known as X-Scale | 09:32 | |
*** kristianpaul has quit IRC | 09:43 | |
*** kristianpaul has joined #yosys | 09:45 | |
*** bzztploink has quit IRC | 10:03 | |
*** sorear has quit IRC | 10:12 | |
*** thoughtpolice has quit IRC | 10:12 | |
*** tannewt has quit IRC | 10:12 | |
*** ovf has quit IRC | 10:12 | |
*** pointfree has quit IRC | 10:12 | |
*** rjeli has quit IRC | 10:12 | |
*** ric96 has quit IRC | 10:12 | |
*** lukego has quit IRC | 10:12 | |
*** svenn has quit IRC | 10:12 | |
*** tannewt has joined #yosys | 10:13 | |
*** sorear has joined #yosys | 10:13 | |
*** thoughtpolice has joined #yosys | 10:13 | |
*** lukego has joined #yosys | 10:13 | |
*** svenn has joined #yosys | 10:13 | |
*** bzztploink has joined #yosys | 10:14 | |
*** ric96 has joined #yosys | 10:14 | |
*** ovf has joined #yosys | 10:14 | |
*** rjeli has joined #yosys | 10:17 | |
*** Xark has quit IRC | 10:18 | |
*** Xark has joined #yosys | 10:21 | |
*** xtro has quit IRC | 10:34 | |
*** pointfree has joined #yosys | 10:58 | |
*** nengel has quit IRC | 11:00 | |
*** nengel has joined #yosys | 11:00 | |
*** tmiw has quit IRC | 11:13 | |
*** tmiw has joined #yosys | 11:13 | |
*** pointfree has quit IRC | 11:40 | |
*** FL4SHK has quit IRC | 11:42 | |
*** pointfree has joined #yosys | 11:44 | |
*** FL4SHK has joined #yosys | 11:45 | |
*** futarisIRCcloud has quit IRC | 11:51 | |
*** pointfree has quit IRC | 12:38 | |
*** pointfree has joined #yosys | 12:41 | |
*** cr1901_modern has quit IRC | 12:50 | |
*** cr1901_modern has joined #yosys | 12:56 | |
*** klotz has joined #yosys | 12:58 | |
*** cr1901_modern has quit IRC | 13:13 | |
*** klotz has quit IRC | 13:13 | |
*** cr1901_modern has joined #yosys | 13:14 | |
*** Asu has quit IRC | 13:15 | |
*** rjeli has quit IRC | 13:32 | |
*** rjeli has joined #yosys | 13:32 | |
*** thardin has quit IRC | 13:36 | |
*** Asu has joined #yosys | 13:54 | |
*** Asu has quit IRC | 14:01 | |
*** Asu has joined #yosys | 14:01 | |
*** fevv8[m] has joined #yosys | 14:40 | |
*** emeb has joined #yosys | 14:54 | |
*** gmc has joined #yosys | 15:04 | |
*** cr1901_modern has quit IRC | 15:16 | |
*** cr1901_modern has joined #yosys | 15:19 | |
*** kristianpaul has quit IRC | 15:31 | |
*** kristianpaul has joined #yosys | 15:31 | |
*** Asu has quit IRC | 15:34 | |
*** Asu has joined #yosys | 15:44 | |
*** citypw has quit IRC | 16:04 | |
*** emeb has quit IRC | 16:51 | |
*** emeb has joined #yosys | 16:56 | |
*** xtro has joined #yosys | 17:01 | |
*** emeb_mac has joined #yosys | 18:09 | |
*** strobokopp has joined #yosys | 18:19 | |
*** cr1901_modern has quit IRC | 19:02 | |
*** cr1901_modern has joined #yosys | 19:04 | |
*** DaKnig has quit IRC | 19:22 | |
*** DaKnig has joined #yosys | 19:24 | |
*** oldtopman has joined #yosys | 19:34 | |
*** DaKnig has quit IRC | 19:48 | |
*** DaKnig has joined #yosys | 20:18 | |
*** cr1901_modern has quit IRC | 20:35 | |
*** cr1901_modern has joined #yosys | 20:55 | |
*** N2TOH has joined #yosys | 20:55 | |
*** N2TOH_ has quit IRC | 20:55 | |
*** Asu has quit IRC | 20:56 | |
*** N2TOH_ has joined #yosys | 21:08 | |
*** N2TOH has quit IRC | 21:12 | |
*** ross_s has joined #yosys | 21:50 | |
ross_s | Was 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_s | Proof of concept: https://github.com/YosysHQ/nextpnr/pull/494 | 21:52 |
tpb | Title: Add option to print critical path source code by rschlaikjer · Pull Request #494 · YosysHQ/nextpnr · GitHub (at github.com) | 21:52 |
ross_s | Is 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 |
DaKnig | that would be amazing if this works. what if the path was heavily modified by the optimizers though? | 21:54 |
DaKnig | if there would be a version that's a bit less verbose that would help too... | 21:55 |
ross_s | I'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 those | 21:55 |
whitequark | ross_s: i think this is a valuable contribution, personally | 21:55 |
whitequark | what DaKnig says is correct to some degree, optimizers can and will mangle your code | 21:56 |
ross_s | yeah, 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 optimization | 21:56 |
whitequark | ... some optimizers! for example, my flowmap LUT mapper preserves all debug information | 21:56 |
whitequark | I second the verbosity feedback | 21:56 |
whitequark | that'd be the first thing I'd suggest | 21:56 |
DaKnig | I think having different verbosity levels would help too | 21:57 |
DaKnig | sometimes you really care about all the different layers; sometimes just having a pointing finger is enough. | 21:57 |
ross_s | yeah, 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 |
whitequark | if i remember correctly how yosys manages src attributes, that's not a stack | 21:59 |
whitequark | it's a set | 21:59 |
whitequark | so you definitely should print all files, logically speaking | 22:00 |
ross_s | ah interesting, I guess it's just chance that it seems to always be in order | 22:00 |
DaKnig | look, other things that output large quantities of info have this --verbose option. | 22:00 |
whitequark | yeah i think it's implemented as a vector | 22:00 |
whitequark | tbh, i think it probably shouldn't print the arith_map etc stuff by default at all | 22:00 |
whitequark | but this will need fixes on yosys side | 22:00 |
ross_s | hmm, yeah there's no flags in the json currently for 'real source' vs 'toolchain source' | 22:01 |
whitequark | something like -fdebug-prefix-map | 22:01 |
whitequark | it's not clear to me what's the best path forward | 22:01 |
whitequark | i might raise that on the next yosys meeting, assuming i don't forget | 22:01 |
whitequark | seems we can work something out | 22:01 |
whitequark | i'm super excited about all and any improvements in usability/debuggability | 22:02 |
whitequark | this one has been on my todo list for a while. i mostly abandoned it because abc used to shred all debug info anyway | 22:02 |
whitequark | but i think abc got better (&dress or something?) so we can do it now \o/ | 22:02 |
whitequark | ross_s: actually, there's a related issue i was going to ask about | 22:03 |
whitequark | you have relative paths there. how's that works? | 22:03 |
ross_s | the 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 source | 22:04 |
ross_s | so in this case, it's relative, but since the files are in that folder, it's fine | 22:04 |
whitequark | right we gotta do something about that, too | 22:04 |
ross_s | well, 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 them | 22:05 |
ross_s | unless you mean embedding more data in the yosys json | 22:05 |
whitequark | yeah, i'm thinking yosys side | 22:05 |
whitequark | it's tricky, because i can see both absolute and relative paths being valuable | 22:06 |
whitequark | for example, suppose you build through ssh on a different machine (nmigen supports that as a first-class build strategy, for example) | 22:06 |
whitequark | then you *really* want relative paths | 22:06 |
whitequark | i think what you're doing on nextpnr side wrt relative paths is actually just fine for the moment | 22:08 |
whitequark | whatever fix we end up applying will be on the yosys side | 22:08 |
ross_s | yeah, 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 directory | 22:09 |
ross_s | It 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 |
whitequark | ross_s: nope, i think your nextpnr changes should not be blocked on these concerns | 22:12 |
whitequark | for verbosity, what if we print backtraces only as it is, and backtraces with context with --verbose? | 22:13 |
whitequark | tbh, i'm not that convinced about the utility of context in this case | 22:13 |
whitequark | it's not a diagnostic after all | 22:13 |
ross_s | yeah, filename:line is really enough for a pointer | 22:13 |
whitequark | you're not going to be able to spot the issue from those 2 lines most likely | 22:13 |
whitequark | so i think if you drop all the stuff that reads from files it'd be a very easy merge | 22:14 |
ross_s | cool, can do | 22:14 |
whitequark | we can always add it later | 22:14 |
whitequark | also | 22:14 |
whitequark | why not just print it unconditionally? | 22:14 |
whitequark | or at least on-by-default | 22:15 |
ross_s | If we've shortened it to just the filenames I think that's fine with me | 22:15 |
whitequark | i'd say print unconditionally though i'm not opposed to a flag | 22:15 |
ross_s | Alright, pr should be updated | 22:21 |
whitequark | ross_s: lgtm, i'd rather get a second opinion before merging though | 22:59 |
*** emeb has quit IRC | 23:00 | |
ross_s | sounds good. thanks for taking the time! | 23:00 |
*** lf has quit IRC | 23:49 | |
*** lf has joined #yosys | 23:49 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!