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

повышение частоты clock на verilog

Всем привет!

Мой проект для Cyclon-IV на verilog содержит мегафункцию ALTPLL для повышения частоты вторичного clock в 50 раз.

Симуляция сгенерированного колхоза - вещь супер медленная, как оказалось.

Есть какая-нибудь простая схема на verilog для повышения частоты вторичного clock, чтобы симуляция в ModelSim шла быстрее (чем при использовании стандартной мегафункции)?


Пока я наоборот делаю: для симуляции повышаю частоту внешнего тактового сигнала, а сгенерированный модуль ALTPLL заменяю на простую передачу внешнего сигнала

Spoiler
/*
	заглушка на место altpll_clk, который слишком медленно симулируется
	в тестбенче выставляется частота clk8 200MHz и вуаля
*/

module altpll_clk (inclk0, c0);
	input	  inclk0;
	output	  c0;

	assign    c0 = inclk0;
endmodule

 


 

 

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


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

А вы не пробовали увеличить time unit симуляции?

Какой он у вас, кстати?

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


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

On 10/6/2022 at 3:02 PM, ZwergNase said:

А вы не пробовали увеличить time unit симуляции?

где то в настройках Quartus предупреждает, что симуляция должна быть в пика-секундах

я не знаю как запустить вручную проект содержащий мегафункции. Так что хочу я или нет там будут пика-секунды.

Хотя в тестбенче указано `timescale 1ns / 1ps

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


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

9 hours ago, Вадим Н. said:

 


Пока я наоборот делаю: для симуляции повышаю частоту внешнего тактового сигнала, а сгенерированный модуль ALTPLL заменяю на простую передачу внешнего сигнала

  Reveal hidden contents
/*
	заглушка на место altpll_clk, который слишком медленно симулируется
	в тестбенче выставляется частота clk8 200MHz и вуаля
*/

module altpll_clk (inclk0, c0);
	input	  inclk0;
	output	  c0;

	assign    c0 = inclk0;
endmodule

 


 

 

Нормальный подход.
В зависимости от используемого синтезатора можно еще обставить всё ifdef-ами, так что проброс clock-а будет происходить только при симуляции.
P.S финальная проверка - конечно с ALTPLL

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


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

ИМХО если вы не делаете хитрые CDR и прочее, моделировать PLL смысла нет никакого. Проще подсунуть вместо нее свою поведенческую примитивную модель. 

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


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

Значит это нормальный подход. Ну и прекрасно. Можно гнать дальше. Всем спасибо!

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


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

В 06.10.2022 в 13:54, Вадим Н. сказал:

я не знаю как запустить вручную проект содержащий мегафункции.

Вам в этом помощь нужна? Пишите в личку )

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


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

В 06.10.2022 в 16:44, Джеймс сказал:

Нормальный подход.
В зависимости от используемого синтезатора можно еще обставить всё ifdef-ами, так что проброс clock-а будет происходить только при симуляции.
P.S финальная проверка - конечно с ALTPLL

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

Еще я помню у ксая был файлик, который входил в их библиотечные модули памяти и в нем была сделана жуткая задержка, которая имитировала время установки плис в рабочее состояние после загрузки. Я этот файлик копировал в рабочую папку и вручную задержку уменьшал в 1000 раз... вот после этого симулировать проект было не так скучно...

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


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

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

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

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

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

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

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

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

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

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