Перейти к содержанию
    

констрейны в Quartus или как боротся с ripple clock

Здравствуйте !

Подскажите пожалуйста,кто знает, как задавать констрейны в квартусе и как бороться с ripple clock?, в случае когда нет PLL и есть только один входной клок(flex10k)

 

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Констрейны задаются в sdc файле и подключается к проекту.

17 hours ago, addi II said:

в случае когда нет PLL и есть только один входной клок(flex10k)

у меня входные клоки вот так описываются

 

create_clock -period 25MHz 	 	 -name {clk_25Mhz} 		 [get_ports {CLK_25}] 
create_clock -period 100MHz 	 -name {clk_100Mhz_slot} [get_ports {REF_CLK_PCIE_SLOT}] 
create_clock -period 322.2656MHz -name {clk_322Mhz} 	 [get_ports {REF_CLK_10G}] 

 

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 hours ago, addi II said:

как бороться с ripple clock

судя по форуму альтеры, это делитель клока у вас?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на форуме альтеры не присутсвую, но проблема с "альтерой" 5576XC3 присутствуют

Спасибо за пример вот что у меня и квартус не говорит что не может принять такие assignments при попытки их импортировать

create_clock -name {CLK_50MHZ} -period 20.000ns -waveform { 0.000 2.000 } [get_ports {CLK_50MHZ}]
create_clock -name {CLK_10MHZ} -period 100.000ns -waveform { 0.000 2.000 } [get_ports {CLK_10MHZ}]

В Top'e два входа с кварцевых генераторов CLK_50MHZ, CLK_10MHZ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 minutes ago, addi II said:

на форуме альтеры не присутсвую

я не правильно выразился. я просто форум альтеры погуглил, что такое ripple clock, просто не получал от квартуса не разу такой штуки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

46 minutes ago, new123 said:

а что это за вейвформ такой? на 2 наносеки

Действительно, прогу прощения не заметил, сделал побольше

Квартус категорически не хочет импортировать SDC, может всему виной flex10ke?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, addi II said:

Квартус категорически не хочет импортировать SDC

а как вы его импортируете? Я его просто в блокноте пишу и подключаю к проекту. Если ему что то не нравится, квартус во время компиляции пишет warning.

Как вариант, открыть в квартусе Time Analyzer, там кликнуть Read SDC, он парсит все sdc файлы проекта и тоже может выдать  warning.
Еще как вариант, если думаете, что не соблюдаете синтаксис, в том же Time Analyzer в менюшке можно кликнуть create clock и запустится мастер создания клока, потом его можно сохранить в файл.

10 minutes ago, addi II said:

сделал побольше

этого я чуть не понял. Я думал в waveform используют описание рост и спад сигнала в рамках такта. Там по хорошему, по дефолту прописать 
 

create_clock -name {CLK_50MHZ} -period 20.000ns -waveform { 0.000 10.000 } [get_ports {CLK_50MHZ}]
create_clock -name {CLK_10MHZ} -period 100.000ns -waveform { 0.000 50.000 } [get_ports {CLK_10MHZ}]

но могу ошибаться, я вообще пропускаю эту опцию.

Изменено пользователем new123

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 4/10/2019 at 7:06 PM, addi II said:

как бороться с ripple clock?

Почему у вас вообще возникли тактовые частоты такого вида?
В синхронном проекте этого быть не должно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал, к сожалению квартус ругается что не поддерживает FLEX10KE (

Делаю так - Assignments -> import assignments

Попытался тоже через Timing analizer прочитать sdc - тоже самое - не поддерживает

29 minutes ago, AnatolySh said:

Почему у вас вообще возникли тактовые частоты такого вида?
В синхронном проекте этого быть не должно!

Может изза того что я делаю клок для UARTA через таймер(тактируемый от основного клока)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, addi II said:

Пробовал, к сожалению квартус ругается что не поддерживает FLEX10KE (

https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/solutions/rd07262013_295.html

Quote

Design software support for FLEX, APEX, ACEX, and HardCopy Stratix device families is not provided in versions of the Quartus II software beginning with version 9.1. Use the Quartus II software version 9.0 or earlier to support those devices.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, addi II said:

Может изза того что я делаю клок для UARTA через таймер

клок, порождаемый внутри устройства из другого клока, описывается в sdc отдельно.

как пример

create_generated_clock -name {clk_50Mhz} -divide_by 2 -source [get_ports {REF_CLK_PCIE_SLOT}] [get_registers {clk_reg_50Mhz}]

а в коде делитель на регистрах

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, addi II said:

Может изза того что я делаю клок для UARTA через таймер(тактируемый от основного клока)?

Таймер генерит clk_ena для UARTA, все триггеры которого (как и остальные триггеры проекта) тактируются от главного клока.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Угу, от главного клока делаю таймер, далее делаю клок от трига таймера. Этим клоком тактирую логику приёма данных

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...