Gast
#1355260
Hallo zusammen!
Ich versuche einen ganz einfahen Tristate-Driver zu synthetisieren.
Sieht folgendermaßen aus:
entity tristate_driver is
port( enable : in std_logic;
data_signal: in std_logic;
reset: in std_logic;
clk: in std_logic;
output: out std_logic := '0');
end tristate_driver;
architecture Behavioral of tristate_driver is
begin
process (enable, clk)
begin
if (reset = '1') then
output <= '0';
elsif (clk'event and clk='1') then
if enable='1' then
output <= 'Z';
end if;
end if;
end process;
end Behavioral;
Das enable hängt dabei von zwei Signalen ab und wird so festgelegt:
tri : process (int_en, spi_en)
begin
if clk'event and clk = '1' then
if spi_en = '0' and int_en = '0' then
enable_tristate <= '1';
else
enable_tristate <= '0';
end if;
end if;
end process;
In der Simulation im ISE Webpack funktioniert das wunderbar, wenn ich
die Synthese durchführen will, kommt folgender Fehler dabei heraus, auf
den ich mir keinen Reim machen kann:
"FATAL_ERROR:Xst:xstrtlviewer.c:2417:1.85 - Unsupported macro type
(LPM_LATCH_) in FillNodePropFromMacroBas Process will terminate. For
technical support on this issue, please open a WebCase with this project
attached at http://www.xilinx.com/support."
Woran könnte es liegen? Für Hilfe wäre ich sehr dankbar!
Gruß Tobias