Jump to content

    

Flip-fl0p

Свой
  • Content Count

    982
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Flip-fl0p

  • Rank
    «Я знаю, что я ничего не знаю»(С)
  • Birthday 01/03/1990

Контакты

  • Сайт
    http://
  • ICQ
    226550164

Информация

  • Город
    Санкт-Петербург

Старые поля

  • skype
    Flip-fl0p
  • Vkontakte
    https://vk.com/id4024060

Recent Profile Visitors

5297 profile views
  1. Я думаю раз в даташите ничего не сказано про это, то ваш путь ведёт на форум Intel/Altera.
  2. С другой стороны в описалове на ПЛИС все написано однозначно.
  3. Не могу сказать, что значит цифра 2 в конце VCCA ибо в даташите\хендбуке ни слова про это. И у меня в Quartus (для чипов cyclone) никаких цифр не ставит. Скорее всего Вам нет смысла заморачиваться на этот счет. Вы лучше скажите, зачем Вам знать какой из выводов VCCA питает нужную Вам PLL ?
  4. Вы вообще читали Intel® MAX® 10 FPGA Device Datasheet и handbook. Там прописано как работать с VCCA.
  5. Скорее всего потому-что микросхема разделена на банки и допускает раздельное питание банков разными напряжениями.
  6. Идеологический вопрос. Не правильнее ли хранить конфиг PLL внутри ПЛИС, а МК будет лишь давать команду начала реконфига ? Как мне кажется такой вариант более надежный, за счет того, что нет вероятности возникновения ошибки в процессе передачи МК ---> ПЛИС.
  7. А что Вас смутило ? Реконфиг PLL состоит из двух этапов: Первый этап мы загружаем новый конфиг в PLL. Это делается посредством альтеровского IP ядра PLL_RECONFIGURATOR, которому управляющий автомат выдает соответствующую команду. Второй этап: после того, как у нас была загружена новая конфигурация мы дергаем вывод reconfig модуля PLL_RECONFIGURATOR, и у нас активируется новый конфиг. Все, кроме управляющего автомата - рекомендации от Altera. Из самописных модулей - по сути только простой управляющий автомат, задачей которого - после того, как придет команда сменить конфиг, сохранить этот запрос на время работы модуля, в нужные моменты времени выдать команды ядру PLL_RECONFIGURATOR, а также сообщать внешним устройствам свой статус reconfig_done и ready Приведите пример, как это можно более просто написать. И самое главное - понятнее ! Для меня главное - что я этот код могу спокойно применять, в нем легко разобраться, его легко поддерживать. Я вот глянул этот код, написанный полтора года назад - и сразу понял, как он работает. И это - главное.
  8. Добавил модуль: https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=127898&page=2
  9. Пример модуля для динамической реконфигурации PLL. Написан на VHDL. Писался под cyclone 3, в quartus 13.1. Топовый модуль "RECONFIG_PLL.vhd". Для добавления всего модуля достаточно добавить в проект файл RECONFIG_PLL_CIII.qip. В VHDL ещё указать : library RECONFIG_PLL_CIII; RECONFIG_PLL_CIII.zip
  10. Если интересует - могу завтра выложить свой пример работы по реконфигурации PLL. Правда он на VHDL и для Cyclone3, однако судя по интерфейсу должен подойти с минимальными доработками.
  11. Спасибо всем, ответившим в этой теме. Проблему решил частично. Поскольку пишу на VHDL, то столкнулся с проблемой, что команда force не работает с сигналами (wire/reg), которые находятся в модулях, написанных на Verilog/System Verilog. Для доступа к файлам, которые находятся на VHDL все просто: -- Допустим у нас есть наш модуль который мы подключаем в тесте и тестируем - DUT (design under test) -- В этом дизайне есть 3 модуля вложенных один в другой: -- LVL0_module находится в LVL1_module, который находится LVL2_module, который находится в DUT -- Мы хотим управлять с уровня testbench сигналом ready, который находися в модуле LVL0_module -- соответственно иерархический путь до сигнала будет: DUT.LVL2_module.LVL1_module.LVL0_module.ready -- alias применяется для того, чтобы при назначении значений этому сигналу не писать каждый раз полный путь. acces_to_internal_signal : process alias ready_TB is <<DUT.LVL2_module.LVL1_module.LVL0_module.ready : std_logic_vector(1 downto 0)>>; begin wait for 1 us; ready_TB <= force "11"; wait for 1 us; ready_TB <= force "10"; wait for 1 us; ready_TB <= force (others => '0'); wait; end process; Однако необходимо указать в Modelsim, что VHDL файл, из которого осуществляется иерархический доступ, необходимо компилировать в режимe VHDL2008
  12. Добрый вечер уважаемые участники форума. Занимаюсь симуляцией большого проекта с очень глубокой иерархией модулей. Можно ли как-то с уровня testbench управлять сигналами внутренних модулей проекта ? Например я хочу вручную с уровня testbench поднять внутренний сигнал-флаг done, который запустит работу других модулей проекта. Modelsim, например позволяет при помощи функции\процедуры init_signal_spy вытащить сигнал на уровень testbench с любого из внутренних модулей, и использовать его как внутренний сигнал теста. А мне бы наоборот
  13. Но ведь вроде как надо перебрать все возможные вариации с входными выходными портами ? Разве не так ?
  14. Как по мне, так первый вариант кода лучше.Сделать нормальное форматирование. Добавить чутка комментариев - и будет норм. Второй вариант - абсолютно нечитаем. Чем проще написано - тем лучше читать и сопровождать. Есть даже принцип кодинга - KISS https://ru.wikipedia.org/wiki/KISS_(принцип)
  15. Как показала практика: чем выше частота ядра - тем быстрее моделирование и P&R. На работе простенький Процессор Intel® Core™ i7-8700 дома AMD ryzen 5 3600. Хоть по всем тестам AMD и впереди. Однако P&R Intel делает быстрее. Хотя дома и ОЗУ боле быстрое...