我这次打算做一个实验,我只让AI完成,我中途不插入,不提供帮助,不写代码,之前用Vivado已经完成过一次,但是因为是Linux下完成的,而且用的是Vivado自己的仿真工具,本身来说比较简单,一旦到了Windows,很多东西就变了.
这次任务非常简单,主要是闪烁灯,但是增加了一些挑战,这样才能更贴合真实工程.
我的提示词是这么写的.
请在当前空目录下,从零创建一个可直接使用的 Quartus II 工程,并确保工程能在 Windows 上通过 Makefile 一键完成构建,仿真,生成报告,下载与查看波形.
[环境信息]
1. Quartus II 安装路径:C:\intelFPGA\18.1
2. MSYS2 / make 工具路径:C:\msys64\usr\bin
3. ModelSim 安装路径:C:\modeltech64_2020.4\win64\modelsim.exe
4. 目标芯片:EP4CE10F17C8
5. 板卡引脚:
- LED1 = A3
- LED2 = A4
- CLK = E1,50MHz
6. 当前工程目录为空,请你自行规划文件结构.
[功能目标]
1. 设计一个使用 PLL 的硬件工程,PLL 可使用原语或 IP.
2. 让两个 LED 交替闪烁,且 LED 为高电平点亮.
3. 工程必须同时支持:
- 前仿真
- 综合
- 布线
- 资源利用率报告
- 生成下载文件
- 生成仿真波形文件
- 启动 ModelSim 查看波形
[工程约束]
1. 请将所有工程文件合理组织,禁止把所有中间文件散落在工程根目录.
2. 建议使用 build/ 作为输出目录,中间产物,报告,网表,仿真结果都放到 build/ 下.
3. 必须提供可复用的 Makefile,target 语义清晰,例如:
- make all
- make clean
- make synth
- make fit
- make asm
- make report
- make sim
- make waves
- make open
- make program
4. Makefile 必须能在 Windows + MSYS2 环境下运行.
5. 不要依赖人工手动复制文件.
6. 如果需要 Quartus/ModelSim/license 路径,请先自动探测常见安装位置;找不到时要给出明确报错信息,而不是静默失败.
7. 仿真 testbench 必须包含明确结束条件,不能让仿真按真实时间无限跑.
8. 仿真时间要短且可控,能在几秒到几十秒内完成,不允许因为设计分频过大导致仿真过长.
9. 如果工程中存在 PLL IP 生成步骤,请自动处理,尽量让整个流程脚本化.
10. 如果发现某些功能在当前环境下无法完全自动完成,请先完成能自动完成的部分,并明确指出缺失项和原因.
[实现要求]
1. 给出完整工程文件,而不是只给关键代码.
2. 必须包含顶层 RTL,PLL 相关文件,testbench,约束文件,Makefile,以及必要说明.
3. 请保证引脚约束与板卡一致.
4. 请保证代码风格清晰,命名规范,可维护.
5. 若 PLL 生成文件受工具版本影响,请采用最稳妥的方案,并说明理由.
[验收标准]
1. `make all` 可以完成主要流程.
2. `make sim` 能在合理时间内结束,并生成波形文件.
3. `make report` 能输出资源利用率报告.
4. `make program` 能生成可下载配置文件.
5. 工程目录结构清楚,`build/` 中间产物集中管理.
6. 生成的工程可以在 ModelSim 中打开并查看波形.
7. 如遇 license,路径,IP 版本不一致等问题,请给出可执行的修复建议,而不是只描述问题.
[输出要求]
1. 先输出工程目录结构.
2. 再输出每个文件的内容.
3. 最后给出构建与仿真步骤说明.
4. 如果你做了任何假设,请单独列出.
5. 如果存在风险点,也请明确指出.
6. 请尽量一次性把工程做到可直接使用的程度.
大家应该都知道,这个需求的难度其实很低的,属于正常大学生随手能做的Hello World级别,为什么我不复杂一些,这样容易既是裁判,又是判决.
我测试了几个最近热门模型,不代表模型通用能力.
- Xiaomi MIMO V2.5-Pro - 反复处于调用各类Linux命令,连基础syn都还没开始.
- Kimi 2.6 Code - 和上面的差不多,不过好歹知道用Windows命令,就是一直没进门.
- Minimax 3 - 布线,综合都可以,仿真改了一个多小时都没好.
- GLM 5.2 - 可以完成布线,综合,仿真,但是无法完成Modelsim对接,编译SDF的时候反复试错.
- Deepseek V4 Pro - 反复处于综合布线,就是不开始仿真,也不报告结束.
- GPT 5.4-mini - 布线,综合,仿真都完成了,仿真也可以完成,结果一看,原来tb都写错了,不管有没有问题都直接PASS.
- GPT 5.4(low) - 看起来可以完成所有任务,但是sim_post报告失败,因为仿真时候看不到翻转.
- GPT 5.4(medium) - 全部完成,仿真正常,打开正常.
- GPT 5.5(low) - 全部完成,还写了非常完美的注释,Fmax显著更高,并且结束报告WNS更好,但是Makefile看到部分不遵循.
- GPT 5.5(meidum) - 全部完成,遵循严格,Fmax略低,结束后报告更长.