[Qu (AT) rtus II] Как да се проведе процес за определено време

A

aeneas81

Guest
Здравейте всички,
Как мога да се провери дали сигнал, че има стойност за определен период, като 5ms, използвайки VHDL в Qu (AT) rtus II?
Опитах се да се използва Изчакайте, след симулация, това не е някакъв ефект изобщо.Надявам се, че всеки от вас ще бъде в състояние да им помогне.Благодаря предварително

Rgds,
aen

 
Здрасти,

Аз не разбирам какъв ти е проблема ...

Да се опитате да се проведе на сигнала в synthesisable vhdl код с чакаме изявление?Това не е възможно.Можете да creater HAV насрещно и бройте правилния брой глобални часовник ръбове ...

Да се опитате да видите в симулация по Qu (AT) rtus вътрешния сигнал, ако имате изградена е стабилен в продължение на 5 MS?Вие просто конфигурирате вашата waveform прозореца с избраните сигнал имат поглед върху симулация резултат ...

Ако това не е целта на Вашето търсене, моля подробно

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Усмивка" border="0" />
 
имате нужда от промяна на сигнала състояние открива съединение и забавяне брояч.
Например:
- Г - вход на сигнала
-------------------------------------------------- ----
- Тригер за забавяне на сигнала
-------------------------------------------------- ----
процес (clk)
започвам
ако rising_edge (clk), тогава
Q <= D;
край, ако;
края процес;
-------------------------------------------------- ------
- Change_state = "1", когато вход singal промяна състояние от 1 -> 0 или 0 -> 1
-------------------------------------------------- ------
change_state <= г XOR Q;
-------------------------------------------------- -------
- Пипнах те и задръжте случай на промяна на сигнала състояние
-------------------------------------------------- -------
процес (clk)
започвам
ако rising_edge (clk), тогава
ако първи = "1"
и след това
флаг <= "0";
elsif CE = "1"
и след това
флаг <= change_state;
край, ако;
край, ако;
края процес;
CE <= не флаг;
-------------------------------------------------- -----
-
Следващият прост ФЩМ които контролът няколко условия
- Cnt - забавяне Counter
-------------------------------------------------- -----
процес (състояние, cnt, знаме)
започвам
случай държавата е
когато s0 =>
ако cnt = end_of_5ms_period тогава
ако флага = "1"
и след това
nstate <= S1; - сигнал промени състоянието по време на 5 MS
- Период,
в противен случай
nstate <= S2; - всичко ОК сигнала изчезнал по време 5ms
край, ако;
в противен случай
nstate <= s0; - чакайте края на 5 MS период
когато S1 => ....
когато S2 => ....
.....
края случай;
края процес;

 
Уау, благодаря за кода, оса.Аз бях се опита с помощта на Counter версия, както е посочено от r_e_m_y, макар че той работи добре, аз съм просто се чудех има ли друга възможност за постигане на едно и също нещо,
като се използва по-малко код.Както и да е, благодаря много.

 
Аз не трябва да се тревожи за броя на редове от кода, който трябва да пиша.Работата е там, че всеки метод ще консумира много флип-flops, в зависимост от капитана часовник.Този номер се фиксира.

 

Welcome to EDABoard.com

Sponsor

Back
Top