Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: а есть ли возможность ставить параметры Альтеровским примитивам?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
yes
в ксайлинской доке есть такие конструкции

то есть, возможность сконфигурить все параметры примитива

а в доке альтеры не нашел, а мегавизард генерит какой-то отстой smile.gif в нем выбора параметров нет, а есть какие-то мутные preset-ы (они же оказываются и в hdl)

это можно выставить в чип-едиторе, но как привезать это к сорцам? чтобы после пересинтеза это сохранилось?
можно наверно какой-то скриптец tcl написать, но хотелось бы (если есть возможность) связать это с сорцами

Код
   DCM_BASE #(
              .CLKDV_DIVIDE(2.0), // Divide by: 1.5,2.0,2.5,3.0,3.5,4.0,4.5,5.0,5.5,6.0,6.5
              // 7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 or 16.0
              .CLKFX_DIVIDE(2), // Can be any integer from 1 to 32
              .CLKFX_MULTIPLY(2), // Can be any integer from 2 to 32
              .CLKIN_DIVIDE_BY_2("FALSE"), // TRUE/FALSE to enable CLKIN divide by two feature
              .CLKIN_PERIOD(28.4), // Specify period of input clock in ns from 1.25 to 1000.00
              .CLKOUT_PHASE_SHIFT("NONE"), // Specify phase shift mode of NONE or FIXED
              .CLK_FEEDBACK("1X"), // Specify clock feedback of NONE, 1X or 2X
              .DCM_PERFORMANCE_MODE("MAX_SPEED"), // Can be MAX_SPEED or MAX_RANGE
              .DESKEW_ADJUST("SYSTEM_SYNCHRONOUS"), // SOURCE_SYNCHRONOUS, SYSTEM_SYNCHRONOUS or
              // an integer from 0 to 15
              .DFS_FREQUENCY_MODE("LOW"), // LOW or HIGH frequency mode for frequency synthesis
              .DLL_FREQUENCY_MODE("LOW"), // LOW, HIGH, or HIGH_SER frequency mode for DLL
              .DUTY_CYCLE_CORRECTION("TRUE"), // Duty cycle correction, TRUE or FALSE
              .FACTORY_JF(16'hf0f0), // FACTORY JF value suggested to be set to 16'hf0f0
              .PHASE_SHIFT(0), // Amount of fixed phase shift from -255 to 1023
              .STARTUP_WAIT("FALSE") // Delay configuration DONE until DCM LOCK, TRUE/FALSE
              ) DCM_SDRAM_inst(
                              .CLK0(sdr_clk), // 0 degree DCM CLK output
                              .CLK90(sdr90_clk), //
                              //.CLKFB(sdrclkfb), // DCM clock feedback
                                        .CLKFB(sdrclk),
                              .CLKIN(bus_clk), // Clock input (from IBUFG, BUFG or DCM)
                              .RST(bus_reset) // DCM asynchronous reset input
                              );

   ////CLOCK
SM
Да можно конечно, только до всего самому доходить, глядя на всякие там quartus/eda/sim_lib/xxxx_atoms.v. Вплоть до LUTов с заданной маской и в заданном режиме. А зачем такой изврат? Надо что-то такое хитровыделанное, что визардом не сгенерить?
yes
Цитата(SM @ Nov 23 2009, 18:21) *
Да можно конечно, только до всего самому доходить, глядя на всякие там quartus/eda/sim_lib/xxxx_atoms.v. Вплоть до LUTов с заданной маской.

то есть доку можно не искать...

а в мегавизарде нафига они эти ппараметры сделали серыми? можно ли их разъенеблить?

меня продолжает pll интересовать, в продолжение прошлого вопроса.
то есть после впайки клокового драйвера сигнал стал получше - то есть скопом не ловился (хотя методу программисты использовали неправильную и это под вопросом)
но на длинных периодах - минуты - по результатам работы софта очень похоже на пропадание/лишние такты - типа сайкл-слипы

приходится таки ковырять

--------------

то есть хочется very-low bandwidth задать.
SM
Цитата(yes @ Nov 23 2009, 18:25) *
то есть доку можно не искать...

да.

Цитата(yes @ Nov 23 2009, 18:25) *
а в мегавизарде нафига они эти ппараметры сделали серыми? можно ли их разъенеблить?

Какие эти-то? Там оно для разных семейств плисов по-разному серые. Единственная дока есть по универсальной altpll - http://www.altera.com/literature/ug/ug_altpll.pdf
А по конкретным примитивам каждого семейства - доков нет. Я на половину всего этого вышел только разгребая нетлисты от synplify.


сами ради интереса посмотрите в том же sim_lib примитив stratixiii_pll - там крышу вынесет от кол-ва параметров.
yes
Цитата(SM @ Nov 23 2009, 18:28) *
сами ради интереса посмотрите в том же sim_lib примитив stratixiii_pll - там крышу вынесет от кол-ва параметров.


тут циклон...
ну и в чип-едиторе не так много параметров low-level
а много всяких auto которые, наверно, разгребаются в самой модели - я уже попробовал

