设计错误

SpinalHDL编译器将对您的设计执行许多检查,以确保生成的 VHDL/Verilog 对于仿真和综合来说是安全的。总体来说应该不可能生成有错误的VHDL/Verilog设计。以下是SpinalHDL检查的非详尽列表:

  • 赋值覆盖(Assignment overlapping)

  • 跨时钟域(Clock crossing)

  • 层次违例(Hierarchy violation)

  • 组合逻辑环(Combinatorial loops)

  • 锁存器(Latches)

  • 无驱动信号(Undriven signals)

  • 位宽不匹配(Width mismatch)

  • 无法访问的switch语句(Unreachable switch statements)

在每个SpinalHDL错误报告中,您都会找到堆栈跟踪,这对于准确找出设计错误在哪里非常有用。乍一看,这些设计检查可能有点矫枉过正,但一旦您开始远离传统的硬件描述方式,它们就变得非常宝贵。