реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Почему система с Nios II на Q11 больше чем на Q9
Acvarif
сообщение Feb 11 2013, 20:56
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Работал на Quartus90 с проектом (Cyclone III) который содержит в себе систему на Nios II + пользовательская логика ( RAM, умножители, и кучка разной логики). Заняло это все места 9000 логических элементов. При переводе данного проекта (без изменений) на Quartus 110 компилятор набирает аж 23000 логических элемента. Не влазит в нужный девайс. Манипуляции с оптимизацией ничего не дают.
На Q90 проект проверен на работоспособность на реальном железе типа DE0 Board

Кривой Q110 или я не умею им пользоваться?
Да и вообще, разве может такое быть - из 9000 все выросло до 23000?

Сообщение отредактировал Acvarif - Feb 11 2013, 21:00
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 11 2013, 23:35
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



23к вентилей это явно перебор. смотрите Compilation Report/Fitter/Resource Section/Resource Utilization by Entity на предмет того, кто там зажрался. возможно, придется пересоздать проект под 11-й.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Feb 12 2013, 07:23
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(vadimuzzz @ Feb 12 2013, 03:35) *
23к вентилей это явно перебор. смотрите Compilation Report/Fitter/Resource Section/Resource Utilization by Entity на предмет того, кто там зажрался. возможно, придется пересоздать проект под 11-й.

Спасибо. Просмотрел. Почему-то главный модуль (пользовательская логика) вместо 2 000 Dedicated Logic Registers (Q90) - в Q110 начал занимать 10 000
Попробовал создать копию ревизии проекта и в ней сменил девайс с EP3C16 на С25. Все уменьшилось почти в норму. Странно все это... Получается разные версии Q по разному компилят.
Небольшую вариацию в Dedicated Logic Registers можно понять. Но разницу в 5 раз...

Сообщение отредактировал Acvarif - Feb 12 2013, 07:26
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 13 2013, 00:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Acvarif @ Feb 12 2013, 14:23) *
Небольшую вариацию в Dedicated Logic Registers можно понять. Но разницу в 5 раз...

м.б. какая-то логика инферилась раньше в спец. блоки (память, умножители), а в новой версии изменились дефолтные настройки/поведение
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Feb 13 2013, 14:07
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(vadimuzzz @ Feb 13 2013, 04:18) *
м.б. какая-то логика инферилась раньше в спец. блоки (память, умножители), а в новой версии изменились дефолтные настройки/поведение

Вполне может быть. Попробую поиграть настройками синтезатора. Можно с Synplify попробовать, но надо еще где-то его найти, скачать, подключить.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Feb 13 2013, 15:18
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(Acvarif @ Feb 13 2013, 21:07) *
Вполне может быть.

я к тому, что в отчете фиттера вся информация есть. надо его сверить с отчетом в старом проекте, скорее всего найдете то место, где изменилось поведение.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Mar 19 2013, 07:28
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Пока не удалось (только на базе Quartus) выяснить почему синтез одного и того же проекта сильно разнится на Q90 и Q110.
Пытаюсь приспособить для этого дела Aldec 91, надеясь, что его синтезатор как-то по другому все сложит.
Поскольку в проекте имеется altpll и tse_mac то получился непонятный затык типа
Код
Error: Node instance "pll7" instantiates undefined entity "cycloneive_pll" File: D:/MyDesignsXp/AsicPrj/AldecPrj/Projects_Aldec91/NiosEthTseDe0Nano/NiosEthTseLib/src/altpll_0.v Line: 192
Error: Node instance "altera_tse_mac_inst" instantiates undefined entity "altera_tse_mac" File: D:/MyDesignsXp/AsicPrj/AldecPrj/Projects_Aldec91/NiosEthTseDe0Nano/NiosEthTseLib/src/tse_0.v Line: 182
Info: Generated suppressed messages file D:/MyDesignsXp/AsicPrj/AldecPrj/Projects_Aldec91/NiosEthTseDe0Nano/synthesis/NiosEthTseDe0NanoTop.map.smsg
Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 27 warnings
    Error: Peak virtual memory: 201 megabytes
    Error: Processing ended: Tue Mar 19 09:32:07 2013
    Error: Elapsed time: 00:00:15
    Error: Total CPU time (on all processors): 00:00:11
Error: Quartus II Full Compilation was unsuccessful. 4 errors, 27 warnings
Error: Flow compile (for project D:/MyDesignsXp/AsicPrj/AldecPrj/Projects_Aldec91/NiosEthTseDe0Nano/synthesis/NiosEthTseDe0Nano) was not successful
Error: ERROR: Error(s) found while running an executable. See report file(s) for error message(s). Message log indicates which executable was run last.

