Re: ChiselTest annotations. Yep, you can tell `firtool` to ignore any
annotations it doesn't recognize with: `-disable-annotation-unknown`.
The motivation for this behavior is that if an annotation is truly
unprocessed, then it's safer to assume that this is going to result in
incorrect behavior than to assume everything is fine. If you know
certain annotations are safe to ignore, then go for it.
You may want to take a look at Fabian's new linear-temporal-logic
package for Chisel 6.0.0-M2+. This lets you directly encode and emit
SVA-style sequences. The above can be rewritten as something like:
```
//> using scala "2.13.10"
//> using lib "org.chipsalliance::chisel::6.0.0-M2"
//> using plugin "org.chipsalliance:::chisel-plugin::6.0.0-M2"
//> using options "-unchecked", "-deprecation",
"-language:reflectiveCalls", "-feature", "-Xcheckinit",
"-Ywarn-dead-code", "-Ywarn-unused", "-Ymacro-annotations"
import chisel3._
import chisel3.ltl.{AssertProperty, Delay, Sequence}
import chisel3.ltl.Sequence.BoolSequence
import circt.stage.ChiselStage
class Foo extends RawModule {
val a, b = IO(Input(Bool()))
AssertProperty(Sequence(Delay(), !a && b))
}
object Main extends App {
println(
ChiselStage.emitSystemVerilog(
new Foo,
firtoolOpts = Array("-strip-debug-info")
)
)
}
```
To produce:
```
module Foo(
input a,
b
);
assert property (##1 ~a & b);
endmodule
```
For the second error, do you have any more context for the error
message that you can provide? There should be an error message before
that is missing which may help figure out what's going on.
> --
> You received this message because you are subscribed to the Google Groups "chisel-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
chisel-users...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/chisel-users/52e5a3b0-caf2-4188-9d18-d2bdbf3a81b7n%40googlegroups.com.