нужна помощь в составлении VHDL помощью Xilinx ISE 9.2i

A

ahyuanz

Guest
Очень признательны, если кто может мне помочь

Здесь есть проблема:

Мой проект заключается в создании и секундомер.

Синтаксис ОК.Однако, когда я создаю временные ограничения ...он не сможет синтезировать и побуждают меня эта ошибка: Сигнал MOD10CARRY_temp не могут быть синтезированы, плохо синхронное описание.

Я действительно на мысли конца ..не может решить эту проблему.

Я загрузил файл Mediafire для ознакомления.

Это ссылка: http://www.mediafire.com/download.php?ffzw1mzidlt

 
Привет,
Я не уверен, что вы хотите делать, но это часть вашего кода, безусловно, не правы:
Код:

Процесс (CLK, РЭС, SET, UP_DN)

начинать

если RES = '0 ',

MOD10OUT_temp <= (другие => '0 ');

MOD10CARRY_temp <= '0 ';ELSIF rising_edge (SET), то

MOD10OUT_temp <= MOD10OUT_temp 1;

если MOD10OUT_temp = "1010", а затем

MOD10OUT_temp <= "0000";

End If;ELSIF rising_edge (CLK), то

если UP_DN = '1 ', то

MOD10OUT_temp <= MOD10OUT_temp 1;

если MOD10OUT_temp = "1010", а затем

MOD10OUT_temp <= "0000";

MOD10CARRY_temp <= '1 ';

еще

MOD10CARRY_temp <= '0 ';End If;

еще

MOD10OUT_temp <= MOD10OUT_temp-1;

если MOD10OUT_temp = "1111", а затем

MOD10OUT_temp <= "1001";

MOD10CARRY_temp <= '1 ';

еще

MOD10CARRY_temp <= '0 ';End If;

End If;End If;

конце процесса;

 
Посмотрите на кусок кода Написал Фархад.Вы заметите, что MOD10CARRY_temp установлен в '0 ', если в заявлении Однако, это не присваивается значение в другое заявление.

Я надеюсь, это поможет u.

 
Ладно, это 3-й раз, когда я пытаюсь отправить, hopefulyl она будет работать!

Если вы считаете, с точки зрения HW, вы пытаетесь контролировать выходные сигналы в этом процессе различные 2 часов.
Это как осуществление флип-флоп с 2 входами часы.

Я очень удивлен, что вы могли бы имитировать это, и сообщение об ошибке от XST не на все сообщения.

BR,
/ Фархад Abdolian

 
Как сказал Фархад когда вы пишите так, как своего вождения ФИП-флоп с 2 часов.
С виду это, что я вижу, есть множество сигнала не обязан быть чувствительным края.
Вы можете попробовать somethign как это (она будет синтезировать).

Если вы хотите, чтобы быть асинхронной набор, то вы можете сделать что-то, как показано ниже.
Если вы хотите, чтобы быть синхронными, то вы можете поставить SET части внутри часы
Процесс (CLK, РЭС, SET, UP_DN)
начинать
если RES = '0 ',
MOD10OUT_temp <= (другие => '0 ');ELSIF SET = '1 ', то
MOD10OUT_temp <= MOD10OUT_temp 1;
если MOD10OUT_temp = "1010", а затем
MOD10OUT_temp <= "0000";
End If;

ELSIF rising_edge (CLK), то
если UP_DN = '1 ', то
MOD10OUT_temp <= MOD10OUT_temp 1;
если MOD10OUT_temp = "1010", а затем
MOD10OUT_temp <= "0000";
MOD10CARRY_temp <= '1 ';
еще
MOD10CARRY_temp <= '0 ';

End If;
еще
MOD10OUT_temp <= MOD10OUT_temp-1;
если MOD10OUT_temp = "1111", а затем
MOD10OUT_temp <= "1001";
MOD10CARRY_temp <= '1 ';
еще
MOD10CARRY_temp <= '0 ';

End If;
End If;

End If;
конце процесса;
MOD10CARRY <= MOD10CARRY_temp;
MOD10OUT <= MOD10OUT_temp;

Поведенческая конца;

 
Извините за беспокойство вас, ребята.Моим намерением было на самом деле использования "набора" Чтобы вручную увеличить значение в борьбе помощью кнопки, поэтому я использую края курок.

Так может все еще работать так, как я хочу его видеть, если следовать своду palai_santosh предложить с помощью логики 1 или 0?

 

Welcome to EDABoard.com

Sponsor

Back
Top