可以像Xilinx ISE iMPACT一样将SVF写入像Adept这样的PicoBlaze吗?

时间:2015-04-10 04:10:34

标签: linux vhdl xilinx jtag picoblaze

我在VHDL课程的中途,能够在Linux中使用ISE和Digilent工具链相对不错......直到尝试重新刷新PicoBlaze程序。有关详细信息,我目前正在运行并定位,

  • Fedora 21 64位(3.19.3-200.fc21.x86_64)
  • Digilent的Nexys2开发板(带有Spartan3)
  • Xilinx ISE 14.7
  • 行家2.16.1运行时
  • Adept 2.2.1实用工具

到目前为止,我已经能够运行ISE并使用iMPACT对Nexys2位文件进行编程,但目前这个项目是为PicoBlaze软核处理器编写汇编程序,编译和更新内存无需重新合成任何VHDL即可运行矢量。

使用Kris Chaplin's post中的步骤,我可以将PSM编译为HEX,然后将该HEX文件转换为dosbox中的SVF。从这里我可以在Windows中使用Digilent的Adept工具来编写一个top_level.bit文件,该文件已经合成了PicoBlaze,我也可以在ISE的Linux中使用iMPACT。设计运行后,我可以使用Adept将SVF文件编程到设计的运行内存中,一切都很好。但是,尝试在Linux中将SVF加载到iMPACT会引发异常,

  

EXCEPTION:iMPACT:SVFYacc.c:208:1.10 - 数据不匹配。

我在网上发现的唯一一个错误shows的问题是应该有一个' @'需要删除的符号,但我还没有在SVF中的任何地方看到过@。

我还尝试将SVF转换为XSVF。 iMPACT不会在加载XSVF时抛出错误,但编程/执行XSVF会冻结设计而不是运行新程序。

Adept在我所见过的Linux中没有类似的GUI,只是一个cmd行工具' djtgcfg'。就像iMPACT一样,我已经能够使用

对toplevel.bit文件进行编程
  

$ djtgcfg prog -d Nexys2 -i 0 -f ../../ toplevel.bit

但是尝试使用相同的调用对svf文件进行编程并不会影响任何事情。它说应该花几分钟时间立即报告"编程成功"但我没有看到设备有任何变化。

如果可以的话,我真的很想将我的环境保存在Linux中,我的笔记本电脑上没有足够的空间来处理两个虚拟机。

是否可以使用iMPACT将SVF文件写入Nexus2?或者我可以/应该以不同的方式使用Adept实用程序吗?

有没有人让这个工作?万分感谢!

2 个答案:

答案 0 :(得分:1)

有许多更好的方法可以重新配置PicoBlaze InstructionROM而无需重新合成:

  • 使用Xilinx的data2mem工具
    此收费随ISE一起提供,可以在位文件中修补BlockRAM内容 =>需要FPGA重新编程
  • 使用PicoBlaze的嵌入式JTAGLoader6 在模板文件中启用嵌入式JTAGLoader6设计。使用JTAG_Loader_RH_64二进制或JTAG_Loader_Win7_64.exe通过JTAG将十六进制文件上传到PicoBlaze ROM中。
    =>在运行时重新配置ROM,不需要FPGA重新编程

manual from Ken Chapman提供了有关如何使用JTAG_Loader的几个页面。另外,请查看PicoBlaze discussions at forums.xilinx.com。关于JTAG_Loader的错误和问题以及如何解决它们有一些讨论。

另请参阅opbasm from Kevin Thibedeau作为替代和改进的PicoBlaze汇编程序。它还附带一个ROM补丁工具。

答案 1 :(得分:0)

我知道原版海报有点晚了,但我怀疑我正在上同一课程,我相信我找到了一个在linux上上传picoblaze代码的解决方案。

Xilinx IP Download下载KCPSM3 zip文件,解压缩内容并将可执行文件从JTAG_loader文件夹移动到工作目录。

在dosbox中运行nexys2板的hex2svfsetup.exe选择菜单选项4 - 0 - 1 - 8 使用汇编程序创建.hex文件

在dosbox中运行hex2svf.exe以创建svf文件

然后运行svf2xsvf.exe -d -i< input.svf> -o< output.xsvf>

与初始zip文件中的JTAG_Loader_quick_guide.pdf相反,使用影响并使用xsvf文件打开xsvf文件和程序。