Altera_Forum
Honored Contributor
12 years agoAddress alignment problem with Tristate Controller
Hi all,
I have a Generic Tristate Controller and a custom Tristate Controller interfacing two external devices via Tristate Pin Sharer. Both external devices have a 16bit data bus, therefore address[0] pin from Pin Sharer is not externally used, so in my top-level file I use:flash_lan_addr <= flash_lan_addr_local(flash_lan_addr_local'high DOWNTO (flash_lan_addr_local'low +1)); This worked fine while having two Gerneric Tristate Controllers, but with my custom Controller, I get a pointless error during Partition Merge: --- Quote Start --- Error (35030): Partition "fpga_sopc:U_1" contains I/O cells that do not connect to top-level pins or have illegal connectivity Error (35032): Output port "fpga_sopc:U_1|tristate_bridge_tristate_bridge_address[0]" on partition "fpga_sopc:U_1" must drive a top-level pin but is driving "<nothing>" --- Quote End --- Of corse address[0] is driving nothing, there is nothing to drive! I need help, what's the problem here? My TCM Interface looks as follows: tcm_data_in : IN std_logic_vector (15 DOWNTO 0);
tcm_grant : IN std_logic;
tcm_address_out : OUT std_logic_vector (7 DOWNTO 0); -- Byte Address, Bit 0 is not used
tcm_chipselect_n_out : OUT std_logic;
tcm_data_out : OUT std_logic_vector (15 DOWNTO 0);
tcm_data_outen : OUT std_logic;
tcm_read_n_out : OUT std_logic;
tcm_request : OUT std_logic;
tcm_reset_n_out : OUT std_logic;
tcm_write_n_out : OUT std_logic Thanks Simon