Altera Ciclone CLOCK

Hi, All!

Первый раз пробую работать с программируемой логикой. В роли подопытного кролика - микросхема "Ciclone" EP1C3T144 от "Altera".

Подскажите, как в пакете "Quartus II" (V4.1 SP2) правильно назначить тактовую частоту? Внутри проекта я "нарисовал" (в схемном редакторе) цепь c именем "CLK", подключил ее ко всем входам "clk" всех используемых счетчиков, триггеров, е.т.с. К этой цепи подключен вывод (16-я ножка), который назначен как вход с именем "MASTER_CLOCK". На ножку подано 50МГц с внешнего генератора. В "Timing Wizard" я эту ножку указал, в "Assignments Timing Settings" - тоже.

Проект, в общем то, работает, но при компиляции "жалуется":

"Warning: Clock Setting TEST|MASTER_CLK is unassigned"

Что поправить (кроме кода ДНК - это уже поздно:)

Reply to
Sergey Efanov
Loading thread data ...

Hi, Harry!

О, спасибо большущее, Гарри! А то я уже убился об это предупреждение! Похоже, как раз мой случай - тем более, что в репортах о компиляции он ссылается на мой тактовый, как на глобальный!

Да? Я правильно понял сейчас, что "присобачив" PLL я автоматом получу нормальную синхронизацию?!

Ведь он меня просто пригвоздил сообщением:

"Warning: Output port clk0 of PLL pll100:inst3|altpll:altpll_component|pll feeds an output pin via global clocks -- jitter performance depends on switching rate of other design elements. Use PLL dedicated clock outputs to ensure jitter performance."

И я сколько ни бился, не смог убрать его. Может, и здесь - он тоже, "пошутил"? Проект то работает!. Или все таки его можно/нужно убрать?

Reply to
Sergey Efanov
Reply to
Tchigrinets Vladislav

Hi, Владислав!

То есть, больше никаких особых настроек для синхронизации не нужно? Сконфигурировать PLL, и к его выходу (выходам) подсоединить тактовые входы всех используемых сущностей?

Понял, спасибо за подсказку, пригодиться!

Ну, в моем кристалле есть!

У меня получается один вход для тактовой (16 ножка), с которой подается только на вход PLL. А уже с выхода PLL "кормятся" все.

Вот еще какой совет хочу попросить: есть машина состояний, она меняет свое состояние, естественно, по переходу тактового сигнала от "0" к "1". Мне нужно "наружу" вывести эти состояния и стробировать их той же тактовой. И получается, что в середине нужного мне интервала, тактовый сигнал как раз переходит из "1" в "0", а мне нужно наоборот. Вставлять в эту цепь инвертор мне кажется некрасиво: у него большая задержка, и по идее, - нестабильная. Я сейчас извратился, и выдал со второго выхода PLL второй тактовый сигнал той-же частоты, но со сдвигом 180 градусов. Что тоже, думаю, нехорошо и расточительно. А как это принято делать "в приличном обществе?"

Таких сообщений, слава Богу, - нету.

Спасибо, с Вашей помощью успехи не замедлят! :)

Reply to
Sergey Efanov

Здравствуйте Уважаемый Vladislav!

Wed Mar 30 2005 21:07, Tchigrinets Vladislav wrote to Sergey Efanov:

TV> Если у кристалла есть PLL, то им желательно _всегда_ пользоваться, clock TV> входы всех модулей проекта повесить на соответствующий выход pll при этом TV> "гарантируется" одновременное срабатывание всех модулей (отсутствие гонки TV> сигналов).

Случаем не путаете примитив GLOBAL(для клоков эквивавлентен SCLK) с PLL? Встроенный узел PLL ведь не для одновременности распространения клоков по селам FPGA, а для генерации внутри частоты, отличной от поданной на ножку global clock. По-моему, Вы все-таки путаете.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova
Reply to
Michael Tulupov
Reply to
Michael Tulupov
Reply to
Michael Tulupov
Reply to
Michael Tulupov
Reply to
Tchigrinets Vladislav
Reply to
Michael Tulupov

Здравствуйте, Уважаемый Vladislav!

Thu Mar 31 2005 22:49, Tchigrinets Vladislav wrote to Olga Nonova:

TV> Все зависит от объема проекта, частоты, на которой работает устройство и TV> т.д... Если устройство работает на 8 МГц, состоит из двух-трех счетчиков TV> (образно говорю) и проект имеет запас еще +100 МГц, то может и нет смысла TV> задействовать PLL, подать Clock на глобальную линию и направить усилия на TV> малое потребление схемы.

