跳转至

FAQ

环境与工程目录

Q:AI-Coder 插件在侧边栏找不到了 / 打开后空白怎么办?
A:Windows / Linux 按 Ctrl+Alt+B,Mac 按 Command+Option+B 快速唤醒。若仍空白,刷新网页并等待 1-2 分钟,让容器和 Vivado 后台进程加载完成。

Q:关闭页面重进后,AI 的对话历史不见了怎么办?
A:目前插件暂不支持会话持久化。建议提前把 AI-Coder 移动到右侧边栏;若会话丢失,可重新描述需求,或粘贴 prid 继续交互。

Q:重启容器后之前写的代码 / 工程不见了怎么办?
A:仅 ~/,即 /home/coder/ 目录下的文件会持久化存储。建议所有实验统一放在 ~/VivadoProjects/[实验名] 下,例如 ~/VivadoProjects/Lab5

Q:刷新页面后需要重新创建工程吗?
A:不需要。只要工程存放在持久化目录下,重新进入后打开对应实验文件夹,插件会自动打开已有工程。

Q:路径 / 文件名带中文或空格,编译报错怎么办?
A:请将工程目录、文件名、模块名改为英文、数字、下划线组合,避免中文、空格和特殊字符。

AI 生成代码

Q:为什么创建完工程后,AI 生成的文件找不到 / 插件识别不到工程?
A:创建完工程后,必须打开工程文件夹作为当前工作区。例如先在 ~/VivadoProjects 下创建 Lab5 工程,再通过 文件 -> 打开文件夹 选择 Lab5

Q:怎么让 AI 生成的代码更符合要求?
A:提需求时明确模块名、文件名、testbench 命名规则和测试用例。例如:用元件例化方式实现四位全加器,一位全加器模块名为 full_adder,顶层模块名为 Adder,testbench 文件名为 Adder_tb.sv,覆盖进位为 0、进位为 1、溢出等边界用例。

Q:可以手动修改 AI 生成的代码吗?
A:可以。AI 只是辅助工具,你可以根据设计需求任意修改代码,保存后重新执行仿真 / 综合即可。

Q:AI 回复了代码,但没有自动写入文件怎么办?
A:先确认已经打开实验文件夹作为工作区,且文件有写入权限。仍不成功时,可以手动复制 AI 输出代码,新建对应文件并保存。

仿真与波形

Q:testbench 命名符合要求,但还是识别不到怎么办?
A:检查两个条件:文件名符合 tb_*.v / *_tb.v / tb_*.sv / *_tb.sv;文件内模块名与文件名大小写一致。仍识别不到时,可使用“设置顶层”按钮,或执行:

set_property top Adder_tb [get_filesets sim_1]

Q:仿真报错 sim_1 top is empty 怎么办?
A:先检查 testbench 文件名和模块名是否符合规则;若符合仍报错,使用“设置顶层”按钮或执行上面的 Tcl 命令指定仿真顶层。

Q:仿真波形全是 X 或没有信号变化怎么办?
A:检查 testbench 是否初始化输入信号;确认仿真时间足够长;检查 RTL 是否有位宽不匹配、信号未赋值等逻辑错误。

Q:找不到仿真生成的 dump.vcd 文件怎么办?
A:仿真成功后,dump.vcd 通常生成在 lab5.sim/sim_1/behav/xsim/dump.vcd 下。若没有生成,说明仿真可能失败,请查看 AI-Coder 输出日志。

Q:怎么查看仿真波形?
A:打开 dump.vcd,点击 Netlist View,在 VaporView 左侧信号栏选中 A[3:0]F[3:0]Cout 等信号,拖拽到波形区即可。

综合、实现与 bitstream

Q:点击综合 / 实现后卡住不动怎么办?
A:综合通常耗时 1-3 分钟,实现通常耗时 2-5 分钟。若超过 10 分钟仍无输出,可能是 Vivado 出错,可刷新页面后重试。

Q:生成 bitstream 时报 NSTD-1 / UCIO-1 怎么办?
A:这是约束不匹配导致的。请执行 get_ports * 查看顶层端口,确认 XDC 中 get_ports 后的端口名与顶层端口完全一致,并确认使用的是实验文档中的官方约束。

Q:生成完 bitstream 找不到 .bit 文件怎么办?
A:生成的 bit 文件默认在 ./Lab5.runs/impl_1/Adder.bit,具体路径与工程名和顶层模块名有关。也可以执行 get_property DIRECTORY [current_run] 查看输出目录。

Q:综合 / 实现失败了怎么办?
A:点击 AI-Coder 的 “粘贴日志”,补充问题描述后发送给 AI 分析即可。

烧写与硬件测试

Q:烧写命令里的 YOUR_DESIGN.bit 要怎么改?
A:替换为你实际生成的 bit 文件名,例如 Adder.bit

Q:烧写时报错 Error: libusb_open() failed with LIBUSB_ERROR_ACCESS 怎么办?
A:Linux / Mac 可在命令前加 sudo,或执行 sudo usermod -aG dialout $USER 后重启终端。Windows 请确认已正确安装 WinUSB 驱动,并选择 FT2232HL 的 Channel A。

Q:烧写成功后,实验箱没有输出或功能不对怎么办?
A:先确认仿真功能正确,再核对 XDC 约束端口名和管脚号是否与实验文档完全一致,同时确认实验箱已上电、拨码开关和外设连接正确。

Q:Windows 安装 WinUSB 驱动后仍识别不到设备怎么办?
A:打开设备管理器,确认 FT2232HL Channel A 无黄色感叹号。若仍异常,重启电脑后重新用 Zadig 替换驱动,并注意不要选错 Channel B。

反馈问题

Q:遇到报错怎么高效反馈给助教?
A:请提供你操作到哪一步、完整报错日志、已经尝试过的解决方法,以及相关截图。信息越完整,助教越容易定位问题。

作者:j0ey-yu