Тоесть фактически не находятся модули входящие в состав altpll_0.v и tse_0.v, которые предварительно были сгенерированы SOPC_ом.
Хотя в самом Q11 все компилится нормально. Похоже что Aldec не видит закодированные модули мегафункций. Как выйти из положения?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 19 2013, 08:47
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Acvarif
PLL альтеровский по идее он схавать должен как clearbox, его потом синтезер родной влепит, а вот TSE: тут по моему кроме как декриптовать других методов нет. Ну или вам альтеровцы дадут лицуху на TSE для Aldec.
Меня вопрос TSE для CIII и Synplify Pro мучает уже не один день, но пока удаётся обходиться QII синтезатором
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Mar 19 2013, 11:46
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Kuzmi4 @ Mar 19 2013, 12:47) *
2 Acvarif
PLL альтеровский по идее он схавать должен как clearbox, его потом синтезер родной влепит, а вот TSE: тут по моему кроме как декриптовать других методов нет. Ну или вам альтеровцы дадут лицуху на TSE для Aldec.
Меня вопрос TSE для CIII и Synplify Pro мучает уже не один день, но пока удаётся обходиться QII синтезатором

Да уж. Так я и предполагал. Помогут только исходники IP корок.
Кстати сначала я пытался сделать синтез на Syplify прямо из Q110. Сходу не пошло. Выдает
Код
Error: Encountered error while running Synplify Pro synthesis tool -- can't complete design synthesis
Info: See synplify_NiosEthTseDe0Nano_work/NiosEthTseDe0NanoTop.srr for messages generated by Synplify Pro Synthesis
Error: Encountered error while running NativeLink synthesis script
Error: NativeLink flow failed to complete synthesis
Error: For messages from NativeLink scripts, check the file D:/MyDesignsXp/AsicPrj/AlteraPrj/QuartusPrj/NiosEthTseDe0Nano_Quartus110/quartus_nativelink_synthesis.log
Error: Quartus II Full Compilation was unsuccessful. 1 error, 0 warnings

Может еще попробовать? Если не сложно, подскажите please как запустить синтезатор Synplify из Q110.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 19 2013, 13:23
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Acvarif

А что написано в quartus_nativelink_synthesis.log ??
Да в принципие и будут ошибки - если PLL ещё можно как то втулить в clearbox то TSE - там закодированные исходники.
К тому же, кажется, корка PLL написана на альтеровском AHDL потому исходники вы её вряд ли найдёте. Попробуйте тогда использовать вручную clearbox для PLL если Syplify его не опознает.

Я у альтеры использую QII v9.0sp2 и QII v10.0sp1 на данный момент, потому по QII v11.0 не подскажу. Вот выйдет 13й - тогда вижу смысл перелазить.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Mar 20 2013, 06:38
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Kuzmi4 @ Mar 19 2013, 16:23) *
А что написано в quartus_nativelink_synthesis.log ??

Я пока пытался простой тестовый проект прокатить через Synplify без PLL и TSE.
вот лог
Код
Info: Using NativeLink to launch synthesis Tool
Info: Directory synplify_lchm_work exists --if you continue the contents of the directory may be overwritten
Synplify Pro Info: #Build: Synplify Pro E-2010.09-1, Build 081R, Aug 17 2010
Synplify Pro Info: #install: D:\Synopsys\fpga_E2010091
Synplify Pro Info: #OS: Windows_NT
Synplify Pro Info:
Synplify Pro Info: #Hostname: RIF-01A31F8273D
Synplify Pro Info:
Error: Encountered error while running Synplify Pro synthesis tool -- can't complete design synthesis
See synplify_lchm_work/lchm.srr for messages generated by Synplify Pro Synthesis
Error: Encountered error while running NativeLink synthesis script
Error: NativeLink flow failed to complete synthesis

================The following information is provided to Debug NativeLink Script=================
Nativelink TCL script failed with errorCode:  CHILDSTATUS 1932 6
Nativelink TCL script failed with errorInfo:  child process exited abnormally
    while executing
"close $pipe_id"
    invoked from within
