Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Частота штатного генератора
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Языки проектирования на ПЛИС (FPGA)
demsp
Плата MAX II EPM240 CPLD Minimal Development Board.
Подключаю стандартный генератор ALTUFM_OSC osc( .oscena(1'b1), .osc(clk))
Померил частоту генератора счетчиком, счетчик досчитывает до 6 000 000 и обнуляется, переключая светодиод. Светодиод горит 1 секунду.
Получается, что частота штатного генератора 6 MHz (вместо заявленных 50MHz)?
Александр77
Разве там 50МГц? Вроде на порядок ниже должна быть частота 5МГц и 3,3МГц (на выбор если не ошибаюсь)
_pv
ALTUFM_OSC это встроенный RC генератор. на несколько МГц.
тот что на плате - 50МГц, подключен к gclk3.
demsp
Цитата(Александр77 @ May 14 2018, 20:12) *
5МГц и 3,3МГц

действительно, об этом написано в даташите

Цитата(_pv @ May 14 2018, 21:02) *
тот что на плате - 50МГц, подключен к gclk3.

gclk3? Объясните, пожалуйста, что это (в даташите написано про 3 пина, но я не разобрался)
AnatolySh
Цитата(demsp @ May 16 2018, 12:07) *
gclk3? Объясните, пожалуйста, что это (в даташите написано про 3 пина, но я не разобрался)
Вот на этой схеме прямо написано, что 50МГц идёт на вывод 64. А, вообще, давайте проект: посмотрим, что Вы там делите и чем? )
Александр77
Цитата(AnatolySh @ May 17 2018, 23:38) *
...посмотрим, что Вы там делите и чем? )

Скорее всего, ТС ожидал что встроенный генератор будет выполнять функцию, схожую с работой PLL\ALTCLKCTRL в циклонах.
demsp
Досчитываю до 6 000 000. LED мигает примерно 1 раз в секунду.
Код
module M ( output reg LED);
ALTUFM_OSC osc( .oscena(1'b1), .osc(clk));
   reg signal;
   reg [24:0] osc_counter;
   reg [24:0] const_data =25'b10110111000110110000000;
initial
   begin
      signal = 1'b0;
     osc_counter = 25'b0;
   end
always @(posedge clk)
   begin
      osc_counter = osc_counter+ 1'b1;
      if(osc_counter == const_data)
         begin
            signal = ~signal;
           osc_counter = 25'b0;
        end
LED = signal;
end
endmodule
iosifk
Цитата(demsp @ May 18 2018, 17:23) *
Досчитываю до 6 000 000. LED мигает примерно 1 раз в секунду.
Код
module M ( output reg LED);
....
always @(posedge clk)
   begin
      osc_counter = osc_counter+ 1'b1;
      if(osc_counter == const_data)
         begin
            signal = ~signal;
           osc_counter = 25'b0;
        end


endmodule

Применяйте неблокирующие назначения...
Александр77
Цитата(demsp @ May 18 2018, 17:23) *
Досчитываю до 6 000 000. LED мигает примерно 1 раз в секунду.

И что Вам не нравится? Вы используете внутренний осциллятор, настроенный на 5,56 МГц, считаете до 6 млн и получаете секунду, что примерно соответствует действительности.
Если Вам хочется что бы моргало в 8-9 раз чаще, то тактируйте (если есть) от внешнего генератора (из проекта убирайте осциллятор) или уменьшайте предельное число в желаемое количество раз (вместо 6 млн задавайте 750 тыс, к примеру).
demsp
Спасибо, с генератором на 5.5Мгц более-менее понятно. А как подключить генератор на 50МГц?
В этой схеме показано, что генератор должен идти на вывод 64. Но на синей плате нет вывода 64.
_pv
генератор на плате распаян и к выводу 64 уже подключен, при этом наружу на разъём не выведен.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.