I finally discovered the error!
It's seams that the SOPC builder 5.0 (Quartus II 5.0 SP1) isn't unable to resolve the assignment of the peripheral if the type of the pins is derived as subtype.
Look at the below interface:
port (clk: in std_logic := '0';
reset: in std_logic := '1';
read: in std_logic := '0';
write: in std_logic := '0';
chipselect: in std_logic := '0';
waitrequest: out std_logic;
address: in NIOSAddressBus_Type := (others => '0');
writedata: in NIOSDataBus_Type := (others => '0');
readdata: out NIOSDataBus_Type;
...
where the three types are defined in a package and has the below definition:
subtype FlashDataBus_Type is std_logic_vector(15 downto 0);
subtype NIOSAddressBus_Type is std_logic_vector(18 downto 0);
subtype NIOSDataBus_Type is FlashDataBus_Type;
The only way to make it to works is to replace the type with its definition like below:
port (clk: in std_logic := '0';
reset: in std_logic := '1';
read: in std_logic := '0';
write: in std_logic := '0';
chipselect: in std_logic := '0';
waitrequest: out std_logic;
address: in std_logic_vector(18 downto 0) := (others => '0');
writedata: in std_logic_vector(15 downto 0) := (others => '0');
readdata: out std_logic_vector(15 downto 0);
This doesn't happen in Quartus II 4.2.
Thank you.