Важная информация

User Tag List

Страница 234 из 237 ПерваяПервая ... 230231232233234235236237 ПоследняяПоследняя
Показано с 2,331 по 2,340 из 2368

Тема: Цифровая археология: 1801 и все-все-все

  1. #2331
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,249
    Спасибо Благодарностей отдано 
    108
    Спасибо Благодарностей получено 
    212
    Поблагодарили
    181 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я думаю, можно сделать проще. Активация сброса вырубает все клоки. А его деактивация врубает их, но не сразу, а с ощутимой задержкой. Это если глобальный сброс.

    Если же это использование сброса как средство быстрого снятия сигнала с выхода триггера - тогда с учётом (локального) клока на спаде сигнала сброса

    Кстати, я именно второй сценарий больше имел ввиду, когда задавал вопрос про использование входа сброса у триггера

  2. #2332
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,158
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    439
    Поблагодарили
    243 сообщений
    Mentioned
    64 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Я думаю, можно сделать проще. Активация сброса вырубает все клоки.
    Нет, обычно это неправильный сценарий. Обычно есть много триггеров которые отрабатывают только синхронно, и нормальный порядок их приведения в исходное - подать сброс и подождать несколько тактов пока состояние распространится на все цепочки. Обычно в спецификациях еще указывают сколько тактов надо подождать в состоянии сброса. Даже синхронной модели 1801ВМ1 надо минимум два такта с активным сбросом чтобы прийти в исходное.

  3. #2333
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,249
    Спасибо Благодарностей отдано 
    108
    Спасибо Благодарностей получено 
    212
    Поблагодарили
    181 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Нет, обычно это неправильный сценарий.
    Цитата Сообщение от Vslav Посмотреть сообщение
    Даже синхронной модели 1801ВМ1 надо минимум два такта с активным сбросом чтобы прийти в исходное.
    Пояснение по моему сценарию. Имелся ввиду вариант именно глобального сброса. То есть когда сбрасывается именно ВСЁ. И я написал про поведение при снятии сигнала сброса, но ничего про то, сколько длится сам сигнал сброса - думал, понятно, что он не будет длиться 1 такт на 500-ах МГц. То есть такой глобальный сброс свой собственный клок, который и используется для того, что бы
    а) определять продолжительность самого сброса
    б) определять промежуток времени после окончания сброса для запуска остальных клоков

  4. #2334
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,158
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    439
    Поблагодарили
    243 сообщений
    Mentioned
    64 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Имелся ввиду вариант именно глобального сброса. То есть когда сбрасывается именно ВСЁ.
    Что значит глобальный и что значит ВСЕ?
    Заводить асинхронный сброс на все триггеры бессмысленно и иногда невозможно или нежелательно, а также тратит ресурсы. Бывает куча синхронных машин состояний когда переходить в исходное желательно по правильным графам, а не просто все одномоментно переустановить. Те же тестовые проекты из cpu11 - модели процессоров имеют глобальный клок, но не имеют глобального сброса. Чтобы привести это все в исходное - надо подать сигнал сброса и НЕ останавливать тактовую. Там же есть специальный сброс, он активируется однократно при включении питания или длительном нажатии на кнопку, он тактируется напрямую от внешнего генератора (в том числе и кнопка от него же, что вызвало изрядный геморрой с констрейнами), и ждет инициализации PLL для генерации основного сброса системы (общесистемного) ПРИ наличии основного устойчивого клока от готовой (locked) PLL. Но этот спецсброс скорее можно назвать Power-Up, а не Reset, и оно абсолютно не глобальное, маленький локальный блок, обеспечивающий старт "от печки" при включении питания.
    Последний раз редактировалось Vslav; 14.01.2021 в 14:20.

  5. #2335
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,249
    Спасибо Благодарностей отдано 
    108
    Спасибо Благодарностей получено 
    212
    Поблагодарили
    181 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Что значит глобальный и что значит ВСЕ?
    Это значит, что в моём случае есть несколько самостоятельных модулей - примерно как в случае железной PDP-11 и они соединены между собой примерно так же, как в случае железного компа, то есть есть аналог(!) QBus, есть протокол работы по нему, есть аналог корзины и модули "втыкаются" в неё. Соответственно, у каждого модуля может быть свой тактовый сигнал и есть глобальный сигнал RESET, который инициируется включением питания, кнопкой пульта или командой RESET процессора.

    - - - Добавлено - - -

    Вдогонку. Сейчас этот глобальный сброс в модуле синхронен с клоком этого модуля.

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

  6. #2336
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,158
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    439
    Поблагодарили
    243 сообщений
    Mentioned
    64 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    железного компа, то есть есть аналог(!) QBus
    К аналогу есть два вопроса:
    - оно же без 3-его состояния? То есть, нету никаких "двунаправленных шин" внутри FPGA. Ну я думаю - да, но всяко бывает
    - шина синхронная? То есть тактовый сигнал общий, и значения сигналов беруться только в момент клока?
    Если на один из вопросов ответ - "нет", то беда

    Цитата Сообщение от Hunta Посмотреть сообщение
    Соответственно, у каждого модуля может быть свой тактовый сигнал
    Это архитектурно неправильно. Нет, проект может иметь несколько тактовых доменов, иногда без этого никуда. Какой-то отдельный блок может работать на собственной частоте, например PHY SATA, или VGA с перестраиваемым клоком. Но надо _очень_ хорошо понимать где проходят границы тактовых доменов и принимать меры для согласования.

    Например, когда я делал SATA, то на 150MГц у меня работал только модуль PHY и потом оно через эластичные FIFO с двумя независимыми клоками цеплялось к остальной части на собственной отдельной 75MHz (не синхронной) где была сделана вся обработка и сопряжение с основной шиной SoC. Примерно также можно отвязать растровый домен VGA. Но иметь общую шину (да не дай Бог, еще и асинхронную) и вешать на нее модули с собственным тактированием в шинной части - это тоже беда. Не, ну можно мосты сделать на dual clock FIFO, да. Но тут достаточно погуглить как эти FIFO устроены, про код Грея и "вот это вот все", и желание отпадет. У нас ретро-системы простые, можно спокойно иметь единый клок и забыть все эти метастабильные ужасы и сопряжения тактовых доменов.

  7. Этот пользователь поблагодарил Vslav за это полезное сообщение:

    yu.zxpk (15.01.2021)

  8. #2337
    Master
    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    502
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    К аналогу есть два вопроса:
    - оно же без 3-его состояния? То есть, нету никаких "двунаправленных шин" внутри FPGA. Ну я думаю - да, но всяко бывает
    современные xilinx не имеют внутренних (физической реализации) логических элементов с Z-состоянием. На внешние выводы микросхемы есть (и только в этом случае).
    На Veriologe можно написать код схемы с шинами и "3-им состоянием", но он самым ужасным способом превращается в месиво логических элементов в плисе.
    На Альтере судя по всему ровно также...

  9. #2338
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,158
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    439
    Поблагодарили
    243 сообщений
    Mentioned
    64 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    но он самым ужасным способом превращается в месиво логических элементов в плисе.
    Да, именно это я и подразумевал своим вопросом
    Вот так проектировать низзя, но "умельцы" все равно периодически попадаются

  10. #2339
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    4,249
    Спасибо Благодарностей отдано 
    108
    Спасибо Благодарностей получено 
    212
    Поблагодарили
    181 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    оно же без 3-его состояния? То есть, нету никаких "двунаправленных шин" внутри FPGA.
    Да, без третьего и нет двунаправленных. Я очень быстро понял, что ни того ни другого внутри FPGA быть не должно.

    Цитата Сообщение от Vslav Посмотреть сообщение
    шина синхронная?
    Нет. Строго говоря, она и у автора не может считаться синхронной, но там ещё накладывается сильная асинхронность проекта. Собственно, почему я стал, тогда ещё не понимая всего до конца, переделывать проект.

    Цитата Сообщение от Vslav Посмотреть сообщение
    Но надо _очень_ хорошо понимать где проходят границы тактовых доменов и принимать меры для согласования.
    Да, я это уже давно знаю.

    Цитата Сообщение от Vslav Посмотреть сообщение
    У нас ретро-системы простые
    Учитывая, как это всё было сделано изначально в PDP2011 - что я сомневаюсь, что ЭТО можно назвать простой системой. И самое главное, если эти модули использовать более менее самостоятельно, а не в виде одной FPGA, в которой всё-всё-всё, да ещё и на шине QBus (а пока от неё не сильно куда), то, насколько я понимаю - всё равно все эти проблемы с асинхронностью шины и необходимость с этим что то делать - выползут. Так что я продолжу двигаться в выбранном направлении, но так же постараюсь сделать модули настраиваемыми на полностью синхронную внутреннюю шину. Особенно когда пойму временные констрейнты (на уровне посдсознания) и учитывая возможно генерации в VHDL

    Цитата Сообщение от AlexG Посмотреть сообщение
    На Альтере судя по всему ровно также.
    Ровно так же. Поэтому я очень рано отказался от полностью аналогичной QBus внутренней шине с ОК или Z-состояниями. Правда, тогда только из за того, что это крайне хорошо приводило к незапускаемому результату, ну а потом, почитав - понял и причины

  11. #2340
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,158
    Спасибо Благодарностей отдано 
    98
    Спасибо Благодарностей получено 
    439
    Поблагодарили
    243 сообщений
    Mentioned
    64 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Нет. Строго говоря, она и у автора не может считаться синхронной, но там ещё накладывается сильная асинхронность проекта
    И это печалька. Синтез и роутинг происходят автоматически, и синтезатору нельзя объяснить (ну теоретически можно с помощью кучи констрейнов, но это "закат солнца вручную") что вот этот сигнал должен срабатывать монотонно, без "иголок". Поэтому как оно там физически по ячейкам разложит, и сколько импульсов будет, скажем, у DOUT, никто сразу так не скажет. SoC должна иметь в основе синхронную шину, это базовый пункт, иначе время будет уходить на борьбу за стабильность. Мне вообще непонятно выражение - "проект стал более стабильным" . Для цифры стабильность это как свежесть для осетрины

    Цитата Сообщение от Hunta Посмотреть сообщение
    Учитывая, как это всё было сделано изначально в PDP2011 - что я сомневаюсь, что ЭТО можно назвать простой системой.
    Бюджеты транзисторные тогда были скромные, ничего сложного по сегодняшним меркам априори построить не могли. Для примера смотрим на модели процессоров 1801 и видим их очень скромный размер. Поэтому это кажущаяся сложность, навороты именно из-за неверной архитектуры SoC.

    Цитата Сообщение от Hunta Посмотреть сообщение
    И самое главное, если эти модули использовать более менее самостоятельно, а не в виде одной FPGA, в которой всё-всё-всё
    Ну модули и используют в качестве IP-блоков - или в ASIC или в FPGA, как еще? Даже если взять какой внешний интерфейс - они сейчас все синхронные, и довольно давно, взять ту же PCI или SDRAM.

Страница 234 из 237 ПерваяПервая ... 230231232233234235236237 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 7
    Последнее: 28.06.2014, 17:50
  2. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  3. ЦИФРОВАЯ МУЗЫКА НА ZX
    от AAA в разделе Музыка
    Ответов: 98
    Последнее: 18.09.2011, 22:33
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Цифровая музыка от Вадима Ермеева
    от zxmike в разделе Музыка
    Ответов: 2
    Последнее: 06.08.2007, 23:13

Метки этой темы

Ваши права

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