理解 verilog 中的有限状态机

understand Finite state machine in a verilog

我正在使用 Artix 7 FPGA 并在 Xilinx ISE 中编写我的代码。

我已经有了我正在进行的项目的 Verilog 代码。不幸的是,我无法理解这个模块 - 完整的代码发布在这里。

我的目标是找出这6种状态在FSM中的定义位置:Reset (000), Wait for password (010)比较(100)登录成功(110)登录失败(111) , 并且执行操作(101) 并将编码更改为 4 位

我不明白图像中的 FSM 是如何出现在代码中的。

有好心人帮忙吗?我能得到这里正在做什么的描述吗?

posted 代码不是 Verilog RTL(寄存器传输级)源代码。相反,它是一个 post 综合 Verilog 网表。它包含供应商原语、查找表(LUTS、缓冲区等)。无法理解气泡图与链接到的代码中的 post 综合网表之间的相关性,其机器由 FPGA 构建工具(在本例中为 ISE)生成。

要关联气泡图和代码,找到用于创建网表的相应 Verilog 源代码。

您或许可以像这样找到源代码: 如果你在 Linux,cd 到代码所在的位置附近,然后 运行

find . -iname '*.*v' | xargs grep 'Compare'

这是 Verilog RTL 状态机的示例:
https://www.asic-world.com/tidbits/verilog_fsm.html
状态变量和相关逻辑表示为参数名称 (Verilog) 或枚举(在 SystemVerilog 中)。可以使用文本编辑器搜索州名称。