FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
5892 Discussions

Problem with Avalon Slave Template

Altera_Forum
Honored Contributor II
1,454 Views

Hi, 

when I try to open the altera avalon slave template in the component editor tool of sopc builder, two message windows (Fig.1 attached) appear, if I click on "Remove TCL Callback"...then I can continue but I don't know if I make the proper choise....In addition after having insert the component and generate the sopc system, another window (Fig.2 attached) appears at the starting of Sopc builder.... 

 

Do you know if I must worry??? 

 

 

Regards
0 Kudos
10 Replies
Altera_Forum
Honored Contributor II
635 Views

The Avalon Slave Template provided by Altera is based on Quartus 9.0.  

Probably you are using a later version, so you need to change the tcl file and update a few obsolete commands.
0 Kudos
Altera_Forum
Honored Contributor II
635 Views

I wouldn't recommend opening that component in component editor. There was a lot of handwritten .tcl commands put into that component that component editor will not understand.

0 Kudos
Altera_Forum
Honored Contributor II
635 Views

So...What do I have to do??? because I don't know if these messages could be a problem for the system working...

0 Kudos
Altera_Forum
Honored Contributor II
635 Views

Simply don't use the component editor. 

You'd better modify directly the _hw.tcl file. This is usually faster and safer than the component editor. 

The tcl file contains a number of directives which allows you to set some component parameters in the property window (e.g. data width, number of registers, ...). Some of them are obsoleted and deprecated by newer tools. 

If you need a fixed configuration, you can discard them and set constant values into the tcl file.
0 Kudos
Altera_Forum
Honored Contributor II
635 Views

so....what I found in _hw.tcl is like: 

 

"add_parameter DATA_WIDTH int 32 "Width of each input or output" 

set_parameter_property DATA_WIDTH DISPLAY_NAME "Word Size" 

set_parameter_property DATA_WIDTH GROUP "Register File Properties" 

set_parameter_property DATA_WIDTH AFFECTS_PORT_WIDTHS true 

set_parameter_property DATA_WIDTH ALLOWED_RANGES {8 16 32} 

 

add_parameter ENABLE_SYNC_SIGNALS int 0 "Output syncronization signals" 

set_parameter_property ENABLE_SYNC_SIGNALS DISPLAY_NAME "Syncronization signals" 

set_parameter_property ENABLE_SYNC_SIGNALS GROUP "Register File Properties" 

set_parameter_property ENABLE_SYNC_SIGNALS AFFECTS_PORT_WIDTHS true 

set_parameter_property ENABLE_SYNC_SIGNALS ALLOWED_RANGES { "0:Disabled" "1:Enabled" } 

 

add_parameter MODE_0 int 2 "Set the read/write capabilites of the register pair 0" 

set_parameter_property MODE_0 DISPLAY_NAME "Register 0 capabilites" 

set_parameter_property MODE_0 GROUP "Register File" 

set_parameter_property MODE_0 AFFECTS_PORT_WIDTHS true 

set_parameter_property MODE_0 ALLOWED_RANGES { "0:Write Only" "1:Read Only" "2:Write/Read" "3:Write with Loopback" "4:Disabled" } 

 

add_parameter MODE_1 int 2 "Set the read/write capabilites of the register pair 1" 

set_parameter_property MODE_1 DISPLAY_NAME "Register 1 capabilites" 

set_parameter_property MODE_1 GROUP "Register File" 

set_parameter_property MODE_1 AFFECTS_PORT_WIDTHS true 

set_parameter_property MODE_1 ALLOWED_RANGES { "0:Write Only" "1:Read Only" "2:Write/Read" "3:Write with Loopback" "4:Disabled" } 

 

Should I modify the AFFECTS_PORT_WIDTHS with AFFECTS_ELABORATION as shown in that message window???
0 Kudos
Altera_Forum
Honored Contributor II
635 Views

Try adding this to the top of the .tcl file: 

 

package require -exact sopc 9.1 

 

I think the master was created around 8.0 but I'm not sure how far back the package command will go (9.0 or 9.1 I think is the earliest).
0 Kudos
Altera_Forum
Honored Contributor II
635 Views

no...if I write that "package require -exact sopc 9.1" there's an error.... 

 

Should I modify the AFFECTS_PORT_WIDTHS with AFFECTS_ELABORATION as shown in that message window attached at the first mex???
0 Kudos
Altera_Forum
Honored Contributor II
635 Views

Yes you can do that. Those are depreciated APIs so they should still work. Whatever version of the tools you use when you make that change I recommend putting that "package require -exact sopc <version>" at the top which will make sure the component will work moving forward using the same API version.

0 Kudos
Altera_Forum
Honored Contributor II
635 Views

when i put "package require -exact sopc <version>" Quartus detects an error....

0 Kudos
Altera_Forum
Honored Contributor II
635 Views

Quartus shouldn't care since it has nothing to do with these .tcl files. Do you mean that Qsys detects an error? If Qsys is emitting errors with an exact package being used that means there is a command in the .tcl file that is not supported by that particular package version. So you would have to clean up those commands to make sure you are using what is defined in the package. That's the whole point of the exact package, you ensure that you are using a specific version of the API and by declaring this at the top of your file you don't have to worry about the .tcl file breaking in future versions.

0 Kudos
Reply