Перейти к содержанию
    

CAM/TCAM ядра для Xilinx

Добрый день,

Существуют ли IP-ядра CAM/TCAM для Xilinx? Все, что я нашел, это PG189/190 - CAM/TCAM для SDNet. При этом также не совсем понятно - SDNet - это часть стандартной установки Vivado или отдельный программный продукт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

берется за основу

https://www.xilinx.com/support/documentation/application_notes/xapp201.pdf

https://www.xilinx.com/support/documentation/application_notes/xapp1151_Param_CAM.pdf

за пару вечеров пишется свое ядро, обвязывается интерфейсами как в PG190 и вуаля)

ЗЫ. примеры под SRL16, в современных SRL32E, но метод тотже)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

оно конечно существует, но реализация на ПЛИС гораздо менее эффективная по площади и скорости, чем в ASIC, там используются специальные транзисторные структуры.

Для реализации максимально быстрого поиска в ПЛИС используют 2 стратегии

1) сделать индексом хэш-функцию, если вероятность коллизий почти нулевая, либо можно позволить себе хранить в индексе, следующем за коллизией, следующий результат с тем же хешем, общим количеством коллизий не более N штук

2) построить "троичное" дерево. по аналогии с Binary Tree, только возможны не 2 состояния, а 3. Например Level-Compressed Trie и искать индекс в дереве, а потом ответ извлекать из подготовленной проиндексированной памяти

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

8 hours ago, krux said:

...

Для реализации максимально быстрого поиска в ПЛИС используют 2 стратегии

1) сделать индексом хэш-функцию, если вероятность коллизий почти нулевая, либо можно позволить себе хранить в индексе, следующем за коллизией, следующий результат с тем же хешем, общим количеством коллизий не более N штук

...

На  самом деле  вариантов построения хеш таблиц множество. В основном отличающихся  по методам  ускорения операций поиска/чтения/записи и оптимизации %-та использования памяти. 

В частности  CAM  из SDNet  реализуется  на базе структуры Cuckoo-hash которая обеспечивает конвейерный поиск в таблице за 1 такт  с эффективностью по памяти ~80%.  А вот добавление  в такую таблицу долгое.   :to_take_umbrage:

 

Удачи! Rob.       

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...