[an error occurred while processing this directive]
Может ли кто-то объяснить возникшую ошибку ....
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Amid 06 апреля 2004 г. 14:38

Есть довольно простой модуль - написан на VHDL - synthesis проходит нормально(worning-ов нет), но на этапе транллирования выдаёт сообщение:

Checking timing specifications ...
Checking expanded design ...
WARNING:NgdBuild:477 - clock net 'psck_bufgp' has non-clock connections. These
problematic connections include: pin i0 on block psck_c1 with type LUT3
WARNING:NgdBuild:477 - clock net 'asck_bufgp' has non-clock connections. These
problematic connections include: pin i0 on block asck_c1 with type LUT3

В результате прога работает не правильно (мягко говоря - вообще непонятно как)!!! Почему возник этот ворнинг? Может кто-то объяснит его природу и суть - я если честно уже "сдался"? Помогите!!!

Да и еще - использую ISE 5.x совметно Active HDL 6.1 - Spartan2.
И еще - скомпилил данный проэкт под ACEX в Max+2 - все работает. Почему возникла проблема с Xilinx? Может это проблема с ISE 5.x?

Если кому "не влом" попробуйте скомпилить под друним софтом - у меня просто под Xilix больше ничего нет!!! Заранее всем большое спасибо.

Код проги ->

---------------------------------------------------------------------------------------------------

LIBRARY ieee;

USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;

ENTITY tp IS
PORT (

reset : in std_logic;
psck : in std_logic;
asck : in std_logic;
wr : in std_logic;
buf : in std_logic_vector (3 downto 0);
buf_tso : out std_logic_vector (7 downto 0);

------------------------------
-- psck_bool_t : out std_logic;
-- test : buffer std_logic;

-- write_data_A_t : out std_logic;

--==TP11368==--
trb : out std_logic;
ce : out std_logic;
psck_c : out std_logic;
rsi : out std_logic;
asck_c : out std_logic;
rso : in std_logic
----------------------------------
);
END tp;

ARCHITECTURE tp_body OF tp IS


signal write_data : std_logic;
signal write_end_A : std_logic;
-- signal buf_tso_A : std_logic_vector (3 downto 0);
----------------------------------
--==TP11368==--
signal trb_a : std_logic;
signal ce_a : std_logic;
signal rsi_a : std_logic;
signal rso_a : std_logic;
----------------------------------
--
signal j : integer range 7 downto 0;
--

signal psck_bool : std_logic;

BEGIN

----------------------

process (asck,reset)
-- variable buf_temp : std_logic_vector (7 downto 0);
variable i : integer range 4 downto 0;
begin
if (reset = '0') then
i := 4;
elsif (asck'event and asck = '1') then
if write_data = '1' then

case i is
-- when 8 =>
-- tsi_a <= bufA(7);
-- when 7 =>
-- tsi_a <= bufA(6);
-- when 6 =>
-- tsi_a <= bufA(5);
-- when 5 =>
-- tsi_a <= bufA(4);
-- when 4 =>
-- tsi_a <= bufA(3);
when 4 =>
rsi <= buf(3);
when 3 =>
rsi <= buf(2);
when 2 =>
rsi <= buf(1);
when 1 =>
rsi <= buf(0);
when others =>
rsi <= '0';
end case;

if i = 0 then
i := 4;
else
i := i - 1;
end if;

end if;

end if;
end process;
----------------------


process (psck,reset)
-- variable buf_temp : std_logic_vector (7 downto 0);
-- variable j : integer range 7 downto 0;
begin
if (reset = '0') then
j <= 7;
buf_tso(3 downto 0) <= "0000";
write_end_A <= '0';
elsif (psck'event and psck = '0') then
if write_data = '1' and psck_bool = '1' then

case j is
when 7 =>
buf_tso(7) <= rso;
when 6 =>
buf_tso(6) <= rso;
when 5 =>
buf_tso(5) <= rso;
when 4 =>
buf_tso(4) <= rso;
when 3 =>
buf_tso(3) <= rso;
when 2 =>
buf_tso(2) <= rso;
when 1 =>
buf_tso(1) <= rso;
when 0 =>
buf_tso(0) <= rso;
when others =>

end case;

if j = 0 then
write_end_A <= '1';
else
write_end_A <= '0';
end if;

j <= j - 1;

end if;

end if;
end process;

----------------------

process (psck,reset)
begin
if (reset = '0') then
-- write_data <= '0';
psck_bool <= '0';
elsif (psck'event and psck = '1') then

if write_data = '1' then
psck_bool <= '1';
else
psck_bool <= '0';
end if;

if write_end_A = '1' then
write_data <= '0';
end if;

if wr = '1' then
write_data <= '1';
end if;

end if;
end process;

------------------------------------------

--psck_bool_t <= psck_bool;
--write_data_A_t <= write_data;

ce <= write_data;
trb <= '0';

with write_data and psck_bool select
psck_c <= psck when '1',
'1' WHEN OTHERS;

with write_data and psck_bool select
asck_c <= asck when '1',
'1' WHEN OTHERS;

--asck_a1 <= asck;
--tsi_a1 <= tsi_a;

-----------------------------

END tp_body;


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru