Страница 1 из 3 123 Последняя
Показано с 1 по 20 из 50

Тема: CPLD меня мучает :) или я ее?

  1. #1
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию CPLD меня мучает :) или я ее?

    Вопрос 1.
    Нужен мне сепаратор и коммутатор для:
    https://forum.vegalab.ru/showthread.php?t=93430
    и "по совету друзей я решил приобрести" (с) отладочную плату на EPM240T100C5N. С сепаратором проблем нет, а вот с коммутутор странно работает, я его пробовал делать и на 74257, и на 74244, дело не в схемотехнике, в работе одинаково, а я думаю в не правильной настройке портов ввода. Эффет такой:

    1. Правильная работа, сигнал подключен к активным портам:
    Нажмите на изображение для увеличения. 

Название:	Well.png 
Просмотров:	80 
Размер:	56.9 Кб 
ID:	436024
    Тут сверху вниз.
    LE
    DATA (AAA555)
    LE инверсный
    DATA сдвинутая
    BCK

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

Название:	Bad.png 
Просмотров:	76 
Размер:	83.3 Кб 
ID:	436025

    Что надо поправить? Сейчас никаких внешних подтягивающих резисторов не установлено, а входы так настроены:
    Нажмите на изображение для увеличения. 

Название:	IN.png 
Просмотров:	46 
Размер:	5.2 Кб 
ID:	436026
    Нажмите на изображение для увеличения. 

Название:	IN2.png 
Просмотров:	42 
Размер:	5.0 Кб 
ID:	436027

    И второй вопрос, как сформировать короткий строб для тактирования? В наличии только меандр мастерклока в 24мГц, а мне надо существенно короче, я могу конечно внешний (снаружи) строб сделать, но это как-то не по чатлански.
    Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
    Указ Петра I от 09.12.1709:

  2. #2
    Старый знакомый Аватар для Alto
    Регистрация
    14.01.2020
    Адрес
    Подмосковье
    Возраст
    50
    Сообщений
    801

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Delta213 Посмотреть сообщение
    И второй вопрос, как сформировать короткий строб для тактирования? В наличии только меандр мастерклока в 24мГц, а мне надо существенно короче, я могу конечно внешний (снаружи) строб сделать, но это как-то не по чатлански.
    Чисто теоретически можно цепочку инверторов и исключающее или на вход и выход, но я так не делал, не знаю будет ли работать.

  3. #3
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Alto Посмотреть сообщение
    Чисто теоретически можно цепочку инверторов и исключающее или на вход и выход, но я так не делал, не знаю будет ли работать.
    Так точно не работает, пройденный этап, квартус видит, что элементы последовательно стоят и оптимизирует схему убирая их.
    Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
    Указ Петра I от 09.12.1709:

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

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Delta213, вам из I2S стрима надо сделать два PCM потока на параллельные ЦАП?

  5. #5
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Delta213, вам из I2S стрима надо сделать два PCM потока на параллельные ЦАП?
    Да!
    С этим вроде нет проблем, почему сигнал проникает с не активных входов?
    Про короткий строб это не для этого, я думаю как растянуть данные в 32 битном кадре и вписать в 16 битный, ну чтобы понизить частоту для тда1541, пцм56.
    Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
    Указ Петра I от 09.12.1709:

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

    По умолчанию Re: CPLD меня мучает :) или я ее?

    "Ну так бы сразу и сказал". (Джентельмены удачи)
    Что у вас за касяк разбираться лень. Вот, сообразил на скорую руку на верилоге: i2s_to_pcm.txt
    Осциллогарммы симуляции: Нажмите на изображение для увеличения. 

