我正在学习 VHDL 课程,并且能够在 Linux 中使用 ISE 和 Digilent 工具链玩得相对不错……直到尝试重新刷新 PicoBlaze 程序。有关详细信息,我目前正在运行和定位,
- Fedora 21 64 位 (3.19.3-200.fc21.x86_64)
- Digilent 的 Nexys2 开发板(带有 Spartan3)
- 赛灵思 ISE 14.7
- Adept 2.16.1 运行时
- Adept 2.2.1 实用程序
到目前为止,我已经能够在 Linux 中运行 ISE 并使用 iMPACT 对 Nexys2 位文件进行编程,但目前的项目是为 PicoBlaze 软核处理器编写一个汇编程序,编译和更新运行向量的内存,而无需必须重新合成任何 VHDL。
使用Kris Chaplin 帖子中的步骤,我可以将 PSM 编译为 HEX,然后将该 HEX 文件转换为 dosbox 中的 SVF。从这里我可以在 Windows 中使用 Digilent 的 Adept 工具来编写一个 top_level.bit 文件,该文件已经合成了 PicoBlaze,我也可以在 Linux 中的 ISE 的 iMPACT 中执行此操作。设计运行后,我可以使用 Adept 将 SVF 文件编程到设计的运行内存中,一切正常。但是,尝试在 Linux 中将 SVF 加载到 iMPACT 会引发异常,
例外:iMPACT:SVFYacc.c:208:1.10 - 数据不匹配。
我在网上发现的唯一一个与该错误有关的问题表明应该有一个需要删除的“@”符号,但我在 SVF 中的任何地方都没有看到任何“@”。
我还尝试将 SVF 转换为 XSVF。iMPACT 在加载 XSVF 时不会引发错误,但编程/执行 XSVF 会冻结设计而不是运行新程序。
Adept 在 Linux 中没有我见过的类似 GUI,只有一个命令行工具“djtgcfg”。就像 iMPACT 一样,我已经能够很好地对 toplevel.bit 文件进行编程
$ djtgcfg prog -d Nexys2 -i 0 -f ../../toplevel.bit
但是尝试使用相同的调用对 svf 文件进行编程似乎没有任何影响。它说应该需要几分钟并立即报告“编程成功”,但我没有看到设备上有任何变化。
如果可以的话,我真的很想将我的环境全部保留在 Linux 中,我的笔记本电脑上没有足够的空间在两个虚拟机之间进行切换。
是否可以使用 iMPACT 将 SVF 文件写入 Nexus2?或者我可以/应该以不同的方式使用 Adept 实用程序吗?
有没有人让这个工作?万分感谢!