cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
4,458 Views
Registered: ‎11-14-2008

ISE/XPS source files for version control

Jump to solution

I followed the tutorial in the "Concepts, Tools, and Techniques Guide" for EDK 13.2 and now have a working microblaze system that is sythesized from within ISE.

 

I'm trying to figure out what files I need to include in my version control system in order to be able to fully reproduce the resulting .bit file.  I've followed the instructions in the last post of this thread, but it still doesn't work.

 

I believe that there are some missing files that, when present, call the tools necessary to produce the .ngc for my microblaze processor. But since the .ngc isn't present, I then get the following error:

 

ERROR:HDLCompiler:1654 - "/home/klarsen/Xilinx/review/l10hardware/ublazes/ublazes_top.v" Line 172: Instantiating <ublazes_i> from unknown module <ublazes>
Module ublazes_top remains a blackbox, due to errors in its contents

 

So far I've included the following in my git repository:

 

controller4.xise

ublazes/ublazes.mhs

ublazes/ublazes.xmp

ublazes/ublazes_top.v

ublazes/etc/*

ublazes/data/*

ublazes/pcores/*

 

What else is needed to properly sythnesis my design from within ISE?

0 Kudos
1 Solution

Accepted Solutions
johnmcd
Xilinx Employee
Xilinx Employee
5,600 Views
Registered: ‎02-01-2008

The link you refer to is specific to an embedded only flow. If you are using ISE with an embedded submodule, then you will also need to include your top level ucf, additional sources such as hdl, and instead of the xise file, I suggest you export the tcl settings for the project within ISE. Commit this tcl file and not the xise. With the tcl file, you can recreate your xise and paths will get updated in the project if you checkout to a new location. Also, the tcl 'adds' the embedded xmp as a submodule. The action of 'adding' creates additional hooks that you are probably missing in your commit. The hooks are necessary for ISE to correctly communicate to XPS.

View solution in original post

0 Kudos
3 Replies
johnmcd
Xilinx Employee
Xilinx Employee
5,601 Views
Registered: ‎02-01-2008

The link you refer to is specific to an embedded only flow. If you are using ISE with an embedded submodule, then you will also need to include your top level ucf, additional sources such as hdl, and instead of the xise file, I suggest you export the tcl settings for the project within ISE. Commit this tcl file and not the xise. With the tcl file, you can recreate your xise and paths will get updated in the project if you checkout to a new location. Also, the tcl 'adds' the embedded xmp as a submodule. The action of 'adding' creates additional hooks that you are probably missing in your commit. The hooks are necessary for ISE to correctly communicate to XPS.

View solution in original post

0 Kudos
Visitor
Visitor
4,443 Views
Registered: ‎11-14-2008

Exporting the .tcl file worked like a charm! Thank you john!

 

I have a few questions about the possiblities of the .tcl scripts. Where can I find documentation detailing all the options and possible processes?  One in particular that I would love to script, is selecting "Rescan User Repositories" from within XPS.  Without clicking that menu item, the changes I make in my custom peripherals are not detected and thus not included in subsequent runs.

0 Kudos
Visitor
Visitor
4,441 Views
Registered: ‎11-14-2008

Nevermind! I actually found that step is not necessary as long as you've set up your custom periperals to be "development" peripherals. And tcl isn't the main script that calls programs relating to XPS, its make.

 

To fix my problem, I placed the following line in my custom peripheral's .mpd file:

 

OPTION ARCH_SUPPORT_MAP = (others=DEVELOPMENT)

 

If this line is detected in the .mpd, the <processor name>_incl.make file associated with the design will be updated to include the raw .vhd or .v sources from the peripheral.  It is these files that make checks for updates to, and so if they've changed, their .ngc files will be regenerated, and thus the changes will be included in the final .bit file!

 

Awesome! Thanks again for the help!

0 Kudos