Название:	изображение_2023-05-08_164907012.png 
Просмотров:	76 
Размер:	14.7 Кб 
ID:	436038
    На вход принимается I2S LJ, на выходе параллельная раздача. Разрядность выхода задается дефайном вверху. Объем получился 128 ячеек. Теоретически можно сделать и компактнее, но это надо дольше колупать.

  7. #7
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от dortonyan Посмотреть сообщение
    "Ну так бы сразу и сказал". (Джентельмены удачи)
    Что у вас за касяк разбираться лень.
    Дык у меня проблема только с этим, с мультиплексором! И вторая, еще не проблема, просто изучаю как можно быстро переписать из одного регистра в другой.
    Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
    Указ Петра I от 09.12.1709:

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

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Дык у меня проблема только с этим, с мультиплексором!
    Что куда надо мультиплексировать?

    На верилоге это элементарно:
    assign out = (mux) ? in1 : in2;

  9. #9
    Старый знакомый Аватар для Mic Dragon
    Регистрация
    12.11.2007
    Адрес
    С-Петербург
    Возраст
    54
    Сообщений
    601

    По умолчанию Re: CPLD меня мучает :) или я ее?

    И абсолютно не элементарно в кристалле. Если нормальный мультиплексор 74 к примеру серии полностью игнорирует сигнал на невыбранном входе то в ПЛИС для его реализации ставят что-то такое как по ссылке (рисунок 2) и как результат любое изменение уровня на любом входе пролазит на выход. https://marsohod.org/11-blog/265-fpga
    С уважением, Михаил Янковский.

  10. #10
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Mic Dragon Посмотреть сообщение
    и как результат любое изменение уровня на любом входе пролазит на выход.
    Так а что делать? Как правильно мультиплексор собрать? Вот эти одинаково плохо работают, сигнал с не активных входов пролазит. Я конечно могу и в железе мультиплексор поставить, но как-то это не правильно.
    Нажмите на изображение для увеличения. 

Название:	1.png 
Просмотров:	48 
Размер:	17.1 Кб 
ID:	436071
    Нажмите на изображение для увеличения. 

Название:	2.png 
Просмотров:	44 
Размер:	16.0 Кб 
ID:	436072

    ---------- Сообщение добавлено 19:54 ---------- Предыдущее сообщение было 19:45 ----------

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

  11. #11
    Старый знакомый Аватар для Mic Dragon
    Регистрация
    12.11.2007
    Адрес
    С-Петербург
    Возраст
    54
    Сообщений
    601

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Верилог тут не при чем, если не суперсложные проекты то прекрасно можно обойтись и схемой, оно так как-то нагляднее. Сам успешно делал обработку цифрового видео на циклоне именно схемой и проблем не имел, но там не было такой гадости как асинхронный мультиплексор, ПЛИС всё-таки заточены под синхронную работу, когда все эти переходы успевают закончится к очередному тактовому импульсу.. А сам модуль брать хоть 74 хоть стандартный мультиплексор - результат будет одинаково паршивый. Так что лучше всего именно железом и не испытывать комплексов по этому поводу.
    С уважением, Михаил Янковский.

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

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Mic Dragon Посмотреть сообщение
    И абсолютно не элементарно в кристалле.
    Какая разница как оно на кристалле? Нам же не кристалл делать, важен результат и расход ресурсов. Больше ничего.

    Цитата Сообщение от Mic Dragon Посмотреть сообщение
    Если нормальный мультиплексор 74 к примеру серии полностью игнорирует сигнал на невыбранном входе то в ПЛИС для его реализации ставят что-то такое как по ссылке (рисунок 2) и как результат любое изменение уровня на любом входе пролазит на выход.
    Извините, но это какая-то чушь. Что это за мультиплексор, если сигналы со всех входов пролазят на выход?

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Так а что делать?
    Не можете на верилоге, рисуйте свой вентилями, тогда точно будет работать как надо:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-05-08_192432969.png 
