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

 
 
> Констрейнты при переходе из одного клокового домена в другой., (Как правильно установить)
Amper25
сообщение Aug 4 2008, 19:01
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 215
Регистрация: 10-04-07
Пользователь №: 26 929



Вообщем, такая ситуация.

Есть источник входных данных, который по своему клоку(CLK_WR) выдает 8 бит. Есть выходной, так сказать "потребитель", который эти же данные принимает, но уже со своим клоком(CLK_RD).
Данные от источника идут не сплошным потоком, а частями, пакетами.

Для передачи между ними, я использовал FPGA-шную встроенную SRAM(буфер так сказать). Входные данные записываются в этот буфер. Затем, когда он заполнится(пакет принят), я устанавливаю спец. флаг и принимающая часть по этому флагу, начинает читать из буфера и по окончании чтения сбрасывает флаг. По сброшенному флагу, "источник данных" начинает запись в буфер следующий пакет.

Проблема в том, что кроме передачи пакета, надо также передавать спец. число с адресом этого пакета.
Я cделал так: 1.vhdl

Сигналы '1' на входах FLAG_SET и FLAG_CLR имеют длительность в 5-10 периодов WR_CLK, так что однозначно распознаются. Да и сам пакет передается без искажений и наложения одного пакета на другой.

Проблема состоит в том, что время от времени, портится значение PKT_ADDR_OUT.
То есть при переходе от одного CLK домена в другой, сигналы FLAG_POLL и PKT_ADDR_OUT передаются с разными задержками, в результате чего PKT_ADDR_OUT читается в тот момент, когда оно меняется.

Каким образом мне ограничить разницу во временах прихода флага и данных? Какие из constraints за это отвечают?

Среда разработки: Quartus, используется "classic timing analiser"

ЗЫ: хотел добавить, что проблема именно с constraints а не с логикой работы системы, так как если менять другие блоки, которые совершенно не связаны с даным, при компиляции, расположение на кристалле меняется, и проблема то проявляется то исчезает. То есть дело именно в разводке.

Сообщение отредактировал Amper25 - Aug 4 2008, 18:57
Прикрепленные файлы
Прикрепленный файл  1.vhdl.txt ( 1.12 килобайт ) Кол-во скачиваний: 81
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Amper25   Констрейнты при переходе из одного клокового домена в другой.   Aug 4 2008, 19:01
- - makc   В общем случае нужно использовать асинхронное FIFO...   Aug 4 2008, 19:01
- - Amper25   Мне пришлось использовать все таки не FIFO а двупо...   Aug 4 2008, 19:06
|- - makc   Цитата(Amper25 @ Aug 4 2008, 23:06) Мне п...   Aug 4 2008, 19:14
- - Amper25   Это все понятно, но из-зи спцификы девайса который...   Aug 4 2008, 19:25
|- - des00   Цитата(Amper25 @ Aug 4 2008, 14:25) Мне н...   Aug 5 2008, 02:29
|- - Maverick   Цитата(des00 @ Aug 5 2008, 05:29) ИМХО не...   Aug 5 2008, 11:55
|- - des00   Цитата(Maverick @ Aug 5 2008, 06:55) Изви...   Aug 6 2008, 05:44
|- - Maverick   Цитата(des00 @ Aug 6 2008, 08:44) эти мод...   Aug 6 2008, 06:53
|- - des00   Цитата(Maverick @ Aug 6 2008, 01:53) А им...   Aug 6 2008, 11:26
|- - Maverick   Цитата(des00 @ Aug 6 2008, 14:26) Спаси...   Aug 6 2008, 11:44
- - Amper25   ЦитатаЕсли адрес это адрес в этой памяти, откуда н...   Aug 5 2008, 09:33
|- - makc   Цитата(Amper25 @ Aug 5 2008, 13:33) Я уст...   Aug 5 2008, 09:46
|- - des00   Цитата(Amper25 @ Aug 5 2008, 04:33) Да у ...   Aug 5 2008, 10:17
- - Amper25   ЦитатаВы ничего не сказали про свойства этих такто...   Aug 5 2008, 09:52
- - Amper25   Цитатаеще раз повторяю, у вас сделано не так (...   Aug 5 2008, 18:45


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

 


RSS Текстовая версия Сейчас: 17th August 2025 - 00:49
Рейтинг@Mail.ru


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