Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Honored Contributor I
1,179 Views

SOPC Components not found in Quartus 7.2

I recently upgraded to Quartus 7.1 and went through the pain of migrating all my SOPC components to the new tcl format. The components were all in a library pointed to by the global libraries path. 

 

I open the project in 7.2 and SOPC cannot find these components any more! 

 

My paths are something like this .. 

 

c:\branch7.2\mylib\--component1\hdl \--component2\hdl \--etc. 

 

With v7.1 I placed an empty file .recurs in the c:\branch7.2\mylib directory which appeared to allow SOPC to recurs the subdirs properly. Therefore only needing one path for all my library components. But in 7.2 the SOPC tools does not find them any more. 

 

I've tried adding the paths for c:\branch7.2\mylib as well as c:\branch7.2\mylib\component1 etc. in both project and global libraries paths as well as in SOPC "tools->options->ip search path" with no joy. 

 

Can anybody help me?
0 Kudos
14 Replies
Highlighted
Honored Contributor I
15 Views

I know that SOPC Builder does not like certain characters like spaces or period in the file path, try renaming your file path to "c:\branch7_2\mylib\--component1\hdl".  

 

Cheers
0 Kudos
Highlighted
Honored Contributor I
15 Views

yes i have the same problem with 7.2 

 

I found it only works if the custom components are in a sub directory of where the sopc project is located. 

 

There where no spaces or anything in my paths so that wasn't it. 

 

Anyway I now get Subversion to pull the custom components into the project directory so I can share them between projects and still maintain the one source code base.
0 Kudos
Highlighted
Honored Contributor I
15 Views

I have a project at the moment that I has custom IP in a half dozon different directories (none in the project directory) and I have no problems getting them is sopc builder.

0 Kudos
Highlighted
Honored Contributor I
15 Views

to be more accurate, they worked in sopc and quartus to some extent. 

 

using the software tools build chain for the nios II it failed big time. 

 

The tools told me to set the paths in SOPC, bu they where already set.
0 Kudos
Highlighted
Honored Contributor I
15 Views

Thank you rmorley for the suggestion. I do not use spaces and have tried . and _ and - separators and removing these separators altogether in my paths with no success (i.e. only alphanumeric characters). How do you get your library components to work in 7.2? 

 

My libraries appear fine in 7.1 but cannot find them in SOPC 7.2. 

 

Thank you jcn for your response. I wish to share the libraries across multiple projects and therefore having them as a subdirectory of one of the projects is not a solution unfortunately.
0 Kudos
Highlighted
Honored Contributor I
15 Views

Add a file named "library.ipx" to your "mylib" directory. 

 

library.ipx : 

 

<?xml version="1.0"?> 

<library> 

<index file="component1/component1_hw.tcl" /> 

<index file="component2/component2_hw.tcl" /> 

... 

... 

</library> 

 

 

Add your libray path in SOPC-Builder : 

Tools->Options->IP Search Path 

 

Now you should see your components !
0 Kudos
Highlighted
Honored Contributor I
15 Views

Thank you very much Klaus, SOPC now finds the components but I get all kinds of extra errors I'm afraid. Any ideas why each of my components now produce the following error : 

 

Error: TestComponent_0: Error (10670): Verilog HDL or VHDL error: cannot create XML design interface for design file TestComponent.vhd. File: C:/SCM/Branch-Quartus-v7-1/lib/sopc/TestComponent/hdl/TestComponent.vhd Line: 1 

Error: TestComponent_0: Quartus II Analysis & Synthesis was unsuccessful. 1 error, 0 warnings 

Error: TestComponent_0: Processing ended: Mon Oct 22 16:26:15 2007 

Error: TestComponent_0: Elapsed time: 00:00:04 

Error: TestComponent_0: Failed to analyze port width. 

 

If I copy the components to the \ip subdir of my project I don't get this error. 

 

The library.ipx file is located in C:/SCM/Branch-Quartus-v7-1/lib/sopc
0 Kudos
Highlighted
Honored Contributor I
15 Views

Do you use HDL parameters in your TestComponent_hw.tcl ?

0 Kudos
Highlighted
Honored Contributor I
15 Views

Yes I use VHDL generics to set various parameters.

0 Kudos
Highlighted
Honored Contributor I
15 Views

Disable all parameters (_hw.tcl --># add_parameter youParameter). 

 

Sometime i get the same ERROR if i am using STD_LOGIC(_VECTOR) Parameters.
0 Kudos
Highlighted
Honored Contributor I
15 Views

:) My parameters are only integer and moving them from generics to constants within my code and disabling the 'add_parameter' lines in _hw.tcl fixes this problem. 

 

This is not great as I can no longer parameterise my component! :mad:  

 

Thanks again Klaus for your help.
0 Kudos
Highlighted
Honored Contributor I
15 Views

The parameters should have default values : 

 

ENTITY component IS GENERIC ( parameter : integer := 4 );  

 

Try to regenerate your component with the component editor. Create a new SOPC system an insert your component. Maybe it helps.
0 Kudos
Highlighted
Honored Contributor I
15 Views

My component parameters already have default values assigned I'm afraid. For example : 

 

entity StreamCapture is generic ( master_address_width : integer := 32; master_data_width : integer := 64; stream_data_width : integer := 32; stream_length_width : integer := 24 ); port ( ...etc. 

 

If I edit the component again I get what seems to be incorrect tcl for the simulation files property with a dangling " :- 

 

set_module_property "simulationFiles" " "StreamCapture.vhd" 

 

which accounts for the error on loading the SOPC system : 

 

Error: StreamCapture_0: extra characters after close-quote 

 

where originally this was : 

 

set_module_property simulationFiles { "PP_StreamCapture.vhd"} 

 

reverting this removes the Error: StreamCapture_0: extra characters after close-quote 

 

Unfortunately I haven't found a combination that allows me to have generics as parameters. I tried removing the _ and capitalising the names with no success.
0 Kudos
Highlighted
Honored Contributor I
15 Views

The correct syntax for set_module_property simulationfiles according to the manual should be : 

 

set_module_property simulationFiles
0 Kudos