Trying to automate the fpga build process in Xilinx using python scripts

I want to automate the whole process of creating ngs, bit and mcs files in xilinx and associate these files with specific folders in the svn repository. I need to know that there is a log file that is created at the back of the Xilinx gui that records all the commands that I run, for example, opening a project, loading a file, synthesizing, etc.

Also another part that I could not find is the log file, which records the entire synthesis process, maps, places and routes and generates a programming file. Specially record any errors that the tool encountered during these processes.

If any of you can point me to such files, if they exist, it would be great. I did not get much from my search, but maybe I did not look enough.

Thanks!

+4
source share
2 answers

Well, this is definitely a good project idea, but a good job. There has always been a reason why the IDE was created - a simple search gives the "Command Line Tools User Guide" for various versions of Xilinx ISE, as for 14.3 , 380 pages

  • Overview and Feature List
  • Input and output files
  • Syntax and command line options
  • Message and Message Information

ISE is a graphical interface for various command line executables, most of which are located in the subfolder 14.5/ISE_DS/ISE/bin/lin/ (in this case: Linux executables for version 14.5) of your ISE installation root directory. You can view your current settings for each action by right-clicking an item in the process tree and selecting "Process Properties".

On the Python side, consider using the subprocess module:

The subprocess module allows you to create new processes, connect to their I / O / error channels and receive their return codes.

Is this the entry point you were looking for?

+1
source

As Phineas said, you are trying to do this.

I was there, and there are countless problems on the way. For example, if you want to move the generated files to specific folders, how do you classify these files to find out which files are? I created a project called X-MimeTypes that tries to classify files, but then you need a tool to analyze a MIME type database and use this to determine which files are.

However, there is hope, therefore, to answer the two main questions that you have indicated:

  • Ability to automatically move generated files to predefined paths. From what you say, it seems that you want to do this in order to simplify the version control process? There is already a tool that does this for you based on your design structures and which can be used as a team. The tool is called Scineric Workspace , so check it out. It also has built-in support for Git and SVN, which ignores things in accordance with the constructive structure and in most cases filters all generated things with the supplier’s tools without worrying about it.

  • You are looking for a log file that shows all the commands that were run. As Phineas said, you can check the user guide for the command line tools for ISE, but keep in mind that the commands to run have changed again in Vivado. In the log file of each process, the exact command with the called parameters is also usually indicated. This should be close to the beginning of the report. If you are looking for a single log file that contains everything, this does not exist. Again, Scineric Workspace supports thread calls from large providers (ISE, Vivado, Quartus) and creates one log file for all processes together, while maintaining each process also creating its own log file. Errors, warning, etc. Also marked properly in this large report. Scineric also has tcl shell mode, so your python tool can run it in the background and parse the full log file that it creates.

If you have any further questions, I will be happy to help.

Hope this helps,

Jaco

+1
source

Source: https://habr.com/ru/post/1482646/


All Articles