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

User Tag List

Страница 44 из 48 ПерваяПервая ... 404142434445464748 ПоследняяПоследняя
Показано с 431 по 440 из 472

Тема: Потактовый клон i8080 на FPGA/CPLD

  1. #431
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Однако, команда DAD единственная из тех, что использует машинные циклы М2 и М3, но при этом ей не нужна шина
    Ну название Mn оно достаточно условно, n - это обычно номер цикла, а не тип, который используется в документации на процессор. Хотя M1 совпадает как по номеру так и по типу. На DAD есть переход M1->M4, а не M1->M2, поэтому и блокировка генерации внешнего цикла шины на M4/M5.

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Не понятно, почему сигнал назван именно как READY_INT
    ...
    быть может как READY INTERNALLY?
    Угу, это READY internal, потому что когда оно реверсилось было сразу видно что сигнал влияет на готовность и уходит куда-то глубоко внутрь. А куда именно - сразу не раскопаешь, поэтому было принято такое рабочее название, потом так и осталось. А в последней ревизии rtl (когда я все причесал под монофазность) оно называется dad_m45, так нагляднее.

  2. #432
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    596
    Поблагодарили
    442 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Ну название Mn оно достаточно условно, n - это обычно номер цикла, а не тип, который используется в документации на процессор. Хотя M1 совпадает как по номеру так и по типу. На DAD есть переход M1->M4, а не M1->M2, поэтому и блокировка генерации внешнего цикла шины на M4/M5.
    Я только сейчас понял, почему Lavr недоумевал. Я всегда машинные циклы обозначал как Mn именно как номер машинного цикла во времени: M1 - чтение опкода, M2 дочитка операнда и т.д. Именно поэтому и посчитал ошибкой в схеме, т.к. DAD продолжительностью в 3 машинных цикла и только в 1м есть активность шины. Так описано в оригинальной доке, там M используется только для номера, а в таблице типа нет никаких литер (кроме N как обозначение числа в слове состояния).

    А Lavr смотрел в свою странную книжецу, где Mn это обозначение типа машинного цикла: чтение опкода, чтение данных, запись данных и т.д.

    Вот как бывает важно читать правильные документы.

  3. #433
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    596
    Поблагодарили
    442 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Оказывается, трюк с обнулением внутренней шины данных используется не только для регистра инструкций. Дело в том, что выборка регистровой пары R0 (напомню, что всего в процессоре 6 регистровых пар, от R0 до R5: PC, HL, DE, BC, SP и WZ) не активируется в Т1 и Т2 в M1. А сброс это растянутый T1 в M1. А защелка адреса может записывать только со внутренней 16ти битной шины регистрового файла. Поэтому, пока удерживается сброс формируются сигналы записи в регистры без указания регистра, что приводит к установке внутренней шины регистров в 0. Это попадает в защелку адреса. 16ти битный сумматор, который может работать в 3х режимах: +1, 0 и -1, тут же высчитывает следующий адрес, который и запишется в PC после загрузки регистра инструкций. Таким образом, при сбросе PC фактически хранит свое состояние до загрузки опкода из ячейки памяти с адресом 0000H. Сам 16ти битный сумматор собран на комбинаторике, со схемой ускоренного переноса. Я еще не проверял, но похоже что INX RP и DCX RP работают через него, поэтому не используют ALU и его флаги.
    Последний раз редактировалось HardWareMan; 16.02.2018 в 12:38.

  4. #434
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    596
    Поблагодарили
    442 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выход HLDA означает, что процессор отработал входной сигнал HOLD запроса доступа к шине и освободил ее. Вот его схема:

    Меня интересует комментарий Vslav: нет ли тут ошибки? Ведь при установке HLDA произойдет блокировка на элементе, эквивалентном 2И-НЕ (транзисторы Т787 и Т788).

    Что касается DAD, он действительно прыгает с M1 на M4 сразу. Ну, по крайней мере, моя моделька прыгает на данном этапе отладки.

    Скрытый текст

    [свернуть]

  5. #435
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Меня интересует комментарий Vslav: нет ли тут ошибки? Ведь при установке HLDA произойдет блокировка на элементе, эквивалентном 2И-НЕ (транзисторы Т787 и Т788).
    ИМХО, это будет только при активном F2. После его спада на выходе защёлки будет Z-состояние, что для 2И-НЕ приравнивается к лог. "1", если не ошибаюсь... А при активации F1 следующего цикла это состояние (HLDA после inst 1303) запишется и дальше, что мы и наблюдаем в симуляции выше.
    "Байт-48"

  6. #436
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    596
    Поблагодарили
    442 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    andreil, это полевые транзисторы. В них заряд остается, если цепь разорвана. Не на всегда, но в пределах тактовой частоты считай что статично (эффект регенерации). Именно поэтому, LATCH на них всего 2 транзистора, вместо 6х. Ну и отсутствие заряда как раз и рассматривается - блокировка произойдет.

  7. #436
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #437
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    andreil, это полевые транзисторы. В них заряд остается, если цепь разорвана. Не на всегда, но в пределах тактовой частоты считай что статично (эффект регенерации). Именно поэтому, LATCH на них всего 2 транзистора, вместо 6х. Ну и отсутствие заряда как раз и рассматривается - блокировка произойдет.
    Возможно и так, в таких схемах быстро запутываюсь, нет опыта. Опирался на схемное представление в углу...
    "Байт-48"

  9. #438
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    596
    Поблагодарили
    442 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Возможно и так, в таких схемах быстро запутываюсь, нет опыта. Опирался на схемное представление в углу...
    А схемное то как раз еще проще. Конструкция из 2х транзисторов, когда один разрывает цепь затвора у второго ничто иное как инвертирующая прозрачная защелка. Т.е., пока действует лог.1 на управляющем входе (транзистор в цепи затвора открыт) сигнал беспрепятственно проходит и может меняться сколько угодно. Как только управляющее напряжение падает до лог.0 (транзистор закрылся) последнее состояние сигнала запоминается и выход его будет удерживать до следующей активации. А так как обе защелки работают в разные фазы, то по факту они друг друга поддерживают в кольце.

  10. #439
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    Меня интересует комментарий Vslav: нет ли тут ошибки? Ведь при установке HLDA произойдет блокировка на элементе
    Ошибки нет, ключ к пониманию - транзистор T375, первый лист внизу слева. Нарисован по-идиотски, не влез где положено. Перерисовал его поближе к формирователю HLDA.

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

    Цитата Сообщение от HardWareMan Посмотреть сообщение
    andreil, это полевые транзисторы. В них заряд остается, если цепь разорвана. Не на всегда, но в пределах тактовой частоты считай что статично (эффект регенерации). Именно поэтому, LATCH на них всего 2 транзистора, вместо 6х. Ну и отсутствие заряда как раз и рассматривается - блокировка произойдет.
    Это ты еще LSI-11 древнейшую схемотехнику не видел. Ковыряю потихоньку CP1611, AKA 581ИК1, вот там жесть, понимаешь что это латч, а как оно конкретно работает - непонятно совсем. Потому что там надо знать тип транзистора, кто из двух передавливает, из фото неясно, приходится угадывать по смыслу. Хорошо хоть подробное описание чипсета есть, сильно помогает.

  11. #440
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,404
    Спасибо Благодарностей отдано 
    318
    Спасибо Благодарностей получено 
    596
    Поблагодарили
    442 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Ошибки нет, ключ к пониманию - транзистор T375, первый лист внизу слева. Нарисован по-идиотски, не влез где положено. Перерисовал его поближе к формирователю HLDA.
    Семён Семёныч! (с)

    Тогда NAND превращается в AND, а после него нарисовывается NOR и все работает. Спасибо. Вот много раз матерился, что блин, не работает поиск в этом PDFе! И вроде не картинка, а текст не ищет. В чем ты его создавал? Может это можно как-то исправить?

Страница 44 из 48 ПерваяПервая ... 404142434445464748 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Комманды ассемблера/коды i8080/КР580ВМ80А
    от sergey2b в разделе Разное
    Ответов: 4
    Последнее: 29.11.2015, 14:01
  2. МикроСтеплер. Компилятор ЯП СТЕПЛЕР для i8080
    от Kakos_nonos в разделе Программирование
    Ответов: 8
    Последнее: 31.05.2013, 16:34
  3. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 11:43
  4. Использование FPGA и CPLD (ПЛИС и ПЛМ)
    от Mick в разделе Для начинающих
    Ответов: 69
    Последнее: 03.05.2006, 11:47

Ваши права

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