Использую в проекте MegaWizard FIFO Partitioner: 2 FIFO на 1 M-RAM. Для одной из очередей установил частоту записи 27МГц, чтения - 125МГц (частота шины Avalon). Почитав
User Guide (стр.7, внизу), подал на tdm_clk 375МГц. Обозначил остальные сигналы.
1. Записал в очередь ряд последовательных чисел. Прочитал содержимое по dma (32бит). Результат - некоторые значения байтов в слове заменяются предыдущими значениями, некоторые слова пропадают.
2. Изменил частоту записи с 27МГц на 125МГц (кратно 375МГц). Результат - считаны верные значения.
3. Изменил частоту записи с 125МГц на 75МГц (кратно 375МГц). Результат - считаны верные значения, но некоторые слова повторяются.
Как я понимаю ("FIFO ports can be operated in completely asynchronous clock domains"), сдвиг фаз тактирующих клоков не имеет значения.
Тогда можно ли объснить разницу в результатах тем, что первоначальная частота (27МГц) была не кратна частоте tdm_clk (375МГц); т.е. действительно ли должны частоты записи и чтения быть кратны этой частоте? Спасибо.
Сообщение отредактировал Veg@ - Jan 22 2011, 22:30