реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Обнуление сигнала.
Jenya7
сообщение Mar 1 2017, 10:51
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 316
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(Golikov A. @ Mar 1 2017, 15:36) *
Зря вы отвергли предлагаемые вам пути решения проблемы (предлагали в других темах)

У вас "программистическое" мышление, ну так и надо делать программисткие описания.
Будет не супер оптимально, зато результат будет без боли и гораздо быстрее.
У меня для вас даже есть рецепт успеха, всего то надо на верилог переехать, программистам там удобнее.

я не все отверг. кое что взял. sm.gif
но верилог это тоже описание железа. там работают те же концепции - и там и там пишем под одно и то же железо - FPGA.


Вобщем то многие вопросы отпали бы если разрешить один вопрос - достаточно ли одного клока для захвата сигнала другим процесом.
допустим частота 50 Мега - клок 20 нано.
время распостранения сигнала - я не помню точные цифры но что то вроде 5-10 нано на логическом элементе. несколько элементов и сигнал потерян?

Сообщение отредактировал Jenya7 - Mar 1 2017, 10:52
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Mar 1 2017, 10:57
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 409
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(Jenya7 @ Mar 1 2017, 13:29) *
первый опасный. у второго процесса будет только один клок захватить ram_command.
а второй это идея. SPI_DATA_LATCH защелкнет мне и состояние ram_command . да. это идея.... следущая тема будет - где поднять и где опустить SPI_DATA_LATCH. sm.gif

Так а почему вдруг другой процесс не сможет следующим клоком захватить ram_command ? У вас логики почти нет в процессе, где формируется ram_command.
По сути передачу сигналов между двумя процессами можно рассматривать как передачу данных между двумя D триггерами.
Допустим по 3 клоку у вас формируется новый сигнал ram_command. На 4 клоке этот сигнал принимается следующим процессом.
Вы ради интереса промоделируйте с временнымии задержками. Вопросы отпадут сами собой. Обычно беды появляются когда очень много слоёв логики формируют сигнал....

Сообщение отредактировал Flip-fl0p - Mar 1 2017, 11:00
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Mar 1 2017, 11:07
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1 316
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(Flip-fl0p @ Mar 1 2017, 15:57) *
Так а почему вдруг другой процесс не сможет следующим клоком захватить ram_command ? У вас логики почти нет в процессе, где формируется ram_command.
По сути передачу сигналов между двумя процессами можно рассматривать как передачу данных между двумя D триггерами.
Допустим по 3 клоку у вас формируется новый сигнал ram_command. На 4 клоке этот сигнал принимается следующим процессом.
Вы ради интереса промоделируйте с временнымии задержками. Вопросы отпадут сами собой. Обычно беды появляются когда очень много слоёв логики формируют сигнал....

а вы думаете там формируется два D-FLOP?
хм...а что если буфферизировать для надежности? RAM_COMMAD_1 <= RAM_COMMAND; и второй процесс считывает RAM_COMMAD_1. тогда сигнал точно не потеряется.
или даже так
RAM_COMMAD_1 <= RAM_COMMAND;
RAM_COMMAD_2 <= RAM_COMMAND_1;
такую шутку делаю в энкодерах. Poor man debouncing.

Сообщение отредактировал Jenya7 - Mar 1 2017, 12:42
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Mar 1 2017, 11:23
Сообщение #19


Местный
***

Группа: Участник
Сообщений: 409
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(Jenya7 @ Mar 1 2017, 14:07) *
а вы думаете там формируется два D-FLOP?
хм...а что если буфферизировать для надежности? RAM_COMMAD_1 <= RAM_COMMAND; и второй процесс считывает RAM_COMMAD_1. тогда сигнал точно не потеряется.
или даже так
RAM_COMMAD_1 <= RAM_COMMAND;
RAM_COMMAD_2 <= RAM_COMMAND_1;

Ну в процессе который формирует RAM_COMMAND, этот процесс записывает эту команду в регистр. А регистр в ПЛИС это обычно набор D-триггеров. В зависимости от количества слоёв логики для формирования этого сигнала, после переднего фронта сигнал формируется с некоторой задержкой. А вот что происходит во втором процессе я без понятия.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Mar 1 2017, 11:51
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1 316
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(Flip-fl0p @ Mar 1 2017, 16:23) *
Ну в процессе который формирует RAM_COMMAND, этот процесс записывает эту команду в регистр. А регистр в ПЛИС это обычно набор D-триггеров. В зависимости от количества слоёв логики для формирования этого сигнала, после переднего фронта сигнал формируется с некоторой задержкой. А вот что происходит во втором процессе я без понятия.

да. по моему кое что прояснилось. спасибо.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Mar 1 2017, 11:54
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 822
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Jenya7 @ Mar 1 2017, 13:51) *
допустим частота 50 Мега - клок 20 нано.
время распостранения сигнала - я не помню точные цифры но что то вроде 5-10 нано на логическом элементе. несколько элементов и сигнал потерян?
Для современных FPGA 50 МГц пустяки. STA вам скажет, укладываетесь вы в требуемую частоту или нет. Если нет, тогда и будете вставлять лишние регистры.
Go to the top of the page
 
+Quote Post
Jenya7
сообщение Mar 1 2017, 12:17
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1 316
Регистрация: 29-03-12
Пользователь №: 71 075



Цитата(andrew_b @ Mar 1 2017, 16:54) *
Для современных FPGA 50 МГц пустяки. STA вам скажет, укладываетесь вы в требуемую частоту или нет. Если нет, тогда и будете вставлять лишние регистры.

а я нигде не определил частоту клока. я даже не нашел у квартуса в настройках где там частоту выбирать.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Mar 1 2017, 12:29
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 409
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(Jenya7 @ Mar 1 2017, 15:17) *
а я нигде не определил частоту клока. я даже не нашел у квартуса в настройках где там частоту выбирать.

Задавать Вы её будете потом когда начнете описывать констрейны в .SDC файле.
А максимальная частота проекта показывается после полной компиляции пректа, либо в программе TimeQuest.



Go to the top of the page
 
+Quote Post
Jenya7
сообщение Mar 1 2017, 12:34
Сообщение #24


Профессионал
*****

Группа: Участник
Сообщений: 1 316
Регистрация: 29-03-12
Пользователь №: 71 075



да .вижу. спасибо.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st October 2017 - 10:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01313 секунд с 7
ELECTRONIX ©2004-2016