Gast
#4196967
Hallo,
ich hoffe ein erfahrener Altera User kann mir hier weiter helfen.
in einem Sub-Modul (3. Hierarchieebene) schiebe ich ein Signal durch ein
Register und erzeuge danach eine Tristate-Logik. Anschließend wird das
Signal bis ins Top-Level mit inout durchverdrahtet.
Ich nutze im Sup-Module das Attribut useioff (Bei Xilinx iob). In etwa
so:
signal data_out_reg : std_logic := ‘0‘;
attribute useioff of data_out_reg: signal is true;
process (clk_i)
begin
if rising_edge(clk_i) then
data_out_reg <= data_out;
end if;
end process;
data_io <= data_out_reg when out_en = ‘1’ else ‘Z’;
ISE von Xilinx platziert mir die Tristate-Logik sowie das Register
wunderbar ins IOB des Spartan 6.
Quartus aber bringt mir die Warnung:
Warning (13046): Tri-state node(s) do not directly drive top-level
pin(s)
Warning (13049): Converted tri-state buffer
Zum Attribute usioff finde ich überhaupt nichts in den Reports.
Geht dieses Gebilde bei Altera wirklich nur im Top-File oder kann man
ihn irgendwie zwingen?
Wie prüfe ich die Verwendung des IO-Registers? Der Chip-Planer ist mir
noch nicht so richtig vertraut.
Vielen Dank und viele Grüße