nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 28 May 2017 18:10



Reply to topic  [ 128 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9
Z80 Finite State Machine 
Author Message
Senior

Joined: 20 Mar 2013 06:36
Posts: 137
Location: Ростов-на-Дону
Reply with quote
Post 
Буду пробовать реализовать шину и регистры на синхронной логике. На кристалле чтения-записи работают по уровню.


28 May 2014 12:42
Profile
Senior

Joined: 20 Mar 2013 06:36
Posts: 137
Location: Ростов-на-Дону
Reply with quote
Post 
Особенности Z80...

Есть сигнал 153, примерный смысл - в регистре инструкций находится инструкция, при которой сохраняются флаги, в том числе в них входят сдвиги с префиксом CB.

Есть сигнал 183, примерный смысл - в регистре инструкций находится инструкция, при которой результат сохраняется в аккумулятор, в том числе в них входят сдвиги rlc/rrc/rlnc/rrnc.

То есть при сдвигах с префиксом CB нет записи результата в аккумулятор, что логично, а при обычных сдвигах нет записи флагов, что странно. Видимо при обычных сдвигах флаг переноса сохраняется особым образом.

Далее RS-триггер.

Вход R = M1T1 and (153 or 183). Сброс при M1T1, если текущая инструкция требует сохранения результата в аккумулятор или сохранения флагов. Сохранение происходит во время выборки следующей инструкции, то есть выход этого триггера можно назвать "идёт процесс сохранения результата и/или флагов".

Но вход S = M1T3 or (M4T2 and (34 or 35 or что-то_ещё)). При M1T3 понятно - результат сохранили, новую инструкцию выполнять начали, но M4T2 при обычных сдвигах? Они же за 1 M-цикл выполняются, M1. То есть явно какие-то лишние условия.

В другом месте похожее. Вывод флагов на шину
flag_oe = ~(w3[353] or w2[225])

а потом некий строб при (подставим flag_oe в выражение)
flag_oe or w2[225] =
= ~(w3[353] or w2[225]) or w2[225] =
= (~w3[353] and ~w2[225]) or w2[225] =
= (~w3[353] or w2[225]) and (~w2[225] or w2[225]) =
= (~w3[353] or w2[225]) and TRUE =
= (~w3[353] or w2[225])

То есть опять какие-то странности в логических выражениях. Зачем такие сложности? Или это задаёт порядок формирования сигналов?

p.s. А схема десятичной коррекции участвует в формировании на шине адреса 0066h при NMI :)


06 Jun 2014 13:45
Profile
Fanat

Joined: 10 Feb 2014 06:37
Posts: 79
Reply with quote
Post 
Теперь понятно, откуда растут ноги у этого адреса.


06 Jun 2014 14:54
Profile
Senior

Joined: 20 Mar 2013 06:36
Posts: 137
Location: Ростов-на-Дону
Reply with quote
Post 
Не могу найти про "закладки" в Z80. Подскажите, сколько их было? Где-то упоминалось количество.

Один "лишний" транзистор в счётчике тактов уже есть, теперь вот при записи не срабатывает коммутатор на внутренней шине, который должен пропустить байт из регистра на выводы D0...D7. То есть он как бы срабатывает, но...


08 Jun 2014 17:04
Profile
Senior

Joined: 20 Mar 2013 06:36
Posts: 137
Location: Ростов-на-Дону
Reply with quote
Post 
В симуляторе появились "гонки сигналов", диаграммы логически правильные, но защёлкивается всякая фигня. Мне всё больше кажется, что в реальной ПЛИС все эти "защёлки по уровням" работать не будут.


14 Jun 2014 05:35
Profile
Senior

Joined: 20 Mar 2013 06:36
Posts: 137
Location: Ростов-на-Дону
Reply with quote
Post 
По идее при выполнении перехода адрес записывается в регистр WW, он же выставляется на шину адреса, а после инкремента записывается в PC и далее всё как обычно. Но опять какие-то странности в диаграммах, хотя всё срисовано верно.


14 Jun 2014 16:11
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15342
Location: New York
Reply with quote
Post 
Вот чувак тоже реверсил Z80 по камню:

http://www.righto.com/2014/09/why-z-80s ... mbled.html

_________________
:eugeek: https://twitter.com/Shaos1973


20 Oct 2014 12:47
Profile WWW
Senior

Joined: 22 Jun 2005 07:35
Posts: 177
Location: МО Россия
Reply with quote
интересен флаговый регистр, в частности биты 3 и 5

Если есть возможность отреверсить логику их заполнения


27 Dec 2016 03:01
Profile ICQ
Display posts from previous:  Sort by  
Reply to topic   [ 128 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.