It’s a song as old as time: if the tool takes too long to run, then run a less accurate version early on, and just use the accurate version at the end.
In other words, speed comes at the expense of accuracy.
So I have to say that I was a bit confused and suspicious when Atrenta claimed that their new Fast Lint didn’t sacrifice any accuracy. A conversation with their Mike Gianfagna cleared the picture up a bit.
You see, Atrenta says that they live and breathe by the accuracy of Spyglass. They say that their customers refer to designs being “Spyglass clean.” With that kind of equity in the brand, accuracy is probably the last thing they want to trade off. And you could practically hear them scrambling to explain when I suggested that they must be giving up accuracy.
So here’s the deal. They have their normal version of Spyglass that actually does synthesis under the hood in order to find things that the customer’s synthesis tool may not like. They refer to this as structural linting. Of course, synthesis takes time.
Then they released Advanced Lint, which adds formal proofs to the collection of things to be checked. This doesn’t increase the accuracy of things they were checking before; it adds a whole new list of things to check for. But formal analysis takes even more time.
And they started getting feedback that designers really couldn’t check their designs as often as they’d like because it just took too long.
So what they found was that they could take the 5000 or so rules that they have and structure them. There’s a first category that can be run quickly because they don’t need any synthesis. They grouped these together into Fast Lint. Then there’s the structural lint portion that does synthesis but not formal; and then there’s Advanced Lint that does the whole shebang.
Of course, they then adjusted their interface to reflect this new structure.
So Fast Lint is intended to be run each time the design is checked in. In fact, you can script things so that it’s automatically done at check-in, and check-in can be rejected if it fails. Structural Lint can be performed on a less frequent basis to give more of a thorough check. And Advanced Lint can be done, if at no other time, for sign-off. But probably before then: if you’re ready for sign-off, it better be clean.
So none of the tests lose accuracy; it’s just a matter of which tests you run when.
You can find more in their release…