Coder Social home page Coder Social logo

scy's People

Contributors

clairexen avatar krystaldelusion avatar mmicko avatar nakengelhardt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mmicko

scy's Issues

Improved error reporting for sby FAIL status (i.e. unreached cover statements)

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.)

Improved error reporting when a cover property name isn't actually present in the design

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$ 

Disallow mixing tabs and spaces for the sequence block

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.