Потрібна допомога в складанні VHDL використанням ISE 9.2i XILINX

A

ahyuanz

Guest
Дуже вдячні, якщо хто може мені допомогти

Проблема полягає в тому:

Мій проект створення секундомір.

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

Я на самом деле у мене розуму кінець ..не може вирішити цю проблему.

Я завантажив свій файл, щоб Mediafire для вашої довідки.

це посилання: http://www.mediafire.com/download.php?ffzw1mzidlt

 
Привіт,
Я не впевнений, що ви хочете робити, але це частина вашого коду, безумовно, не мають рації:
Код:

процес (CLK, RES, 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";

кінець, якщо;ELSIF rising_edge (CLK), то

якщо UP_DN = '1 ', то

MOD10OUT_temp <= MOD10OUT_temp 1;

якщо MOD10OUT_temp = "1010", а потім

MOD10OUT_temp <= "0000";

MOD10CARRY_temp <= '1 ';

ще

MOD10CARRY_temp <= '0 ';кінець, якщо;

ще

MOD10OUT_temp <= MOD10OUT_temp-1;

якщо MOD10OUT_temp = "1111", а потім

MOD10OUT_temp <= "1001";

MOD10CARRY_temp <= '1 ';

ще

MOD10CARRY_temp <= '0 ';кінець, якщо;

кінець, якщо;кінець, якщо;

закінчення процесу;

 
Подивіться на шматок коду опубліковано Фархад.Ви помітите, що MOD10CARRY_temp встановлено в "0", якщо в заяві Однак, це не присвоєно значення в іншу заяву.

Я сподіваюся, це допоможе u.

 
Ok, це третій раз, коли я намагаюся відправити, hopefulyl він буде працювати!

Якщо ви вважаєте, з точки зору HW, ви намагаєтеся контролювати вихід сигналу в цьому процесі різних 2:00.
Це як реалізації тригера з 2:00 матеріалів.

Я дуже здивований, що ви могли б імітувати це, і повідомлення про помилку від XST не допомагає взагалі.

BR,
/ Фархад Abdolian

 
Як сказав Фархад, коли ви пишете, як це його, як водіння ФІП-флоп з 2 години.
З нетерпінням її, що я бачу тільки SET сигнал не зобов'язаний бути чутливим краю.
Ви можете спробувати somethign так (це узагальнення).

якщо ви хочете бути асинхронних встановлено, то ви можете зробити що-то, як показано нижче.
якщо ви хочете бути синхронними, то ви можете поставити SET частина всередині годин
процес (CLK, RES, SET, UP_DN)
починати
якщо RES = '0 ', потім
MOD10OUT_temp <= (інші => '0 ');ELSIF SET = '1 ', то
MOD10OUT_temp <= MOD10OUT_temp 1;
якщо MOD10OUT_temp = "1010", а потім
MOD10OUT_temp <= "0000";
кінець, якщо;

ELSIF rising_edge (CLK), то
якщо UP_DN = '1 ', то
MOD10OUT_temp <= MOD10OUT_temp 1;
якщо MOD10OUT_temp = "1010", а потім
MOD10OUT_temp <= "0000";
MOD10CARRY_temp <= '1 ';
ще
MOD10CARRY_temp <= '0 ';

кінець, якщо;
ще
MOD10OUT_temp <= MOD10OUT_temp-1;
якщо MOD10OUT_temp = "1111", а потім
MOD10OUT_temp <= "1001";
MOD10CARRY_temp <= '1 ';
ще
MOD10CARRY_temp <= '0 ';

кінець, якщо;
кінець, якщо;

кінець, якщо;
закінчення процесу;
MOD10CARRY <= MOD10CARRY_temp;
MOD10OUT <= MOD10OUT_temp;

Поведінкові кінця;

 
вибачте за турботу, ви, хлопці.Мій намір було насправді використовувати "набір", вручну збільшити значення лічильника допомогою кнопки, тому я використовую краю спусковий гачок.

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

 

Welcome to EDABoard.com

Sponsor

Back
Top