Просмотров:	26 
Размер:	3.4 Кб 
ID:	436074

  13. #13
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Mic Dragon Посмотреть сообщение
    А сам модуль брать хоть 74 хоть стандартный мультиплексор - результат будет одинаково паршивый. Так что лучше всего именно железом и не испытывать комплексов по этому поводу.
    Понял, принял, записал, спасибо!!!
    А верилог все равно надо осваивать, тут без вариантов.

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Не можете на верилоге, рисуйте свой вентилями, тогда точно будет работать как надо:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-05-08_192432969.png 
Просмотров:	26 
Размер:	3.4 Кб 
ID:	436074
    Я попробую и так, не проблема, спасибо.
    Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
    Указ Петра I от 09.12.1709:

  14. #14
    Старый знакомый Аватар для Mic Dragon
    Регистрация
    12.11.2007
    Адрес
    С-Петербург
    Возраст
    54
    Сообщений
    601

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Да нету в ПЛИС вентилей, а любая логика включая мультиплексор реализуется (эмулируется) в кристалле на ячейках памяти. В статике проблем нет, в динамике одним Нижним богам известно что там на самом деле творится. Если потом стоит регистр то пофиг на переходные процессы, а 99,99% того что обычно на них делают его как раз содержит.
    Последний раз редактировалось Mic Dragon; 08.05.2023 в 19:46.
    С уважением, Михаил Янковский.

  15. #15
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Mic Dragon Посмотреть сообщение
    Да нету в ПЛИС вентилей
    Не, ну я для чистоты эксперимента проверю мультиплексор на элементарной логике, отпишусь. Кстати, в симуляции все отлично работает, а в живую, ну вы видели.
    Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
    Указ Петра I от 09.12.1709:

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

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Mic Dragon Посмотреть сообщение
    Да нету в ПЛИС вентилей, а любая логика включая мультиплексор реализуется (эмулируется) в кристалле на ячейках памяти. В статике проблем нет, в динамике одним Нижним богам известно что там на самом деле творится. Если потом стоит регистр то пофиг на переходные процессы, а 99,99% того что обычно на них делают его как раз содержит.
    Извините, но вы опять пишете какую-то чушь. То что вентили эмулируются не означают что они работают иначе. Элемент "И" от этого не превратится в элемент "ИЛИ".
    То что вы описываете называется "гонки" фронтов асинхронной логической схемы. Причина - банальные задержки переключения вентилей в логической схеме. Никаких высших материй здесь нет.
    И длительность таких артефактов - единицы наносекунд максимум. Если учитывать задержки вентилей, то поведение таких артефактов легко прогнозируется (по крайней мере для простых логических схем).
    В частности, для нарисованной выше схемы мультиплексора на вентилях никаких "гонок" фронтов, "пролаза" со входа на выход и прочих артефактов при статическом уровне сигнала "SEL" не будет.

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Кстати, в симуляции все отлично работает, а в живую, ну вы видели.
    Т.е. в симуляции изначальный вариант нормально работает?

  17. #17
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Т.е. в симуляции изначальный вариант нормально работает?
    Конечно! Чему там не работать? Одна 74257, sel в статике.

    Я вот что подумал, а в этом не может быть дело? Мне ворнинг при компиляции говорит вот это:
    Warning: Always-enabled tri-state buffer(s) removed
    Warning: Converted the fanout from the always-enabled tri-state buffer "74244:inst8|36" to the node "DATA_OUT" into a wire
    Warning: Converted the fanout from the always-enabled tri-state buffer "74244:inst8|31" to the node "BCK_OUT" into a wire
    Warning: Converted the fanout from the always-enabled tri-state buffer "74244:inst8|27" to the node "LRCK_OUT" into a wire

    Это как раз выходные сигналы с коммутатора и я не нашел где можно убрать эти Z, подумал что раз компилятор сам убирает то и гуд. Тоже самое говорит и в случае с 74257, т.е. дело не в них, а в самих пинах.
    Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
    Указ Петра I от 09.12.1709:

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

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Конечно! Чему там не работать? Одна 74257, sel в статике.
    Что-то странное. Может в плисе тупо пин "sel" не пропаян?

  19. #19
    Завсегдатай
    Автор темы
    Аватар для Delta213
    Регистрация
    23.01.2006
    Адрес
    Астрахань
    Сообщений
    4,402

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Что-то странное. Может в плисе тупо пин "sel" не пропаян?
    Так она чувствует состояние, просто через отключенный вход сигнал проникает как помеха, если на него ничего не подавать, то выбранный вход нормально работает. Это в железе так, в симуляции нет такого. Ну могу конечно sel на другой пин перебросить, только это не даст ничего. Mic Dragon скорее всего прав. Я все это (другой пин на sel, на вентилях мультиплексор) смогу проверить через тройку дней, отпишусь, работа у меня в графике.
    Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
    Указ Петра I от 09.12.1709:

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

    По умолчанию Re: CPLD меня мучает :) или я ее?

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Это как раз выходные сигналы с коммутатора и я не нашел где можно убрать эти Z, подумал что раз компилятор сам убирает то и гуд. Тоже самое говорит и в случае с 74257, т.е. дело не в них, а в самих пинах.
    Да, компилятор просто предупреждает, что вырезает 3-state буферы за ненадобностью. Вроде ничего такого.

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

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Так она чувствует состояние, просто через отключенный вход сигнал проникает как помеха, если на него ничего не подавать, то выбранный вход нормально работает. Это в железе так, в симуляции нет такого. Ну могу конечно sel на другой пин перебросить, только это не даст ничего. Mic Dragon скорее всего прав. Я все это (другой пин на sel, на вентилях мультиплексор) смогу проверить через тройку дней, отпишусь, работа у меня в графике.
    Не, это какая-то жесть. Такого быть не должно. Я неоднократно пользовался мультиплексорами, никогда такой фигни не было. Попробуйте собрать логику без 3-stste буферов. Может все таки где-то там касяк.

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

    А не может этот сигнал проникать где-то снаружи, вне плисины? Может где-то КЗ на ногах микрухи?

Страница 1 из 3 123 Последняя

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

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

Ваши права

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