Jump to content
    

Разработка СФ блоков на SystemVerilog для использования в проектах разработки микросхем (СПБ)

Разработаю по вашему ТЗ сложно-функциональные блоки для использования в проектах разработки микросхем (ASIC). Возможно проведение консультирования/обучения в области разработки RTL проектов для ASIC.

 

О себе: опыт разработки RTL более 20 лет. Опыт разработки СФБ для ASIC более 15 лет, включая проектирование, разработку, верификацию. Предыдущие места работы: Internet Telecom, Intel, Syntacore.  Реализованные проекты: CФ блоки для DSP обработки (NCO, FIR, FFT), микроконтроллеры x86, RISC-V.

 

Прямо сейчас доступен СФБ "Цифровой генератор комплексной экспоненты"(NCO) собственной разработки.

Содержит фазовый аккумулятор, синтезатор комплексной экспоненты и модулятор входного сигнала.

Фазовый аккумулятор обеспечивает точность задания начальной фазы и фазового изменения (фазового инкремента) : 2*PI/(2^32). Кроме того, фазовый аккумулятор поддерживает возможность однократного изменения фазы (может использоваться для фазовой коррекции).

Синтезатор сигнала использует таблицу значений Sin/Cos размером ~2кБайта.

В качестве входного сигнала используются 16-битные комплексные значения (RE[16] + IM[16]).

Минимальное значение SNR на выходе модулятора > 94dB.

Максимальное значение шума на выходе модулятора < -104dB (SFDR > 104dB). 

Тестовое покрытие > 99%

СФБ разработан на SystemVerilog для использования в проектах разработки микросхем (ASIC).

Есть возможность предоставить модель(скомпилировано с помощью Verilator) для оценки характеристик модуля

Возможна модификация модуля под ваши требования.

 

Контакты:

Skype: dmitri.pavlov1

Или здесь в "личку"

 

Дмитрий

Share this post


Link to post
Share on other sites

Доступен еще один СФБ для вычисления БПФ/ОБП.

Реализация в процессе регистрации в “ФЕДЕРАЛЬНОЙ СЛУЖБЕ ПО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ”.

Блок построен по схеме RADIX-4 и поддерживает конфигурирование для следующих размеров БПФ/ОБПФ: 16, 64, 256, 1024, 4096.

Разрядности входных и выходных данных конфигурируются в диапазоне 16-24 бита.

СФБ разработан на SystemVerilog для использования в проектах разработки микросхем (ASIC).

Есть возможность предоставить модель(скомпилировано с помощью Verilator) для оценки характеристик модуля

Возможна модификация модуля под ваши требования.

Share this post


Link to post
Share on other sites

Доступна расширенная версия СФБ для вычисления БПФ/ОБПФ для векторов размерностью 16К и параллельной обработкой 4 последовательных отсчетов: позволяет обрабатывать данные полученные на частоте дискретизации в 4 раза выше частоты работы СФБ.

 

На хабре есть статья описывающая методику и результаты моделирования для однопоточного  блока БПФ на 1К отсчетов: https://habr.com/ru/articles/824958/

 

Share this post


Link to post
Share on other sites

On 7/10/2024 at 12:18 PM, dpavlov said:

Доступна расширенная версия СФБ для вычисления БПФ/ОБПФ для векторов размерностью 16К и параллельной обработкой 4 последовательных отсчетов: позволяет обрабатывать данные полученные на частоте дискретизации в 4 раза выше частоты работы СФБ.

Хмм.. А на какой частоте разводится ваш БПФ "для векторов размерностью 16К и параллельной обработкой 4 последовательных отсчетов" ?
И для какой ширины входных данных - 16 бит, или можно больше?
Предлагаю чип для сравнения рабочей частоты: XCKU5P-2-i..

Share this post


Link to post
Share on other sites

Размер входных/выходных данных задается параметром: 16, 20, 24. Но можно и для других размеров собрать.
Проводил пробный синтез для разрядности 20 бит, для xcvu9p-flga2104-2L-e при заданной частоте 300МГц (период = 3.33ns).
Отрицательный слэк составил -0.116, т.е. достижимая частота получилась ~290МГц.
Сильно оптимизацией для FPGA не занимался, основной упор делался на качество кода для использование проектах для ASIC.
Пробный синтез для TSMC90 : заданная частота 250МГц(период 4ns), uncertainty = 10%, отрицательный слэк составил -0.13, т.е. частота ~242МГц.

Если интересно, возможна модификация для обработки векторов 64К и коэффициентом параллельности 16.
Детали можно обсудить в личке.

Edited by dpavlov

Share this post


Link to post
Share on other sites

On 7/10/2024 at 12:58 PM, dpavlov said:

Проводил пробный синтез для разрядности 20 бит, для xcvu9p-flga2104-2L-e при заданной частоте 300 МГц..

OK. Спасибо.

 

Для xcvu9p-flga2577-2-i у меня получились такие цифры:

 Radix-4, Pipelined, Streaming I/O на 16384 точек: Fmax = 500 MHz, что эквивалентно скорости входного потока:  4 * 0.500 GHz =  2.0 GS/s.
 Radix-4, Pipelined, Streaming I/O на 65536 точек: Fmax = 500 MHz, что эквивалентно скорости входного потока:  4 * 0.500 GHz =  2.0 GS/s.
Radix-16, Pipelined, Streaming I/O на 65536 точек: Fmax = 490 MHz, что эквивалентно скорости входного потока: 16 * 0.490 GHz =  7.8 GS/s.
Radix-32, Pipelined, Streaming I/O на 32768 точек: Fmax = 476 MHz, что эквивалентно скорости входного потока: 32 * 0.476 GHz = 15.2 GS/s.
Radix-64, Pipelined, Streaming I/O на  4096 точек: Fmax = 400 MHz, что эквивалентно скорости входного потока: 64 * 0.400 GHz = 25.6 GS/s.

 

Share this post


Link to post
Share on other sites

14 hours ago, blackfin said:

Для xcvu9p-flga2577-2-i у меня получились такие цифры:

 Radix-4, Pipelined, Streaming I/O на 16384 точек: Fmax = 500 MHz, что эквивалентно скорости входного потока:  4 * 0.500 GHz =  2.0 GS/s.
 Radix-4, Pipelined, Streaming I/O на 65536 точек: Fmax = 500 MHz, что эквивалентно скорости входного потока:  4 * 0.500 GHz =  2.0 GS/s.
Radix-16, Pipelined, Streaming I/O на 65536 точек: Fmax = 490 MHz, что эквивалентно скорости входного потока: 16 * 0.490 GHz =  7.8 GS/s.
Radix-32, Pipelined, Streaming I/O на 32768 точек: Fmax = 355 MHz, что эквивалентно скорости входного потока: 32 * 0.355 GHz = 11.4 GS/s.
Radix-64, Pipelined, Streaming I/O на  4096 точек: Fmax = 400 MHz, что эквивалентно скорости входного потока: 64 * 0.400 GHz = 25.6 GS/s.

 

Добрый день,

Спасибо за цифры, будет с чем сравнивать. Но как я уже написал выше, я не занимался оптимизацией под FPGA. Задачи достичь максимальной частоты тоже не было. Например, для low-power решений длинные конвейеры могут оказаться скорее недостатком. Необходимо было разработать сбалансированное решение для использования в ASIC.
У меня есть несколько уточнений по цифрам, но это уже в
"личку" напишу.

Дмитрий

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...