Serhiy_UA 1 1 августа, 2019 Опубликовано 1 августа, 2019 · Жалоба Just now, RobFPGA said: Приветствую! Почти - при условии что транзакции на шине не идут одна за другой Удачи! Rob. Почему же! Там как бы конвейер получается, а он такой, что может все. В крайнем случае, можно поставить в параллель два конвейера, работающих с некоторой фазовой сдвижкой в один или полтора такта. Подобные приемы используются в высокоскоростных осциллографах. При заданных условиях задачи это самый оптимальный вариант. Иначе менять ПЛИС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 1 августа, 2019 Опубликовано 1 августа, 2019 (изменено) · Жалоба Рассматривайте входной каскад ПЛИС как интерфейс двупортового пересинхронизационного FIFO : запись ведется по фронту (MS&WR), каждая запись инкрементирует адрес фифо, затем адрес переводим код Грея, и - передаем на вторую половину FIFO, работающую на внутреннем клоке. Частота записи получается не выше 1/3*25=1/75нс, что всяко меньше внутренней частоты ПЛИС. Проблем с наложением записи быть не должно Изменено 1 августа, 2019 пользователем Aleх Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 1 августа, 2019 Опубликовано 1 августа, 2019 · Жалоба 5 minutes ago, Serhiy_UA said: Там как бы конвейер получается, а он такой, что может все - Классический синхронизатор (без матерой асинхронщины) потребует 3 такта FCLK. И это не конвейер. 2 minutes ago, Aleх said: запись ведется по фронту (MS&WR), каждая запись инкрементирует адрес фифо Отличное решение! -Если не считать нелюбовь TC к записи по фронту wen. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 1 августа, 2019 Опубликовано 1 августа, 2019 (изменено) · Жалоба 3 minutes ago, RobFPGA said: Отличное решение! -Если не считать нелюбовь TC к записи по фронту wen. Длительность импульса WR меньше периода частоты ПЛИС. Выходит что других решений, кроме как работать по фронту WR, и быть не может :-) Изменено 1 августа, 2019 пользователем Aleх Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvlwork 0 1 августа, 2019 Опубликовано 1 августа, 2019 · Жалоба 1 час назад, Aleх сказал: Длительность импульса WR меньше периода частоты ПЛИС Длительность WR больше полупериода частоты ПЛИС, поэтому, с извращениями, можно попробовать работать по обоим фронтам. Но, ИМХО, dcfifo/elastic buffer - лучший выход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 1 августа, 2019 Опубликовано 1 августа, 2019 · Жалоба dсfifo будет плохо работать, если клок на одной стороне прерывистый. WR в качестве клока не годится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 1 августа, 2019 Опубликовано 1 августа, 2019 · Жалоба Приветствую! 12 minutes ago, andrew_b said: dsfifo будет плохо работать, @Alex имел в виду самому простенькую FIFO-шку сваять. Можно сделать даже на регистрах, глубиной в 4 уровня. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться