Страница 13 из 14 Первая ... 311121314 Последняя
Показано с 241 по 260 из 268

Тема: DF2 - Вторая версия DIY ЦФ

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,609

    По умолчанию DF2 - Вторая версия DIY ЦФ

    Итак, обещанный проект нового ЦФ.
    Опыт прошлой ветки показал, что вопросы построения ЦФ сводятся к конкретному проекту. Поэтому решил создать отдельную.

    Исходная ветка с обсуждением различных реализаций ЦФ здесь.
    Ветка про ЦФ DF1 здесь.

    С момента публикации прошлой версии ЦФ прокачал скилл по верилогу, поэтому новый ЦФ выполнен проще, и с более сложной арифметикой. В частности добавлены опции шейпера и дополнительного апсемплера, что позволяет выводить данные в том числе на малоразрядные ЦАП, типа AK4499EX.
    Получив определенный опыт понял о чем писал Сергей Агеев (на счет реализации умножителей и многовходовых сумматоров на FPGA). Если правильно выбирать длину конвейера, то нет смысла изобретать оригинальную схему умножителя. Компилятор синтезирует лучше.
    То же самое касается описания сумматоров: использование многовходовых сумматоров оптимизируется лучше, чем ручная разбивка на двух-входовые.

    В отличие от предыдущего проекта, новый делался как заготовка для самостоятельного применения и доработки под свои задачи. Поэтому все режимы досконально не тестировались, и проект выкладывается "как есть" в версии альфа.
    В исходниках есть только пара примеров: для FPGA cyclone и lcmxo2.
    Описание содержит краткое перечисление основных параметров, а так же инструкцию по самостоятельной сборке проекта и генерации собственных коэф-тов в MatLab.
    Картинок много, текста мало. Все как мы любим.
    Утилита и ее исходник для автоматизированной конверсии коэф-тов в формат верилога прилагается.
    Так же прилагаются матлабовские модели всех каскадов фильтра, архив со сгенерированными коэф-тами фильтров, примененных в проекте и симулинк-модель. Для запуска симулинк-модели нужен матлаб версии r2018b.

    - 25.09.2023 - Добавил MatLab модель шейпера в симулинке. На этот раз версии r2013b. В 2018-ом матлабе че-то намудрили со спектроанализатором, и в нем амплитуда сигнала получается зависима от порядка шейпера, или от кратности оверсемплинга.

    - 27.09.2023 - Правка шейпера 3-го порядка

    Шейпер 3-го порядка в проекте выполнен по схеме:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132616551.png 
Просмотров:	237 
Размер:	17.0 Кб 
ID:	441606
    NTF шейпера на 1кГц сигнале:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132509846.png 
Просмотров:	234 
Размер:	29.1 Кб 
ID:	441605
    Данный шейпер оптимизирован для работы на невысокой частоте семплирования (х16..х32) и с разрядностью данных не менее 7..8 бит.
    На работы на более высоких ЧД при меньшей разрядности данных можно упростить коэф-т шейпера, улучшив SNR и сэкономив на логике. Для этого исключается слагаемое Gain3 (по схеме симулинка):
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132931529.png 
Просмотров:	198 
Размер:	17.0 Кб 
ID:	441607
    В проекте это слагаемое находится в файле DATA_READ.v:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_133349302.png 
