Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17268 Discussions

SopcBuilder_size_of_address_area

Altera_Forum
Honored Contributor II
1,411 Views

I wrote my own component in Component Editor. After adding into my system the Sopcbuilder assigns the complete address area to my slaves (0x000…-0xfff….), although their actually width is 32 bits large. In the menu of the Comonent Editor the size of the Interface writedata is correct 32 Bit large. It makes no difference if I connect the component to the master-interface or not. What is wrong? 

0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
673 Views

how big is your address vector? The sizes of both the address and data vectors are used by SOPC builder to determine the address span of your component.

0 Kudos
Altera_Forum
Honored Contributor II
673 Views

My address vector is 32 big large. Below you can see my interfaces. 

 

avs_s0_address : IN STD_LOGIC_VECTOR (31 DOWNTO 0); 

avs_s0_write : IN STD_LOGIC; 

avs_s0_writedata : IN STD_LOGIC_VECTOR (31 DOWNTO 0); 

avs_s1_address : IN STD_LOGIC_VECTOR (31 DOWNTO 0); 

avs_s1_write : IN STD_LOGIC; 

avs_s1_writedata : IN STD_LOGIC_VECTOR (31 DOWNTO 0); 

avs_s2_address : IN STD_LOGIC_VECTOR (31 DOWNTO 0); 

avs_s2_read : IN STD_LOGIC; 

avs_s2_readdata : OUT STD_LOGIC_VECTOR (31 DOWNTO 0); 

avs_s2_write : IN STD_LOGIC; 

avs_s2_writedata : IN STD_LOGIC_VECTOR (31 DOWNTO 0); 

avs_s3_address : IN STD_LOGIC_VECTOR (31 DOWNTO 0); 

avs_s3_write : IN STD_LOGIC; 

avs_s3_writedata : IN STD_LOGIC_VECTOR (31 DOWNTO 0); 

clk : IN STD_LOGIC; 

rst : IN STD_LOGIC; 

avm_m1_address : OUT STD_LOGIC_VECTOR (31 DOWNTO 0); 

avm_m1_byteenable : OUT STD_LOGIC_VECTOR (3 DOWNTO 0); 

avm_m1_write : OUT STD_LOGIC; 

avm_m1_waitrequest : IN std_logic; 

avm_m1_writedata : OUT STD_LOGIC_VECTOR (31 DOWNTO 0)
0 Kudos
Altera_Forum
Honored Contributor II
673 Views

That's why it is using all the address space. You should reduce your address vector to the actual size that you require (ex: 3 bits if you have 8 32-bit registers). 

The Avalon master should still have a 32-bit address vector though.
0 Kudos
Altera_Forum
Honored Contributor II
673 Views

Thanks a lot. I think that is the problem. I try it :)

0 Kudos
Reply