Вадим Н. 1 6 октября, 2022 Опубликовано 6 октября, 2022 · Жалоба Всем привет! Мой проект для 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZwergNase 0 6 октября, 2022 Опубликовано 6 октября, 2022 · Жалоба А вы не пробовали увеличить time unit симуляции? Какой он у вас, кстати? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Вадим Н. 1 6 октября, 2022 Опубликовано 6 октября, 2022 · Жалоба On 10/6/2022 at 3:02 PM, ZwergNase said: А вы не пробовали увеличить time unit симуляции? где то в настройках Quartus предупреждает, что симуляция должна быть в пика-секундах я не знаю как запустить вручную проект содержащий мегафункции. Так что хочу я или нет там будут пика-секунды. Хотя в тестбенче указано `timescale 1ns / 1ps Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Джеймс 3 6 октября, 2022 Опубликовано 6 октября, 2022 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 6 октября, 2022 Опубликовано 6 октября, 2022 · Жалоба ИМХО если вы не делаете хитрые CDR и прочее, моделировать PLL смысла нет никакого. Проще подсунуть вместо нее свою поведенческую примитивную модель. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Вадим Н. 1 7 октября, 2022 Опубликовано 7 октября, 2022 · Жалоба Значит это нормальный подход. Ну и прекрасно. Можно гнать дальше. Всем спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 16 13 октября, 2022 Опубликовано 13 октября, 2022 · Жалоба В 06.10.2022 в 13:54, Вадим Н. сказал: я не знаю как запустить вручную проект содержащий мегафункции. Вам в этом помощь нужна? Пишите в личку ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 14 октября, 2022 Опубликовано 14 октября, 2022 · Жалоба В 06.10.2022 в 16:44, Джеймс сказал: Нормальный подход. В зависимости от используемого синтезатора можно еще обставить всё ifdef-ами, так что проброс clock-а будет происходить только при симуляции. P.S финальная проверка - конечно с ALTPLL Введите параметр дебаг-релиз и две группы парамеиров, одна для дебага, другая для релиза... Соответственно под эти параметры можно автоматически генерить немного разное описание... Еще я помню у ксая был файлик, который входил в их библиотечные модули памяти и в нем была сделана жуткая задержка, которая имитировала время установки плис в рабочее состояние после загрузки. Я этот файлик копировал в рабочую папку и вручную задержку уменьшал в 1000 раз... вот после этого симулировать проект было не так скучно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться