dmit0373 0 31 января, 2013 Опубликовано 31 января, 2013 · Жалоба Всем привет !!! Вот возник вопрос и хочу услышать советы профессионалов. Суть вопроса в следующем. Я на отладочной плате для FPGA Spartan - 6 и отладочной плате для ЦАПА AD9726 разработал DDS(синтезатор частоты). Тактируется блок DDS частотой 400 Мгц для возмоности выдавать частоты до 160 Мгц. Всё получилось отлично !!! На осциллографе идеальная синусоида, на спектроанализаторе вторая гармоника меньше первой на 50 dB. После всех проверок решил добавить в проект возможность управления амплитудой сигнала, для чего в FPGA между блоком DDS и выходами на ЦАП поставил цифровой умножитель размерностью 16X12 (16 - разрядность ЦАПа, 12 - разрядность кода управления амплитудой). И тут начались проблемы. При подключении к выходу ЦАПа осциллографа, на сигнале появились "иголки" и всякие неровности. Стал разбираться. Открыл хелп Xilinxa при генерации умножителей. Там нашёл табличку, согласно которой максимальная частота работы умножителя 18Х18 при 3 - х ступенях конвеера равна 250 Мгц. Понял что причина в этом. Но в тоже время в этом же хелпнике прочитал что увеличение ступеней конвеера приводит к увеличению производительности. Попробовал увеличить конвеер до 10 и чудо !!! На выходе опять идеальная синусоида, причём с управляемой амплитудой :)))). А теперь внимание вопрос !!! Понятно что конвееризация увеличивает производительность. Но как определить на какой максимальной частоте будет работать умножитель с 10 - ю ступенями конвееризации ???? Просто мне надо выбрать с какой микросхемой дальше работать, а для этого нужна гарантия что умножитель не начнёт "чудить" от температуры или если я проект увеличивать буду. Можно ли дальше работать со Spartan-6 или лучше перейти на более дорогую Virtex-6. Для неё максимальная частота умножителя при 3 - х ступенях конвеера равна 450 Мгц, что меня вполне устраивает :)))) Заранее спасибо за советы !!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
litv 0 31 января, 2013 Опубликовано 31 января, 2013 · Жалоба 1)Можно задавать временные констрейны - и после трассировки ПЛИС увидеть в отчете максимальную частоту под выбранный Вами кристалл (и с Вашим числом задержек у умножителя). 2)Можно моделировать схему с извлеченными задержками после трассировки и увидеть как она работает на заданной частоте. Можно узнать все самому (и для виртекса) и без нас. Тактовая может меняться от процента загрузки кристалла. так по опыту 450 МГц = это для virtex6. "Тому не нужен черт, у кого он за плечами" :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 1 февраля, 2013 Опубликовано 1 февраля, 2013 · Жалоба Каким образом вы делаете 400MSps на выход? Ведь ни перемножители, ни память на такой частоте не работают. Тут логично использовать DDR и формировать сигнал в два потока - чётный/нечётный. И перемножители тоже поставить по штуке в каждый поток, тогда их частота ограничится величиной 200МГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Bad0512 2 1 февраля, 2013 Опубликовано 1 февраля, 2013 · Жалоба Всем привет !!! Вот возник вопрос и хочу услышать советы профессионалов. Суть вопроса в следующем. Я на отладочной плате для FPGA Spartan - 6 и отладочной плате для ЦАПА AD9726 разработал DDS(синтезатор частоты). Тактируется блок DDS частотой 400 Мгц для возмоности выдавать частоты до 160 Мгц. Всё получилось отлично !!! На осциллографе идеальная синусоида, на спектроанализаторе вторая гармоника меньше первой на 50 dB. После всех проверок решил добавить в проект возможность управления амплитудой сигнала, для чего в FPGA между блоком DDS и выходами на ЦАП поставил цифровой умножитель размерностью 16X12 (16 - разрядность ЦАПа, 12 - разрядность кода управления амплитудой). И тут начались проблемы. При подключении к выходу ЦАПа осциллографа, на сигнале появились "иголки" и всякие неровности. Стал разбираться. Открыл хелп Xilinxa при генерации умножителей. Там нашёл табличку, согласно которой максимальная частота работы умножителя 18Х18 при 3 - х ступенях конвеера равна 250 Мгц. Понял что причина в этом. Но в тоже время в этом же хелпнике прочитал что увеличение ступеней конвеера приводит к увеличению производительности. Попробовал увеличить конвеер до 10 и чудо !!! На выходе опять идеальная синусоида, причём с управляемой амплитудой :)))). А теперь внимание вопрос !!! Понятно что конвееризация увеличивает производительность. Но как определить на какой максимальной частоте будет работать умножитель с 10 - ю ступенями конвееризации ???? Просто мне надо выбрать с какой микросхемой дальше работать, а для этого нужна гарантия что умножитель не начнёт "чудить" от температуры или если я проект увеличивать буду. Можно ли дальше работать со Spartan-6 или лучше перейти на более дорогую Virtex-6. Для неё максимальная частота умножителя при 3 - х ступенях конвеера равна 450 Мгц, что меня вполне устраивает :)))) Заранее спасибо за советы !!!! Ставить больше 4-х ступеней конвеера на умножитель бессмысленно. Посмотрите структуру блока умножителя, и вам всё сразу станет ясно. Все максимальные частоты прописаны в даташитах на соответствующие семейства ПЛИС. Почитайте их - это очень полезно. Посмтореть во что превращается ваш код и где "узкие места" по времянке можно в technology schematic. Судя по предыдущим вопросам понятие timing constraints вам незнакомо - изучите, без этого делать высокскоростные дизайны просто невозможно. P.S. В вашем конкретном случае удобно разложить сигнал на две фазы, тогда требования по времянке станут в два раза легче, как вам уже выше советовал Timmy. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
6oraTblpb 0 5 февраля, 2013 Опубликовано 5 февраля, 2013 · Жалоба FPGA Spartan - 6 ... Тактируется блок DDS частотой 400 Мгц ..... максимальная частота работы умножителя 18Х18 при 3 - х ступенях конвеера равна 250 Мгц. ...... нужна гарантия что умножитель не начнёт "чудить" от температуры или если я проект увеличивать буду. Можно ли дальше работать со Spartan-6 или лучше перейти на более дорогую Virtex-6. Для неё максимальная частота умножителя при 3 - х ступенях конвеера равна 450 Мгц, что меня вполне устраивает :)))) Заранее спасибо за советы !!!! Насчет почитать даташиты - очень полезный совет. Ну а по теме: с такими частотами работать со спартан нельзя, переходите на виртекс. Или на свой страх и риск оставайтесь на спартане, но я уверен, что вы обязательно(!) столкнетесь с проблемами, в том числе и с теми, которые сами озвучили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Bad0512 2 5 февраля, 2013 Опубликовано 5 февраля, 2013 · Жалоба Посмотрел только что в даташитах на 6 Спартан - максимальная частота работы умножителя (все внутренние регистры включены) для самого шустрого спидгрейда -3 составляет 390МГц. Делайте выводы. Только полифазность спасёт отца русской демократии... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться