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

 
 
> Память внутри Cyclone III, Не понятно сообщение от Flow Summary
Serhiy_UA
сообщение Jan 10 2011, 06:33
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



После успешной компиляции в QII, появляется окно Compilation Report – Flow Summary, которое сообщает о том, что память внутри Cyclone III не используется: Total memory bits = 0%.
Хотя эта память описана в корневом модуле. В частности, после компиляции, эту память можно просмотреть через RTL Viewer, где она и отображается как блок памяти (синий прямоугольник).
Почему так может происходить, когда в одном месте сообщается, что памяти нет, а в другом она видна?

Пробовал для QII 7.2 и QII 9.1 – результат одинаков. Использоват память из шаблона Single port RAM with single read/write address.
Когда же создал короткий тест, то видел блок памяти и в RTL Viewer, и сообщение в Compilation Report – Flow Summary, т.е. память задействована. А для большого проекта – разночтение, с сообщением в Flow Summary, что памяти нет.
Какие могут быть соображения?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vadimuzzz
сообщение Jan 13 2011, 04:55
Сообщение #2


Гуру
******

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



2 Serhiy_UA вы можете выложить 2 отчета компилятора - когда модуль есть и когда нет? желательно с примерными пояснениями, что изменяете в проекте
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Jan 13 2011, 06:33
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(vadimuzzz @ Jan 13 2011, 10:55) *
2 Serhiy_UA вы можете выложить 2 отчета компилятора - когда модуль есть и когда нет? желательно с примерными пояснениями, что изменяете в проекте
В приложении фото двух экранов от двух проектов.
На одном экране, когда оба блока RAM есть, а на втором, когда один из RAM не создается.
При этом в проектах изменяются только места падключения шин DD4 и DD6 по двум соседним присваиваниям в операторе casex, что в модуле control_pci.v .
В приложение Doc3.zip есть краткое описание проблемы.
В Doc3_warning.zip тоже самое, что и в Doc3.zip, плюс еще warning после неуспешной компиляции.
Прикрепленные файлы
Прикрепленный файл  Doc3.zip ( 562.92 килобайт ) Кол-во скачиваний: 17
Прикрепленный файл  Doc3_warning.zip ( 288.75 килобайт ) Кол-во скачиваний: 356
 
Go to the top of the page
 
+Quote Post
sazh
сообщение Jan 13 2011, 08:12
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Serhiy_UA @ Jan 13 2011, 12:33) *
В приложении фото двух экранов от двух проектов.


casex воспринимается не так как Вам надо. Он конечно синтезируется, но примеров на верилоге для синтеза я не видел.
А квартус сплошные предупреждения выдает.
Зачем он тут. Приоритетное мультиплексирование по нужным разрядам даст однозначную картинку. А по ресурсам будет меньше.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 14 2011, 12:01
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(sazh @ Jan 13 2011, 13:12) *
casex воспринимается не так как Вам надо. Он конечно синтезируется, но примеров на верилоге для синтеза я не видел.

Ну, вот здесь, например. Кстати, в соответствии с выше приведенной цитатой sm.gif
http://electronix.ru/forum/index.php?showt...st&p=851601
Go to the top of the page
 
+Quote Post
sazh
сообщение Jan 14 2011, 12:54
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(ViKo @ Jan 14 2011, 18:01) *
Кстати, в соответствии с выше приведенной цитатой


По мне так в соответствии с 21 сообщением.
Не все так просто с casex
Код
module case_full
(
input     [3:0] data_a, data_b, data_c, data_d,
input     [3:0] data_e,
input     [3:0] sel,
output reg[3:0] rezult
);

always @(*)
begin
casex (sel) // synthesis full_case
4'b1xxx : rezult = data_e;
4'bx1xx : rezult = data_d;
4'bxx1x : rezult = data_c;
4'bxxx1 : rezult = data_b;
4'b0000 : rezult = data_a;
endcase
end

endmodule

Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 14 2011, 12:57
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(sazh @ Jan 14 2011, 17:54) *
По мне так в соответствии с 21 сообщением.

его и имел в виду
Так, как у вас написано, и человек не сможет определиться с выбором. Можно сделать так, например
Код
casex (sel)
4'b1xxx : rezult = data_e;
4'b01xx : rezult = data_d;
4'b001x : rezult = data_c;
4'b0001 : rezult = data_b;
4'b0000 : rezult = data_a;
endcase
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Jan 17 2011, 13:00
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Причину не включений в проект RAM обнаружил и устранил.
Еще раз подтвердилась аксиома: «…мысли про глюки в quartus не допускаем».

Суть моей ошибки в том, что в проекте не были еще проложены отдельные цепи к FSM, от которой зависела работа RAM, по этой причине оптимизатор эту RAM и не создавал. Когда подладил FSM и цепи между модулями, то начала компилироваться и RAM.
Вывод на будущее – надо продумывать наперед работу оптимизатора QII и учитывать его возможные действия.
В части casex все замечания принял и тоже устранил.

Еще раз всем спасибо за дельные советы!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Serhiy_UA   Память внутри Cyclone III   Jan 10 2011, 06:33
- - vadimuzzz   посмотрите отчет компиляции, какие ресурсы этим мо...   Jan 10 2011, 06:55
|- - Serhiy_UA   vadimuzzz, спасибо за советы. В проекте память на...   Jan 11 2011, 10:41
|- - Shtirlits   Количество потребителей не может влиять на создани...   Jan 11 2011, 12:10
|- - Serhiy_UA   Shtirlits и vadimuzzz, спасибо за советы. Буду ра...   Jan 11 2011, 15:49
|- - XVR   Цитата(Serhiy_UA @ Jan 11 2011, 21:49) Ни...   Jan 12 2011, 12:08
|- - Serhiy_UA   Цитата(XVR @ Jan 12 2011, 19:08) Ой! ...   Jan 13 2011, 03:33
- - vadimuzzz   ЦитатаДо этого я считал показания RTL Viewer истин...   Jan 11 2011, 11:43
- - Евгений Николаев   Цитата(Serhiy_UA @ Jan 10 2011, 12:33) Пр...   Jan 12 2011, 08:04
|- - Serhiy_UA   Цитата(Евгений Николаев @ Jan 12 2011, 15...   Jan 12 2011, 11:18
- - XVR   ЦитатаНа самом деле модуль RAM у меня такой:Я не в...   Jan 13 2011, 04:11
|- - Leka   Цитата(XVR @ Jan 13 2011, 11:11) ... это ...   Jan 13 2011, 04:59
|- - XVR   Цитата(Leka @ Jan 13 2011, 10:59) Описанн...   Jan 13 2011, 05:50
|- - Leka   Цитата(XVR @ Jan 13 2011, 12:50) Это синх...   Jan 13 2011, 15:55
- - Shtirlits   В cyclone есть асинхронный выход чтения, тут не по...   Jan 13 2011, 04:28
|- - vadimuzzz   Цитата(Serhiy_UA @ Jan 13 2011, 15:33) В ...   Jan 13 2011, 06:43
|- - Serhiy_UA   Цитата(sazh @ Jan 13 2011, 14:12) casex в...   Jan 13 2011, 12:30
- - vadimuzzz   Обратите внимание на это: ЦитатаVerilog HDL warnin...   Jan 13 2011, 15:57
- - Shtirlits   Постойте! Я не согласен с выводом об ошибке. ...   Jan 17 2011, 13:17
- - Serhiy_UA   Цитата(Shtirlits @ Jan 17 2011, 17:17) Ка...   Jan 17 2011, 14:00


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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 17:59
Рейтинг@Mail.ru


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