ну а в мегавизорде выключено custom bandwidth, что и вызвало потребность в ковырянии

а TCL или assignment editor можно применить для задания параметров? как?
SM
Цитата(yes @ Nov 23 2009, 18:41) *
а TCL или assignment editor можно применить для задания параметров? как?


TCL... Попарсить исходник, поправить параметры. Наверное. В общем не знаю.
SFx
вот тут описалово по всем портам и параметрам c:\altera\90\quartus\common\help\hdl.chm::/mega/mega_file_altpll.htm
так же полистайте след файлы на предмет вхождеения "altpll"
c:\altera\90\quartus\eda\synthesis\cycloneiii.*
c:\altera\90\quartus\eda\synthesis\altera_mf.*
c:\altera\90\quartus\eda\sim_lib\cycloneiii_atoms.*
вместо * : .vhd или .v
а еще в алдеке можно ткнуь правой кнопкой по библиотечному компоненту altpll и выбрать Copy Instatiation
des00
Цитата(yes @ Nov 23 2009, 09:25) *
то есть хочется very-low bandwidth задать.


хмм я свободно ковырял bandwidth в мегавизарде для третьего сыклона, как простые так и продвинутые PLL, странно что у вас не доступно %)
yes
вот у меня такая картинка.
может надо где-то куда-то кликнуть, чего я не сделал.

я не возражаю пользоваться мега-визардом (хоть гига), но как?

а про текстовый файл - все-таки иногда (имхо, в 95% случаев smile.gif ) удобнее в текстовом файле эти параметры задавать

-----------
upd: добавил вторую картинку - выбора типа PLL тоже нет
я вообще-то по прочтении хэндбука на семейство решил, что тип PLL один, а фаст или енхансед - это режимы работы...
BSACPLD
Цитата(yes @ Nov 25 2009, 12:49) *
вот у меня такая картинка.
может надо где-то куда-то кликнуть, чего я не сделал.

я не возражаю пользоваться мега-визардом (хоть гига), но как?

а про текстовый файл - все-таки иногда (имхо, в 95% случаев smile.gif ) удобнее в текстовом файле эти параметры задавать

-----------
upd: добавил вторую картинку - выбора типа PLL тоже нет
я вообще-то по прочтении хэндбука на семейство решил, что тип PLL один, а фаст или енхансед - это режимы работы...

Enhanced and Fast - это не режимы работы, а типы PLL.
В Cyclone III "In the Cyclone series of devices, each device family supports only one PLL type", т.е. только один тип PLL.
В таблице приведены типы PLL для различных семейств. Enhanced and Fast есть только в Stratix'ах.
SM
Вообще эти пункты открыты в стратиксах, я про enchanced/fast. А в циклонах по жизни закрыты. Но даже в документации ( http://www.altera.com/literature/ug/ug_altpll.pdf ) сказано что Enchanced и Fast - это в стратиксах такие бывают, а в циклонах - циклонская.

Насчет того, почему закрыты пункты про custom bandwidth - не в курсе. По доке циклонская III-я поддерживать должна. Опять же, в этой доке есть раздел Ports & parameters - так и сгенерите один раз мегавизардом, а потом руками измените/добавьте нужные параметры.
yes
повозившись с визардом (разными семействами) я вобщем понял, что к чему

пока исправляю параметры в чип-едиторе, на работу вроде бы влияет, но счастья нет sad.gif

я понял так - то что в чип-едиторе (см. картинку) беленькое - это реальный параметр, который влияет на битстрим и функциональность
то что серенькое - это для комфорта, информационное, прописано мегавизардом и т.п.

не проясненным остался вопрос с spread spectrum clocking, которое упоминается в циклон-хэндбук, но задизеблено в мегавизарде и нету в чип-едиторе

правильно ли я понял, что это фигня, ни на что не влияющя - просто красивые буквы:
то есть ширина модуляции должна быть внутри pll bandwidth, и особого смысла этот спред-спектрум не имеет и подразумевает просто слова в рекламке "ах какая хорошая у нас пиэльэль она даже за спредспектрумом следит"
ну то есть если сигнал в полосе, то хоть спред-спектрум, хоть черт лысый - следить PLL будет
или это реально влияющая на функции опция, которую я не нашел
SM
Цитата(yes @ Nov 26 2009, 14:34) *
не проясненным остался вопрос с spread spectrum clocking,


Ну ё, неужели что-то осталось непонятным после хэндбука?

Цитата
Cyclone III family devices can accept a spread-spectrum input with typical modulation frequencies. However, the device cannot automatically detect that the
input is a spread-spectrum signal. Instead, the input signal looks like deterministic jitter at the input of the PLL. PLLs of Cyclone III family devices can track a
spread-spectrum input clock as long as it is in the input jitter tolerance specifications and the modulation frequency of the input clock is below the PLL bandwidth, which
is specified in the fitter report. Cyclone III family devices cannot generate spread-spectrum signals internally.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.