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

 
 
> Память внутри 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
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 26)
Serhiy_UA
сообщение Jan 13 2011, 06:33
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 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
vadimuzzz
сообщение Jan 13 2011, 06:43
Сообщение #17


Гуру
******

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



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

а где приложение? sm.gif
интересуют именно warnings, главным образом синтезатора (вряд ли это фокусы фиттера)
Go to the top of the page
 
+Quote Post
sazh
сообщение Jan 13 2011, 08:12
Сообщение #18


Гуру
******

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



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


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


Знающий
****

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



Цитата(sazh @ Jan 13 2011, 14:12) *
casex воспринимается не так как Вам надо. Он конечно синтезируется, но примеров на верилоге для синтеза я не видел.
А квартус сплошные предупреждения выдает.
Зачем он тут. Приоритетное мультиплексирование по нужным разрядам даст однозначную картинку. А по ресурсам будет меньше.
Оператор casex используется для работы с ядром pci_mt32 в моменты обращения к PCI-шине. Я оставил casex с предыдущего проекта, где он нормально работает после компиляции в MAX+plusII. Не задумывался пока его менять, но возможно придется: как, пока еще не определился...
Предупреждений от QII много, надо еще чистить проект, это понятно...
Go to the top of the page
 
+Quote Post
Leka
сообщение Jan 13 2011, 15:55
Сообщение #20


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(XVR @ Jan 13 2011, 12:50) *
Это синхронное защелкивание адреса, а само чтение асинхронное. При синхронном чтении любые изменения содержимого ram не попадут на выход q до ближайшего клока (clk), у вас же они проявляются немедленно.

a14.gif Это да. Но именно так описывается синтезируемый "write-first" режим у Xilinx.

Цитата
PS. Но это не важно, т.к. (по информации от Shtirlits) асинхронное чтение RAM в Cyclone есть

У Altera вроде так-же, как и у Xilinx.


Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 13 2011, 15:57
Сообщение #21


Гуру
******

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



Обратите внимание на это:
Цитата
Verilog HDL warning at control_pci.v(64): overlapping case item expressions are non-constant or contain don't care bits - unable to check case statement for completeness


Из хелпа:

Verilog HDL warning at <location>: case statement has overlapping case item expressions with non-constant or don't care bits - unable to check case statement for completeness
CAUSE: In a case statement at the specified location in a Verilog Design File (.v), you used case item expressions that overlap or potentially overlap. The expressions may potentially overlap if they contain references to variables or nets. Otherwise, they overlap because of don't care bits. In either case, Quartus II cannot analyze your case statement for completeness and will assume it to be incomplete, unless otherwise instructed by a full_case pragma or a SystemVerilog unique/priority keyword.
ACTION: If you require a complete case statement, add an explicit default case item. You can force completeness without a default case item by adding a full_case pragma or a SystemVerilog unique/priority keyword.

и, соглашусь с sazh, приоритетная схема тут больше подходит по смыслу
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 14 2011, 12:01
Сообщение #22


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

Группа: Модераторы
Сообщений: 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
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #24


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

Группа: Модераторы
Сообщений: 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
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 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
Shtirlits
сообщение Jan 17 2011, 13:17
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Постойте!

Я не согласен с выводом об ошибке.
Считаю, что причина в том, что нет моделирования проекта целиком. Как будто вам нужно, чтобы рядовой подметая ломом плац *устал*, а не чистоту навести. Я не шучу, когда говорю про цель проекта нагревать микросхему. Какой бы ни был размер схемы, системы на кристалле, мультичипового решения, всегда дешевле купить адекватный компьютер для моделирования и обустроить среду для верификации, чем тратить время на отладку. Кроме того, если хорошенько подумать, то можно устроить верификацию и уже имеющимися средствами.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Jan 17 2011, 14:00
Сообщение #27


Знающий
****

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



Цитата(Shtirlits @ Jan 17 2011, 17:17) *
Какой бы ни был размер схемы, системы на кристалле, мультичипового решения, всегда дешевле купить адекватный компьютер для моделирования и обустроить среду для верификации, чем тратить время на отладку. Кроме того, если хорошенько подумать, то можно устроить верификацию и уже имеющимися средствами.

Этими словами можно было бы начать неплохую диссертацию.
К сожалению, мои навыки в верификации подобных вещей очень скромны, возразить нечем...
Советовал бы только создать отдельную ветку по проблематике верификации ПЛИС, а также больших проектов на них, и, далее, все аспекты верификации обсуждать в ней...
Go to the top of the page
 
+Quote Post

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

 


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


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