Jump to content

    

ПЛИС, лёгкий старт

if (Enable = '1' and t_Enable = '0') then
   start_Enable <= '1';
else
   start_Enable <= '0';
end if;

t_Enable <= Enable;  //задержка Enable на один такт

 

где srart_Enable - единичный импульс синхронизированный с тактовой сеткой от которой работает процесс.

Edited by gibson1980

Share this post


Link to post
Share on other sites
спасибо большое за ответы, к сожалению скайп у меня отсутствует...

дело в том, что сигнал запуска-Enable является асинхронным, он может появиться в любой момент времени и никак не привязан к clockАМ... это всего-лишь импульс, продолжительностью несколько микросекунд (переход из '1' в '0' несколько микросекунд в нуле, а далее вновь '1') Так вот, именно этот импульс необходимо обнаружить, а далее процесс выполняется по clockАМ.

Тогда читайте у меня на сайте "Краткий курс", глава о пересечении клоковых доменов (CDC)...

А поставить скайп - это проблема?

 

Share this post


Link to post
Share on other sites

Уважаемый iosifk, прочитав рекомендованную вами статью многое прояснилось, после чего добавил в свой код простейший синхронизатор получил то что мне требовалось! огромное спасибо!

Share this post


Link to post
Share on other sites

пример триггера

----Триггеры, тактируемые передним фронтом с асинхронным сбросом и разрешением тактового сигнала (Rising Edge Filp-Flop with Asynchronous Reset and Clock Enable)
library IEEE;

use IEEE.std_logic_1164.all;

entity dff_ck_en is

port (data, clk, reset, en : in std_logic;

q :out std_logic);

end dff_ck_en;

architecture behav of dff_ck_en is

begin

process (clk, reset) begin

if (reset = '0') then

q <= '0';

elsif (clk'event and clk = '1') then

if (en = '1') then

q <= data;

end if;

end if;

end process;

end behav;

 

насчет сброса - он также может быть синхронным (выбор за Вами).

 

Совет придерживайтесь рекомендаций по описанию для синтеза.

Share this post


Link to post
Share on other sites
Уважаемый iosifk, прочитав рекомендованную вами статью многое прояснилось, после чего добавил в свой код простейший синхронизатор получил то что мне требовалось! огромное спасибо!

Может быть Вам нужны персональные занятия по ПЛИС?

 

Share this post


Link to post
Share on other sites
Может быть Вам нужны персональные занятия по ПЛИС?

:biggrin:

 

Share this post


Link to post
Share on other sites

to Maverick

спасибо...код который вы написали встречается в каждой книжке Бибило...

с этим вроде все понятно...

просто я заплутал в трех соснах, так как данная тема (написание кода на VHDL) для меня малознакома, после прочтения статьи iosifkА задачу решил...еще раз спасибо за НЕРАВНОДУШИЕ!

Edited by AlexeyDeveloper

Share this post


Link to post
Share on other sites
Может быть Вам нужны персональные занятия по ПЛИС?

Спасибо за предложение. В связи с этим хотелось бы получить ответы на следующие вопросы:

1.Формат курсов?

2.Что в Ваших курсах есть такого, чего нету в Ваших статьях и книжках Бибило, Суворовой?

3 и др. Ваши условия!?

подробности можно на мейл postbox-lexa@ya точка ru

Share this post


Link to post
Share on other sites
Может быть Вам нужны персональные занятия по ПЛИС?

А может группу соберем? :biggrin:

Edited by exiro

Share this post


Link to post
Share on other sites
Знающие люди, подскажите со своей профессиональной точки зрения, с чего лучше стартануть?

 

Жаль, не могу причислить себя к знающим, но мне довольно легко удалось стартануть с платы Марсоход2 - http://marsohod.org/

Можно заказать устройство почтой, но за скорость и качество доставки ничего сказать не могу - ездил за платой сам.

Устройство весьма увлекательное и хорошо подходит для изучения основ HDL.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this