Просмотров:	221 
Размер:	20.6 Кб 
ID:	441609
    Данное слагаемое отклоняет значение коэф-та от 3-х, создавая дополнительный полюс на NTF. После упрощения коэф-та NTF шейпера принимает вид классического модулятора 3-го порядка.
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_133125636.png 
Просмотров:	229 
Размер:	26.8 Кб 
ID:	441608
    Можно также это слагаемое не удалять, а менять его величину (увеличивать сдвиг), двигая тем самым полюс NTF.
    [свернуть]

    - 28.09.2023 - Отрефакторил модули DATA_READ и SAI_OUTPUT. Поправил описание.
    - 05.10.2023 - Поправил DF_CONTROL. Поправил описание.
    Вложения Вложения
    Последний раз редактировалось dortonyan; 05.10.2023 в 22:16.

  2. #241
    Частый гость Аватар для eclipsevl
    Регистрация
    31.01.2009
    Адрес
    Гаага
    Возраст
    30
    Сообщений
    452

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ


    Offтопик:
    Цитата Сообщение от tomtit Посмотреть сообщение
    максимальная частота 37мегегерц, а корректно работает на 50.
    Так он показывает worst case по всем корнерам. Оно может перестать работать на других температурах или если вдруг не повезет с кристаллом.
    А какая именно ПЛИС в QFN32 с флешкой внутри? Я искал и не смог найти.


  3. #242
    Завсегдатай Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    66
    Сообщений
    1,001

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Все они с флэшкой внутри. Я уже заказал парочку Gw1n-9k в QFN48 на Маузере. А на демо-борде у меня QFN88.

    ---------- Сообщение добавлено 10:14 ---------- Предыдущее сообщение было 08:15 ----------

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Offтопик:

    Это не у говина скоростной софт, а у ксайлинса тормозной.
    У латтиса и альтеры сборка тоже довольно быстрая. Хотя конечно зависит от серии и объема выбранной FPGA.
    Ха-ха, был у Латтиса,
    Недавно пришлось пересобрать старый проект на их новом Radiant. Возмутительное отставание от Xilinx по тормознутости сложности и размеру успешно преодолено. Так держать! И результат синтеза похуже, чем на устаревшем IceCube.

  4. #243
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,609

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от tomtit Посмотреть сообщение
    Недавно пришлось пересобрать старый проект на их новом Radiant. Возмутительное отставание от Xilinx по тормознутости сложности и размеру успешно преодолено. Так держать! И результат синтеза похуже, чем на устаревшем IceCube.
    Не знаю. Я собирал в радианте под crosslink-nx - отлично все синтезируется. По крайней мере раз в 10 быстрее, чем у ксайлинкса под XC3S200.
    И по ресурсам получается отлично, примерно как у альтеровских циклонов.
    Ну и расход ресурсов больше зависит не от IDE, а от серии логики. Например в дешевых ICE-40 (как, кстати, и у говина) расход ресурсов всегда повышенный, видимо из-за урезанных шин трассировки логики ("бесплатных пирожен не бывает").

  5. #244
    Частый гость Аватар для Termik
    Регистрация
    27.10.2012
    Возраст
    39
    Сообщений
    122

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Крутая тема и очень интересная, но как бы снизить порог вхождения для сильно менее опытных?
    Думаю может начать с переходника под 28-пиновый дип? для замены типовых ЦФ вроде 5842.
    Какой выбрать чип наиболее доступный и достаточный для этой затеи?
    Последний раз редактировалось Termik; 15.12.2024 в 00:20.

  6. #245
    Завсегдатай Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,655

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Наверно Gowin можно взять.

  7. #246
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,609

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Да, из доступного сейчас в мелких корпусах наверное только говин.
    Но я бы сразу делал свою плату на циклоне EP1C3T100. Программатор альтеровский самый дешевый, удобное простое и доступное IDE. В сети куча примеров по работе в квартусе.
    Флешку для циклона можно брать виндбоновскую, вместо альтеровских нормально подходит, проверено.

  8. #247
    Новичок Аватар для aleev
    Регистрация
    14.02.2020
    Сообщений
    13

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Коллеги, все-таки, чтобы упростить вход в тему - выложите пожалуйста проект для tang nano 9k.

  9. #248
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    63
    Сообщений
    2,133

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    В шапке есть исходники. Установи GOWIN EDA и работай.

  10. #249
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,609

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от aleev Посмотреть сообщение
    Коллеги, все-таки, чтобы упростить вход в тему - выложите пожалуйста проект для tang nano 9k.
    В любых IDE создание проекта примерно одинаково: file->new project и дальше заполняем формы (выбираем директорию проекта, нужную плисину и исходники).
    Все верилоговские файлы нужно скопировать в директорию нового проекта. Основным исходным файлом проекта выбирать DF2_CYCLONE_EXAMPLE.v (можно переименовать). Верхним по иерархии модулем выбрать "DF2".
    Дальше сборка, назначение пинов, компиляция и прошивка.

  11. #250
    Новичок Аватар для aleev
    Регистрация
    14.02.2020
    Сообщений
    13

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Это понятно - конкретно на tang nano 9k (GW1NR-LV9K) в сводке таймингов на мастер-клок ругается, т.к. его не может поднять выше 9МГц с копьями. Немного позже заскриншотю

  12. #251
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,609

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Странно конечно. Где-то что-то хреново собирается.
    Нужно:
    1. Смотреть репорт: между какими именно регистрами максимальная задержка. И какой вообще расход ресурсов, может что-то в коде поломали и не собирается как надо.
    2. Смотреть настройки портов. Проверить, чтобы мастерклок включался на пин с ф-ей глобал-клока.
    3. Смотреть настройки синтеза и маппинга. Хотя, конечно у говина настроек мало, особо ничего не "покрутить".
    Ну и проект лучше для начала урезать - задать настройки константами по максимуму.

  13. #252
    Новичок Аватар для aleev
    Регистрация
    14.02.2020
    Сообщений
    13

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Нажмите на изображение для увеличения. 