Да, Вы правы в том, что бывает выгоднее снаружи иметь простые схемы тактирования с низко частотой, а внутри FPGA (если потребуется) организовать с помощью ФАПЧ (PLL) частоту много больше на ядре с малым напряжением питания. Однако, такая синтзированная частота все равно должна распространятся по глобальным линиям, от них никуда не деться. Кроме того, очень много случаев совместного использования нескольких FPGA или быстрых ADC в компании с ними. Тогда приходится иметь один общий источник тактов, использование PLL внутри каждого может сыграть очень плохую шутку. PLL, кстати, основан на аналоговых приемах и поэтому чувствителен к импульсным помехам "по земле и питаниям".

TV> У меня в пректе разрабатываемый процессор работает на 128 МГц, занимает TV> 70% LE, 63% MEM, 50% pins, при этом максимальная частота (после анализа TV> DSE - design space explorer) не может превышать 131 МГц, Slack c0 = 0.250 TV> ns, TV> Slack c1 = 0.570 ns (т.е. запас по периоду тактовой частоты менее 1 нс). TV> Пришлось радиатор приклеить - греется шибко. В таких ситуациях джиттер TV> входного Clock будет приводить к дастабилизации работы всего DSP (FPGA). TV> В данном случае PLL играет роль маховика у двигателя, устраняя TV> кратковременную настабильность задающего генератора.

Гораздо меньший джиттер Вы поимели бы, если применили внешний кварцевый генератор с 128 MHz и встроенный выравниватель скважности primitiv ClkLock. А PLL, как любой ФАПЧ, дает очень заметный джиттер и для приличных по точности DSP операций обычно не подходит.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Здравствуйте, Уважаемый Michael!

Thu Mar 31 2005 23:02, Michael Tulupov wrote to Olga Nonova:

ON>> Встроенный узел PLL ведь не для одновременности распространения клоков ON>> по селам FPGA, а для генерации внутри частоты, отличной от поданной на ON>> ножку dedicated clock.

MT> Почему отличной ? Для встроенных PLL/DLL можно поставить выходную MT> частоту, равную входной. Что в Altera, что в Xilinx.

Можно то, можно. Hо нафига?

Всего Вам Хорошего Ольга

Reply to
Olga Nonova
Reply to
Michael Belousoff

Thu Mar 31 2005 23:25, Michael Tulupov wrote to Sergey Efanov: MT> Если тебе не нужно умножение/деление/точное удержание частоты - зачем MT> PLL ?

Нужно будет умножение. Пока я "играюсь" на 50МГц, но в итоге - это должно работать на 100МГц.

MT> Кстати, судя по вот этой мессаге - PLL у тебя уже присобачен:

SE>> "Warning: Output port clk0 of PLL

Да, это я его пробовал подключить.

MT> Тут он предупреждает, что если ты выводишь тактовую частоту с PLL MT> _напрямую_ MT> на выходную ногу плис - для этого желательно использовать не внутреннюю MT> логику, MT> а выделенный выход PLL (ноги 26 и 27 вроде как). Потому как на

Этого - не было на момент получения сообщения. Только входы clr внутри кристалла.

MT> Выведи тот выход, который заведён напрямую от входа клока, на MT> вышеописанную MT> выделенную ногу. Должно помочь.

Я попробовал сейчас подать выход с PLL на 26 ножку - сообщений стало два! То есть, у меня пока строго наоборот. :(

MT> Hо вообще-то это warning, обычно не несущий опасности :-)

Я себя пока этим успокоил, и занялся другими моментами.

MT> Вообще кинул бы ты схемку и распиновку выходов - было б легче помочь.

Я бы с огромным удовольствием и бесконечной благодарностью. На какой адрес? (архив проекта 377к).

Sergey Efanov

Reply to
Sergey Efanov

Thu Mar 31 2005 23:54, Michael Tulupov wrote to Sergey Efanov:

MT> А нужен PLL ? Всё же он не является необходимой сущностью, если не надо MT> умножать или стабилизировать частоту.

Нужно умножать - до 100МГц.

SE>> тактовой.И получается, что в середине нужного мне интервала, тактовый SE>> сигнал как раз переходит из "1" в "0", а мне нужно наоборот.

MT> А почему наоборот ? Кто снаружи мешает снимать состояние по спаду MT> тактовой, MT> а не по фронту ?

SDRAM хочУть фронт :)

MT> которого не меньше инвертора. Будет то же предупреждение про выход PLL. MT> Выводи через выделенный выход PLL.

Понял.

Sergey Efanov

Reply to
Sergey Efanov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.