използване VHDL (ако elsif elsif друго изречение) отговарят на проблема

M

Matrix_YL

Guest
HI всички

Аз срещнеш странно нещо в моя дизайн, когато аз искам да изпълнява държавна машина чрез използване (ако elsif elsif друг)

Код:

когато Чакащи =>

ако RNW = "1" и след това

state_next <= Получаване;

elsif Finish = "1" и след това

state_next <= Finish;

elsif Неспазването <= "1" и след това

state_next <= неуспех;

в противен случай

state_next <= Чакащи;

край, ако;
 
"waitig," Finish "," неуспех "," получава "са членки на крайни държавната машина, но защо да използвате някои от тях като infering състояние в програмата, това може да има проблеми тук. както виждате, в схемата на машината, състоянието "Край", е само един сигнал или глобални променливи, отколкото infering условие, че не е същото matter.it е моята идея, може би той също е грешно, но се надявах, че ще даде ли идея да се коригира това.

 
ако е в друго изявление, той също така понякога проблем за компилатор, когато две или повече условия TRU, Вие може да искате да мислите отново

 
когато Чакащи =>
ако RNW = "1"
и след това
state_next <= Получаване;
elsif Finish = "1"
и след това
state_next <= Finish;' then

elsif Неспазването <= "1"

и след това
state_next <= неуспех;
в противен случай
state_next <= Чакащи;
край, ако;

Предполагам, това трябва да бъде Неспазването ='1 'само
Може би това е проблем, причинени

 
Код:

когато Чакащи =>

ако RNW = "1" и след това

state_next <= Получаване;

elsif Finish = "1" и след това

state_next <= Finish;

- Elsif Неспазването <= "1" и след това

- State_next <= неуспех;

в противен случай

state_next <= Чакащи;

край, ако;
 
Първо трябва да се използва правилно състояние.
to '1', which is always true.

Моля, отбележете, че сте тестване, ако Провалът е по-малък или равен
на "1", която винаги е вярно.Вашият държавна машина никога няма да бъде в състояние Чакащи за повече от един цикъл.

 
tkbits написа:

Първо трябва да се използва правилно състояние.to '1', which is always true.
Моля, отбележете, че сте тестване, ако Провалът е по-малък или равен
на "1", която винаги е вярно.
Вашият държавна машина никога няма да бъде в състояние Чакащи за повече от един цикъл.
 
да Matrix_XL:
Какво трябва да се случи, когато всички thre условия са верни?

 
Matrix_YL написа:Код:

когато Чакащи =>

ако RNW = "1" и след това

state_next <= Получаване;

elsif Finish = "1" и след това

state_next <= Finish;

- Elsif Неспазването <= "1" и след това

- State_next <= неуспех;

в противен случай

state_next <= Чакащи;

край, ако;
 
Здравейте всички

Знаех какво е
проблемът с моя ФЩМ но аз не знам как да го решим.Всеки, който може да ми даде правилния код, за да решим проблема си.

THX предварително

 
maksya написа:

<= - Не е "по-малко или равно" оператор.
Тя е сигнал задача оператор в VHDL.

 
Здравейте всички

Благодарим ви за търпението! Имам информация не съществува
Код:

Неспазването <='1 '

 
U DONT използва, ако .. elsif .....

използвайте този случай по-добре
защото

ако .. elsif ..води до prirority ....първия случай се счита за първи ...използване на информацията случая ..Тогава не pripority идва ...С уважение
Shankar

 
seeeee матрица ... Аз бях първият да кажа и за Ур малка грешка ....
Благодаря за точки на бутона и ми помогна да избута ...

грижа се,
Салма: D

 

Welcome to EDABoard.com

Sponsor

Back
Top