Jump to content

    

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

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

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

 

Спасибо!

Share this post


Link to post
Share on other sites

Констрейны задаются в 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}] 

 

Edited by new123

Share this post


Link to post
Share on other sites
17 hours ago, addi II said:

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

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

Share this post


Link to post
Share on other sites

на форуме альтеры не присутсвую, но проблема с "альтерой" 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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
22 minutes ago, addi II said:

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

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

Share this post


Link to post
Share on other sites
46 minutes ago, new123 said:

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

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

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

Share this post


Link to post
Share on other sites
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}]

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

Edited by new123

Share this post


Link to post
Share on other sites

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

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

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

29 minutes ago, AnatolySh said:

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

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

Share this post


Link to post
Share on other sites
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.

 

Share this post


Link to post
Share on other sites
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}]

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

Share this post


Link to post
Share on other sites
2 hours ago, addi II said:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now