Introduction
SpinalHDL will check that in each io bundle there only in/out/inout signals.
Example
The following code :
class TopLevel extends Component {
val io = new Bundle {
val a = UInt(8 bits)
}
}
will throw :
IO BUNDLE ERROR : A direction less (toplevel/io_a : UInt[8 bits]) signal was defined into toplevel component's io bundle
***
Source file location of the toplevel/io_a definition via the stack trace
***
A fix could be :
class TopLevel extends Component {
val io = new Bundle {
val a = in UInt(8 bits)
}
}
But if for meta hardware description reasons you realy want io.a to be direction less, you can do :
class TopLevel extends Component {
val io = new Bundle {
val a = UInt(8 bits)
}
a.allowDirectionLessIo
}