[an error occurred while processing this directive]
|
Привожу маленький пример проги, которая железно работает в древних версиях ISE (ISE5.x, ISE6.x) и не работает в более новых 7.1, 8.1 (для SPARTAN3).
-------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_arith.all;
use IEEE.STD_LOGIC_unsigned.all;
entity test is
port(
reset : in std_logic;
clk : in std_logic;
a : in STD_LOGIC_VECTOR(0 to 7);
b : in STD_LOGIC_VECTOR(0 to 7);
c : out STD_LOGIC_VECTOR(0 to 7)
);
end test;
architecture test_body of test is
begin
process (reset, clk)
variable i : integer range 7 downto 0;
begin
if reset = '1' then
c <= conv_std_logic_vector(0,8);
i := 0;
elsif clk'event and clk = '1' then
i := i + 1;
if i = 0 then
if a = b then
c <= a;
elsif a > b then
c <= b;
end if;
end if;
end if;
end process;
end test_body;
--------------------------------------------------------
При синтезе выдаётся предупреждение (только в ISE 7.1, 8.1):
WARNING:Xst:1988 - Unit
Имплиментация проходит нлрмально. НО при помтроении диаграмм - выход "с" - всегда в неопределённом состоянии. Почему не могу понять.
В ISE 6.1 все компилится без ворнингов и диаграмма строится нормально.
Ответы
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание