Red Black Tree

Красно-черное дерево

Red-Black Tree - это алгоритм ассоциативного массива (stl::map). Интерфейс совместим с Memory Interface Generator (LogiCORE IP Core от Xilinx)

Подробнее
Aho-Corasik

Ахо - Корасик

Ахо—Корасик - это алгоритм оптимального поиска подсроки (ключевых слов). Алгоритм реализует поиск множества подстрок из словаря в данной строке.

Vsyn - компилятор языка Си в Verilog

Разработка алгоритмов на языке Си значительно проще, компактней и быстрей, чем на языках описания аппаратуры (Verilog, VHDL, SystemC, etc). Автоматизированный процесс переноса Си-логики на аппаратный уровень - является весьма эффективным подходом при реализации сложных и больших проектов на PLD (ПЛИС) FPGA:

Переносимость Си в Verilog

Данные языки программирования описывают совершенно разные процессы работы алгоритмов, по этому однозначный перенос между ними сделать нельзя. Но, не смотря на это, обеспечивается поддержка наиболее необходимых и часто встречаемые операции. Vsyn формирует state-машину в точном соответствии с Си кодом. Для максимальной оптимизации алгоритмов, разработчику стоит понимать сущность, необходимость и принципы формирования state-машины.

Межмодульное взаимодействие

Генерируемый Verilog код является синтезируемым модулем и может быть легко интегрирован в любой проект. Интерфейс к модулю (input\output) определяется аргументами в функциях, а также особыми директивами. Рекомендуется использовать комбинацию модулей, написанных вручную и генерируемых с помощью Vsyn. Некоторые алгоритмы (как правило, для выполнение которых нужен один clock) удобней представить в виде стандартного конвеера, но для описание алгоритмов с множеством состояний или сложными взаимодействиями - стоит использовать Vsyn (примеры).

Основные отличия от Xilinx Vivado High-Level Synthesis (HLS)