尝试使用python脚本在Xilinx中自动化fpga构建过程

时间:2013-05-24 20:54:16

标签: python xilinx

我希望自动化在xilinx中创建ngs,bit和mcs文件的整个过程,并让这些文件自动与svn存储库中的某些文件夹相关联。我需要知道的是,是否有一个日志文件在Xilinx gui的后端创建,它记录了我运行的所有命令,例如打开项目,加载文件,合成等。

另外我无法找到的另一部分是一个日志文件,它记录整个合成,地图,布局和布线过程并生成编程文件。特别记录工具在这些过程中遇到的任何错误。

如果你们中的任何一个人可以指出这些文件,如果它们存在,那就太好了。我没有从搜索中获得太多东西,但也许我看起来不够。

谢谢!

2 个答案:

答案 0 :(得分:1)

嗯,这绝对是一个不错的项目理念,但是工作量很大。总是建立IDE的原因 - 简单的搜索产生"命令行工具用户指南"对于各种版本的Xilinx ISE,like for 14.3,380页左右

  
      
  • 概述和功能列表
  •   
  • 输入和输出文件
  •   
  • 命令行语法和选项
  •   
  • 报告和消息信息
  •   

ISE是各种命令行可执行文件的GUI,其中大多数位于ISE安装根目录的子文件夹14.5/ISE_DS/ISE/bin/lin/(在本例中为版本14.5的Linux可执行文件)中。您可以通过右键单击流程树中的项目并选择"流程属性"来查看每个操作的当前参数。

在Python方面,请考虑使用subprocess模块:

  

子进程模块允许您生成新进程,连接到它们的输入/输出/错误管道,并获取它们的返回代码。

这是您要找的入口点吗?

答案 1 :(得分:1)

正如phineas所说,你要做的事情是一项艰巨的任务。

我一直在那里做到这一点,并且在此过程中还有无数的挑战。例如,如果要将生成的文件移动到特定文件夹,如何对这些文件进行分类以确定哪些文件是哪些?我创建了一个名为X-MimeTypes的项目,尝试对文件进行分类,但是您需要一个工具来解析EDA mime类型数据库并使用它来确定哪些文件是哪个。

然而,有希望,所以回答你指出的两个主要问题:

  1. 能够自动将生成的文件移动到预定路径。根据您的说法,您似乎想要这样做以简化版本控制过程?已经有一个工具可以根据您创建的“设计结构”为您执行此操作,并且可以在团队中共享。该工具名为Scineric Workspace,因此请将其检出。它还内置了Git和SVN支持,根据设计结构忽略了一些东西,在大多数情况下,它可以通过供应商工具过滤所有生成的东西,而不必担心它。

  2. 您正在查找显示所有已运行命令的日志文件。正如phineas所说,您可以查看ISE的命令行工具用户指南,但请注意,在Vivado中,要运行的命令已再次更改。每个进程的日志文件通常也会声明具有已调用参数的确切命令。这应该接近报告的顶部。如果您查找包含所有内容的一个日志文件,则该文件不存在。同样,Scineric Workspace支持从主要供应商(ISE,Vivado,Quartus)唤起流量,它为所有进程生成一个日志文件,同时仍允许每个进程也创建自己的日志文件。在这份大报告中也正确标出了错误,警告等。 Scineric也有一个tcl shell模式,所以你的python工具可以在后台运行它并解析它创建的完整日志文件。

  3. 如果您对上述问题有更多疑问,我将很乐意为您提供帮助。

    希望这有帮助,

    雅科