|
Размещение массива в M9K |
|
|
|
 |
Ответов
|
Dec 25 2011, 09:06
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
QUOTE (Timmy @ Dec 25 2011, 13:31)  Обычно компилятору указывать ничего не надо, но поведенческое описание массива должно точно соотвествовать аппаратной архитектуре M9K. Поищите у Гугла на тему "altera memory inference", там есть разъяснения и примеры кода. +1. Память М9К (как и всякая другая блочная память в альтеровских FPGA) не может работать как угодно. В частности, у неё адрес и входные данные всегда сперва попадают во входные регистры, только потом уже достают до внутреннего массива. Поэтому, если описать работу с памятью без учёта этого момента, то синтезатор просто не сможет имплементировать описанную логику с помощью аппаратного блока памяти. Имхо, лучше использовать инстансы модулей, чем заставлять синтезатор инферить аппаратные блоки из кода. Результат будет надёжнее и предсказуемее. Да и переносимость кода, пожалуй, тоже будет лучше.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Dec 25 2011, 16:03
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(dxp @ Dec 25 2011, 16:06)  Имхо, лучше использовать инстансы модулей, чем заставлять синтезатор инферить аппаратные блоки из кода. Результат будет надёжнее и предсказуемее. Да и переносимость кода, пожалуй, тоже будет лучше. По поводу переносимости - позволю себе возразить.Переносимость (например при перетаскивании из Altera в Xilinx) при повсеместном использовании примитивов очень страдает. Цитата(juvf @ Dec 25 2011, 09:57)  Написал свой блок. в нем использую массив регистров
reg [7:0]memRxD [0:255];
После компиляции блок съел около 6000 logical cell и 0 М9К. в засусеках квартуса нашел атрибут ramstyle, написал так:
(* ramstyle = "M9K" *) reg [7:0]memRxD [0:255];
пересобрал с таким атрибутом..... в результате те же 6000 селов и 0 м9к. Как указать компилятору чтоб он поменьше ел вентилей и по больше памяти? А вы осознаёте, что доступ по чтению в один момент времени у вас будет только к одному из 256 регистров? Это вам подходит?
|
|
|
|
Сообщений в этой теме
juvf Размещение массива в M9K Dec 25 2011, 02:57   juvf Цитата(Bad0512 @ Dec 25 2011, 22:03) А вы... Dec 26 2011, 01:57    Bad0512 Цитата(juvf @ Dec 26 2011, 08:57) Нет, не... Dec 26 2011, 06:18    bogaev_roman Цитата(juvf @ Dec 26 2011, 05:57) Нет, не... Dec 26 2011, 08:28     juvf Цитата(bogaev_roman @ Dec 26 2011, 14:28)... Dec 26 2011, 12:06      bogaev_roman Цитата(juvf @ Dec 26 2011, 16:06) В таком... Dec 26 2011, 12:20 Konst_777 Цитата(juvf @ Dec 25 2011, 06:57) ...Как ... Dec 25 2011, 08:07 barabek Как и советовали выше необходимо правильно описать... Dec 25 2011, 11:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|