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

 
 
 
Reply to this topicStart new topic
> BlockRAM: экономная экономика, 256х8 => 1024x18
Doka
сообщение Oct 28 2006, 14:20
Сообщение #1


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



сразу оговорюсь, что, возможно, рецепта, которого я ищу и нету.

цель: более рационально использовать блоки BlockRAM:
в времена Spartan, SpartanII & Virtex все было хорошо: размер блоков ОЗУ был 512байт
при реализации т.н. S-boxes (а их надо, к примеру, 16 шт) с 8битной шиной адреса и 8битной шиной данных (8бит вошло - 8 вышло) ресурс BlockRAM используется полностью:
за счет двухпортовости используем 521байтное ОЗУ как два ПЗУ по 256байт - одно для прямого S-box, второе - для инверсного S-box (если проект того требует, если не требует - то блоки ОЗу задействованы на 1/2: использована двухпортовость, но половина адресного пространства не используется).

а вот как бы так заоптимизировать появившиеся в Spartan3, VirtexII & & Virtex4 блоки озу размеров 2Кбайта ?!?
сколько ни думал - всё одно получается - используется на 1/8 от номинального объема :(

может как-то спец. образом можно объединять массивы из BlockRAM (учитывая что этих S-box'ов нужно 16 шт?) дабы получить выигрыш в оптимальном использовании ресурсов(хотя за счет длин трасс может упасть производительность) ?!


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Oldring
сообщение Oct 28 2006, 14:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Doka @ Oct 28 2006, 18:20) *
может как-то спец. образом можно объединять массивы из BlockRAM (учитывая что этих S-box'ов нужно 16 шт?) дабы получить выигрыш в оптимальном использовании ресурсов(хотя за счет длин трасс может упасть производительность) ?!


Например, чтобы упростить MixColumns.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Doka
сообщение Oct 28 2006, 19:01
Сообщение #3


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Oldring, спасибо. Мысль понятна. Щас нагуглил вот:
Цитата
On systems with 32-bit or larger words, it is possible to speed up execution of this cipher by converting the SubBytes, ShiftRows and MixColumns transformations into tables. One then has four 256-entry 32-bit tables, which utilizes a total of four kilobytes (4096 bytes) of memory--a kilobyte for each table. A round can now be done with 16 table lookups and 12 32-bit exclusive-or operations, followed by four 32-bit exclusive-or operations in the AddRoundKey step.
If the resulting four kilobyte table size is too large for a given target platform, the table lookup operation can be performed with a single 256-entry 32-bit table by the use of circular rotates.

:)


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Oldring
сообщение Oct 29 2006, 10:20
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Doka @ Oct 28 2006, 22:01) *
Oldring, спасибо. Мысль понятна. Щас нагуглил вот:
Цитата
On systems with 32-bit or larger words, it is possible to speed up execution of this cipher by converting the SubBytes, ShiftRows and MixColumns transformations into tables. One then has four 256-entry 32-bit tables, which utilizes a total of four kilobytes (4096 bytes) of memory--a kilobyte for each table. A round can now be done with 16 table lookups and 12 32-bit exclusive-or operations, followed by four 32-bit exclusive-or operations in the AddRoundKey step.
If the resulting four kilobyte table size is too large for a given target platform, the table lookup operation can be performed with a single 256-entry 32-bit table by the use of circular rotates.

smile.gif


Зачем искать? http://csrc.nist.gov/aes/ - есть много описаний разнообразных реализаций. Анализируйте идеи.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Doka
сообщение Oct 30 2006, 11:19
Сообщение #5


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



Цитата(Oldring @ Oct 29 2006, 13:20) *
Зачем искать? http://csrc.nist.gov/aes/ - есть много описаний разнообразных реализаций. Анализируйте идеи.

что-то у меня уже второй день линк "Not Found" выдает :-/


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post
Oldring
сообщение Oct 30 2006, 11:59
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Doka @ Oct 30 2006, 14:19) *
Цитата(Oldring @ Oct 29 2006, 13:20) *
Зачем искать? http://csrc.nist.gov/aes/ - есть много описаний разнообразных реализаций. Анализируйте идеи.

что-то у меня уже второй день линк "Not Found" выдает :-/


Да, простите. http://www.nist.gov/aes


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Nov 2 2006, 10:15
Сообщение #7


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



http://www.xilinx.com/bvdocs/appnotes/xapp228.pdf и далее по аналогии.
Go to the top of the page
 
+Quote Post
Doka
сообщение Nov 3 2006, 10:39
Сообщение #8


Electrical Engineer
******

Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778



DmitryR, спасибо за XAPP.
Хоть это немного с другой стороны оптимизация и должны выполняться некоторые условия (запас по 2х разгону блочногоОЗУ), но с другой стороны, появляется возможность путем минимизации числа блочныхОЗУ уменьшить число длинных трасс, что по идее благоприятно скажется на общей производительности.


--------------------
Блог iDoka.ru
CV linkedin.com/in/iDoka
Sources github.com/iDoka


Never stop thinking...........................
Go to the top of the page
 
+Quote Post

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

 


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


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