"if [catch {close $pipe_id} errstream ] {
        set savedCode $errorCode
        set savedInfo $errorInfo
        if { [regexp {CHILDSTATUS (.*) [1-9]} $savedCode]} {
..."
    (procedure "launch_synplify" line 142)

Если сначала сделать .vqm в Synplify, а потом из него запустить Quartus - все работает нормально. Даже чуть меньше ресурсов чем через синтезатор Quartus.
Я так понимаю должен быть вариант и наоборот - из Q использовать синтезатор Synplify. Но пока не пойму как его запустить. Вроде скрипт нужно вручную написать. Может где есть пример?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 20 2013, 08:16
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Acvarif
Ну так написано же - надо глядеть в synplify_lchm_work/lchm.srr - там написано что случилось с Synplify.

Ну а вообще инфы полно
About Using the Synplify Software with the Quartus II Software
ALTERA: Synopsys Synplify Support
AN226: Synplify & Quartus II Design Methodology
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Mar 20 2013, 13:03
Сообщение #13


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Kuzmi4 @ Mar 20 2013, 11:16) *
2 Acvarif
Ну так написано же - надо глядеть в synplify_lchm_work/lchm.srr - там написано что случилось с Synplify.

Там написано
Код
#Build: Synplify Pro E-2010.09-1, Build 081R, Aug 17 2010
#install: D:\Synopsys\fpga_E2010091
#OS: Windows_NT

#Hostname: RIF-01A31F8273D

Документы по ссылкам просматривал ранее. Там советуют делать синтез в Syplify, а затем запускать Quartus. Это все работает.
Но толком не поясняют как запустить синтезатор Synplify из Q, кроме как установкой путей в Options.
Виноват. Спасибо за ссылки.
Поторопился.
Все запускается. Условие: На Винде не должно быть зпущено отдельно Synplify. Иначе второй запуск из Q блокируется.
Единственное пока не получается когда в топ файле подключены модули из других файлов - выскакивает ошибка
Код
Error: Can't compile duplicate declarations of entity "mchlfir" into library "work"
    Error: Instance could be entity "mchlfir" in file synplify_Mchlfir_work/Mchlfir.vqm
    Error: Instance could be entity "mchlfir" in file mchlfir.vhd

Тут я не врубился, в чем хитрость? В Q просто подключены в проект все файлы в том числе и топ, а Synplify из Квартуса генерит .vqm который такой-же как и .vqm сгенерированный отдельно непосредственно из Synplify (из проекта созданного в Synplify)
.
Про clear box почитал и список посмотрел в файле cbx.lst - на жаль нет там tse. Придется пробовать на базе eth_ocm (open корка)

Сообщение отредактировал Acvarif - Mar 20 2013, 14:25
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 20 2013, 15:25
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Цитата(Acvarif @ Mar 20 2013, 16:03) *
Условие: На Винде не должно быть зпущено отдельно Synplify. Иначе второй запуск из Q блокируется.

Ищите лицензию правильную. У вас лицензия позволяет запускать 1 экземпляр, мне попадалась что позволял 9,999.

Цитата(Acvarif @ Mar 20 2013, 16:03) *
Единственное пока не получается когда в топ файле подключены модули из других файлов - выскакивает ошибка

VQM - это по сути вериложный нетлист с примитивами. Посмотрите внимально в SRR - нет ли там BB каких в списке ресурсов или других упоминаний про mchlfir специфических.

А вот на счёт TSE - есть идея, никак руки не доходят, возможно у вас получится:
Попробуйте сделать обёртку, аки BlackBox, для вашего TSE и использовать эту обёртку со всеми остальными открытыми модулями при работе с Synplify. В основной проект подключаете ваши сорцы TSE от Альтеры + VQM от Synplify и пробуете собирать: quartus_map+quartus_fit+.. (там в принципе, если получится, думаю можно будет автоматизировать эти финты ушами через TCL в одно файло). Считаю что есть шанс что сработает, но времени нет попробовать.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Mar 20 2013, 16:10
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Kuzmi4 @ Mar 20 2013, 19:25) *
Ищите лицензию правильную. У вас лицензия позволяет запускать 1 экземпляр, мне попадалась что позволял 9,999.


VQM - это по сути вериложный нетлист с примитивами. Посмотрите внимально в SRR - нет ли там BB каких в списке ресурсов или других упоминаний про mchlfir специфических.

А вот на счёт TSE - есть идея, никак руки не доходят, возможно у вас получится:
Попробуйте сделать обёртку, аки BlackBox, для вашего TSE и использовать эту обёртку со всеми остальными открытыми модулями при работе с Synplify. В основной проект подключаете ваши сорцы TSE от Альтеры + VQM от Synplify и пробуете собирать: quartus_map+quartus_fit+.. (там в принципе, если получится, думаю можно будет автоматизировать эти финты ушами через TCL в одно файло). Считаю что есть шанс что сработает, но времени нет попробовать.

Получилось. Имя проекта и имя верхнего уровня должны быть разные. Для Q это всеравно, a S не понимает одинаковости. С blackbox попробую. Читал про это бегло, толком не врубился. Почитаю еще...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016