Jump to content

    
Sign in to follow this  

Recommended Posts

вот возникло 3 вопроса:

 

1) можно ли процесс остановить из этого же процесса? То есть сам себя остановил чтобы?

2) можно ли сигнал, установленный в одном процессе перехватить в другом процессе(то есть менять в новом процессе)

 

3) в скобках у процессов указываются сигналы по которым он запускается. А вот допустим есть сигнал, запускающий процесс №1 . А каким он дожен быть? Переход из одного логического уровня в другой?

 

 

 

Прошу сильно не ругаться, за столь простые вопросы, просто не успеваю литературу читать. Заранее спасибо.

Edited by skilful

Share this post


Link to post
Share on other sites
Прошу сильно не ругаться, за столь простые вопросы, просто не успеваю литературу читать. Заранее спасибо.

 

Гы :)

 

1) можно ли процесс остановить из этого же процесса? То есть сам себя остановил чтобы?

Процесс нельзя никак остановить (в синтезируемых конструкциях) ...

 

 

2) можно ли сигнал, установленный в одном процессе перехватить в другом процессе(то есть менять в новом процессе)

Это будет несинтезируемая конструкция, поэтому делать так не рекомендуется..

 

 

3) в скобках у процессов указываются сигналы по которым он запускается. А вот допустим есть сигнал, запускающий процесс №1 . А каким он дожен быть? Переход из одного логического уровня в другой?

Процесс по условию начинает работать при любом изменении сигнала в скобках (сигнала чувствительности).

Edited by Link

Share this post


Link to post
Share on other sites

Если вдаваться в тонкости, то 3) не совсем правильно. Драйвить один сигнал из нескольких процессов можно при условии, что активный уровень - '0' или '1' выставляется только в одном из процессов. Остальные должны выдавать нечто типа "слабая единица", "слабый нуль" или "hi-z". К стати, совершенно не вижу никаких проблем с синтезируемостью данной конструкции - все выше перечисленные примитивы есть на выходных буферах современных FPGA, а некоторые семейства от Хилых и вообще имеют внутренние tri-state драйверы.

Share this post


Link to post
Share on other sites
К стати, совершенно не вижу никаких проблем с синтезируемостью данной конструкции

Тут дело не в синтезируемоста, а в языке.

 

Пусть есть два процесса запускающихся от клока.

В первом:

if(a='1') then
   b<='1';
end if;

Во втором:

if( a/='1') then
   b<='0';
end if;

конструкция вполне синтезируема, но компилятор ее не пропустит

Edited by DuHast

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this