yosyshq / scy Goto Github PK
View Code? Open in Web Editor NEWSequence of Covers with Yosys
License: Other
Sequence of Covers with Yosys
License: Other
Right now it looks like this:
SCY 16:27:48 cover r1c4: generating bigtrace/L026_025_r1c4.sby
SCY 16:27:48 cover r1c4: starting process (cd bigtrace && sby -f L026_025_r1c4.sby)
SCY 16:27:55 cover r1c4: finished (returncode=2)
SCY 16:27:55 cover r1c4: ERROR: L026_025_r1c4.sby produced an error, see bigtrace/L026_025_r1c4/logfile.txt for more information
I think it would be good to distinguish between ERROR and FAIL when reporting/handling SBY errors.
Also, I think displaying the SBY "summary" and final status line from that logfile would help usability a lot. In the case I'm looking at that would be:
SBY 16:27:55 [L026_025_r1c4] summary: Elapsed clock time [H:MM:SS (secs)]: 0:00:06 (6)
SBY 16:27:55 [L026_025_r1c4] summary: Elapsed process time [H:MM:SS (secs)]: 0:00:06 (6)
SBY 16:27:55 [L026_025_r1c4] summary: engine_0 (smtbmc boolector) returned FAIL
SBY 16:27:55 [L026_025_r1c4] summary: engine_0 did not produce any traces
SBY 16:27:55 [L026_025_r1c4] summary: unreached cover statements:
SBY 16:27:55 [L026_025_r1c4] summary: picorv32.invariants_inst.r1c4 at bind.sv:50
SBY 16:27:55 [L026_025_r1c4] DONE (FAIL, rc=2)
In addition to those improvements, I think it would be extremely helpful if the tool would produce the assembled trace up to the last succeeding cover statement, in case a successive cover statement fails. (Right now it seems I'd need to insert "commit" at the right place, remove the failing part, and then re-run.)
In this case the missing property is "r0c7" (!) ;)
SCY 16:13:52 cover r0c6: starting process (cd bigtrace && sby -f L022_021_r0c6.sby)
SCY 16:13:58 cover r0c6: finished (returncode=0)
SCY 16:13:58 cover r0c7: generating bigtrace/L023_022_r0c7.sby
SCY 16:13:58 cover r0c7: starting process (cd bigtrace && sby -f L023_022_r0c7.sby)
SCY 16:13:59 cover r0c7: finished (returncode=0)
SCY 16:13:59 cover r0c8: generating bigtrace/L024_023_r0c8.sby
SCY 16:13:59 cover r0c8: starting process (cd bigtrace && sby -f L024_023_r0c8.sby)
SCY 16:13:59 cover r0c8: finished (returncode=1)
SCY 16:13:59 cover r0c8: ERROR: L024_023_r0c8.sby produced an error, see bigtrace/L024_023_r0c8/logfile.txt for more information
claire@lamarr:~/Work/sey/prototype$ cat bigtrace/L024_023_r0c8/logfile.txt
SBY 16:13:59 [L024_023_r0c8] Removing directory '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8'.
SBY 16:13:59 [L024_023_r0c8] Copy '/home/claire/Work/sey/prototype/bigtrace/common/model/design_prep.il' to '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8/src/common_design.il'.
SBY 16:13:59 [L024_023_r0c8] Copy '/home/claire/Work/sey/prototype/bigtrace/L023_022_r0c7/src/trace017.yw' to '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8/src/trace017.yw'.
SBY 16:13:59 [L024_023_r0c8] Copy '/home/claire/Work/sey/prototype/bigtrace/L023_022_r0c7/src/trace018.yw' to '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8/src/trace018.yw'.
SBY 16:13:59 [L024_023_r0c8] Copy '/home/claire/Work/sey/prototype/bigtrace/L023_022_r0c7/src/trace019.yw' to '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8/src/trace019.yw'.
SBY 16:13:59 [L024_023_r0c8] Copy '/home/claire/Work/sey/prototype/bigtrace/L023_022_r0c7/src/trace020.yw' to '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8/src/trace020.yw'.
SBY 16:13:59 [L024_023_r0c8] Copy '/home/claire/Work/sey/prototype/bigtrace/L023_022_r0c7/src/trace021.yw' to '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8/src/trace021.yw'.
SBY 16:13:59 [L024_023_r0c8] Copy '/home/claire/Work/sey/prototype/bigtrace/L023_022_r0c7/src/trace022.yw' to '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8/src/trace022.yw'.
SBY 16:13:59 [L024_023_r0c8] Copy '/home/claire/Work/sey/prototype/bigtrace/L023_022_r0c7/engine_0/trace0.yw' to '/home/claire/Work/sey/prototype/bigtrace/L024_023_r0c8/src/trace023.yw'.
claire@lamarr:~/Work/sey/prototype$
I was staring at this
[sequence]
cover r0c1:
cover r0c2:
cover r0c3:
cover r0c4:
cover r0c5:
cover r0c6:
cover r1c1:
cover r1c2:
cover r1c3:
trace sofar
and didn't understand why I was getting a trace for r0c2 for nearly a whole minute ๐คฃ
instead of just comparing the length of the indent, maybe let's also see if the smaller is actually a prefix of the larger, and call it a syntax error if it doesn't?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.