Название:	GW_Time1.jpg 
Просмотров:	21 
Размер:	161.8 Кб 
ID:	464905Нажмите на изображение для увеличения. 

Название:	GW_Time2.jpg 
Просмотров:	26 
Размер:	621.7 Кб 
ID:	464906Нажмите на изображение для увеличения. 

Название:	GW_Time3.jpg 
Просмотров:	11 
Размер:	70.7 Кб 
ID:	464907

    Это "чистый" проект, где в df2.v переименован конфиг под латтис.
    Дал возможность компилятору самому распределить выводы.

  14. #253
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,609

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Возможно блоки умножения не подключились, пытается собрать на ячейках и получается хрень. Надо смотреть настройки синтезатора, вдруг поиск выделенных ресурсов не активен.
    А без латтисовского конфига не пробовали?

    Откопал в закромах проект DF2, собранный под говиновскую FPGA. Под какую именно и как собрался - не помню, IDE не установлено.
    Вложения Вложения

  15. #254
    Новичок Аватар для aleev
    Регистрация
    14.02.2020
    Сообщений
    13

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Спасибо! Сейчас попробую.

    ---------- Сообщение добавлено 20:46 ---------- Предыдущее сообщение было 20:37 ----------

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Возможно блоки умножения не подключились, пытается собрать на ячейках и получается хрень.
    Это пока "чистый" проект:Нажмите на изображение для увеличения. 

Название:	GW_Time4.jpg 
Просмотров:	23 
Размер:	135.3 Кб 
ID:	464909

    ---------- Сообщение добавлено 21:10 ---------- Предыдущее сообщение было 20:46 ----------

    Цитата Сообщение от aleev Посмотреть сообщение
    Спасибо! Сейчас попробую.

    ---------- Сообщение добавлено 20:46 ---------- Предыдущее сообщение было 20:37 ----------



    Это пока "чистый" проект:Нажмите на изображение для увеличения. 

Название:	GW_Time4.jpg 
Просмотров:	23 
Размер:	135.3 Кб 
ID:	464909
    С проектом, который выше в архиве - Нажмите на изображение для увеличения. 

Название:	GW_Time5.jpg 
Просмотров:	16 
Размер:	156.2 Кб 
ID:	464912Нажмите на изображение для увеличения. 

Название:	GW_Time6.jpg 
Просмотров:	15 
Размер:	184.0 Кб 
ID:	464913Нажмите на изображение для увеличения. 

Название:	GW_Time7.jpg 
Просмотров:	17 
Размер:	102.0 Кб 
ID:	464914 лучше.

  16. #255
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,609

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Лучше, но мод латтиса наверное не надо использовать. С ним IDE куда-то кучу умножителей навставляло.
    Или дальше кастомно "допиливать" под говин: заменять в комбинаторной логике операнды "*" другими логическими выражениями, чтобы IDE абы куда DSP блоки не включало.
    В общем для начала я бы попробовал закомментить дефайн латтиса.
    А что с частотой в моем проекте, 40..50 МГц есть?

  17. #256
    Новичок Аватар для aleev
    Регистрация
    14.02.2020
    Сообщений
    13

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Лучше, но мод латтиса наверное не надо использовать. С ним IDE куда-то кучу умножителей навставляло.
    Или дальше кастомно "допиливать" под говин: заменять в комбинаторной логике операнды "*" другими логическими выражениями, чтобы IDE абы куда DSP блоки не включало.
    В общем для начала я бы попробовал закомментить дефайн латтиса.
    А что с частотой в моем проекте, 40..50 МГц есть?
    39МГц...
    Собрал для GW5A - там еще больше умножителей.

    Буду пробовать завтра. Спрошу, если что. Спасибо, Алексей!

  18. #257
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    63
    Сообщений
    2,133

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от aleev Посмотреть сообщение

    Буду пробовать завтра.
    Ну как, победил, как успехи? У меня постоянно 1 умножитель терялся, поискал и оставил говин - много руками допиливать.

  19. #258
    Новичок Аватар для aleev
    Регистрация
    14.02.2020
    Сообщений
    13

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    как успехи?
    Увы, в больницу загремел... Теперь на праздниках буду ковырять ))

  20. #259
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    63
    Сообщений
    2,133

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от aleev Посмотреть сообщение
    Увы, в больницу загремел...
    Поправляйся! тогда попробую еще раз к снаряду подойти - импортировать проект из квартус, говин некоторые файлы жует.

  21. #260
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,609

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    В принципе, куда компилятор расходует лишние умножители не важно. Главное чтобы их хватало для мака.
    Для данного проекта на MAC должно расходоваться 4 блока 18х18, или 16 блоков 9х9.

Страница 13 из 14 Первая ... 311121314 Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •