update mf0816 desgin
This commit is contained in:
parent
1dd1ac7215
commit
439be0953c
1 changed files with 47 additions and 40 deletions
|
@ -1,5 +1,5 @@
|
|||
MFD-0816 TECHNICAL SPECIFACTION & OVERVIEW
|
||||
November 2024
|
||||
January 2025
|
||||
|
||||
CONTENTS
|
||||
────────────────────────────────────────────────────────────────────────────────
|
||||
|
@ -28,6 +28,7 @@ CONTENTS
|
|||
|
||||
The MFD-0816 is a 16-bit fantasy CPU and based on the intel 8088.
|
||||
|
||||
► Big Endian
|
||||
► 16-bit address bus
|
||||
► 16-bit word
|
||||
► 8-bit I/O bus
|
||||
|
@ -39,7 +40,7 @@ CONTENTS
|
|||
┌───────┬────────┬────────────────────────────────────────────────┐
|
||||
│ NAME │ PINS │ DESCRIPTION │
|
||||
├───────┼────────┼────────────────────────────────────────────────┤
|
||||
│ CLK │ 00 │ Clock pin. When high the CPU executes one step │
|
||||
│ ICLK │ 00 │ Clock pin. When high the CPU executes one step │
|
||||
├───────┼────────┼────────────────────────────────────────────────┤
|
||||
│ AIO │ 01..16 │ 16-bit Memory IO Bus │
|
||||
├───────┼────────┼────────────────────────────────────────────────┤
|
||||
|
@ -54,6 +55,8 @@ CONTENTS
|
|||
│ AMS │ 28 │ Memory IO Bus Mode Select │
|
||||
├───────┼────────┼────────────────────────────────────────────────┤
|
||||
│ GMS │ 29 │ 8-bit IO Bus Mode Select │
|
||||
├───────┼────────┼────────────────────────────────────────────────┤
|
||||
│ CLK │ 30 │ Clock for Memory IO & 8-bit IO Busses │
|
||||
└───────┴────────┴────────────────────────────────────────────────┘
|
||||
|
||||
2. REGISTERS
|
||||
|
@ -156,39 +159,41 @@ CONTENTS
|
|||
|
||||
The MFD-0816 provides a regular address & data bus mainly used for
|
||||
loading of instructions and memory. The address bus and its corresponding
|
||||
data bus are both 16-bits wide. The high-byte of the received data may be
|
||||
data bus are both 16-bits wide. The low-byte of the received data may be
|
||||
ignored by the CPU if not needed.
|
||||
|
||||
Write Operation:
|
||||
|
||||
T1 ╷ T2 ╷
|
||||
CLK ┌──────────────────┐ ┌────────────────────┐
|
||||
──┘ └────────────────────┘ └─
|
||||
T1 ╷ T2 ╷ T3 ╷
|
||||
CLK ┌──────────────────┐┌──────────────────┐┌──────────────────┐
|
||||
──┘ └┘ └┘ └─
|
||||
|
||||
AMS ┌────────────────────┐
|
||||
┘ └───────────────────────────────────────────
|
||||
AMS ─────────────────────┐
|
||||
└─────────────────────────────────────────
|
||||
🮣───────────────────🮢 🮣────────────────────🮢
|
||||
AIO ─🮤 ADDRESS OUT 🮥────────────────────🮤 DATA OUT 🮥─
|
||||
AIO ─🮤 ADDRESS OUT 🮥──────────────────🮤 DATA OUT 🮥─
|
||||
🮡───────────────────🮠 🮡────────────────────🮠
|
||||
|
||||
Read Operation:
|
||||
|
||||
T1 ╷ T2 ╷
|
||||
CLK ┌──────────────────┐ ┌────────────────────┐
|
||||
──┘ └──────────────────┘ └─
|
||||
T1 ╷ T2 ╷ T3 ╷
|
||||
CLK ┌──────────────────┐┌──────────────────┐┌──────────────────┐
|
||||
──┘ └┘ └┘ └─
|
||||
|
||||
AMS ┌────────────────────────────────────────────────────────────┐
|
||||
┘ └─
|
||||
AMS ─────────────────────────────────────────┐
|
||||
└─────────────────────
|
||||
🮣───────────────────🮢 🮣────────────────────🮢
|
||||
AIO ─🮤 ADDRESS OUT 🮥──────────────────🮤 DATA IN 🮥─
|
||||
🮡───────────────────🮠 🮡────────────────────🮠
|
||||
|
||||
► If AMS is high during T1, the operation is a write opeartion. If AMS is
|
||||
also hgih during T2, it is a read operation.
|
||||
► [Omitted from diagram] To trigger a Memory Bus operation, a priming
|
||||
clock-pulse where AMS is high is sent.
|
||||
► If AMS is low during T2, the operation is a write opeartion. If AMS is
|
||||
high during T2, it is a read operation.
|
||||
► During T1 the 16-bit address is set.
|
||||
► (Write Operation) During T2 the word to be written is set in case of
|
||||
► (Write Operation) During T3 the word to be written is set in case of
|
||||
a write operation.
|
||||
► (Write Operation) During T2 the requested data must be set by the peer.
|
||||
► (Read Operation) During T3 the requested data must be set by the peer.
|
||||
|
||||
|
||||
An 8-bit I/O bus is also provided for interacting with external hardware
|
||||
|
@ -200,8 +205,8 @@ CONTENTS
|
|||
CLK ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
|
||||
─┘ └──────┘ └──────┘ └──────┘ └─
|
||||
|
||||
GMS ┌─────────────────────┐
|
||||
┘ └─────────────────────────────
|
||||
GMS ────────┐
|
||||
└───────────────────────────────────────────
|
||||
🮣────────────────────🮢 🮣────────────────────🮢
|
||||
GIO ─🮤 ADDRESS OUT 🮥──────🮤 DATA OUT 🮥─
|
||||
🮡────────────────────🮠 🮡────────────────────🮠
|
||||
|
@ -212,12 +217,14 @@ CONTENTS
|
|||
CLK ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
|
||||
─┘ └──────┘ └──────┘ └──────┘ └─
|
||||
|
||||
GMS
|
||||
────────────────────────────────────────────────────
|
||||
GMS ──────────────────────┐
|
||||
└─────────────────────────────
|
||||
🮣────────────────────🮢 🮣────────────────────🮢
|
||||
GIO ─🮤 ADDRESS OUT 🮥──────🮤 DATA IN 🮥─
|
||||
🮡────────────────────🮠 🮡────────────────────🮠
|
||||
|
||||
► [Omitted from diagram] To trigger an I/O Bus operation, a priming
|
||||
clock-pulse where GMS is high is sent.
|
||||
► If GMS is high only during T1, the operation is a write opeartion.
|
||||
If it is also high during T2, it is a read operation.
|
||||
► During T1 the high-byte of the 16-bit address is set.
|
||||
|
@ -493,7 +500,7 @@ CONTENTS
|
|||
Interrupt request:
|
||||
|
||||
T1 ╷
|
||||
CLK ┐ ┌──────┐ ┌
|
||||
ICLK ┐ ┌──────┐ ┌
|
||||
└──────┘ └──────┘
|
||||
|
||||
IRQ ┌──────┐
|
||||
|
@ -506,7 +513,7 @@ CONTENTS
|
|||
Interrupt acknowledge:
|
||||
|
||||
T1 ╷ T2 ╷
|
||||
CLK ┐ ┌─────────┐ ┌─────────┐
|
||||
ICLK ┐ ┌─────────┐ ┌─────────┐
|
||||
└─────────┘ └─────────┘ └─
|
||||
|
||||
IRA ┌─────────────────────────────┐
|
||||
|
@ -543,7 +550,7 @@ CONTENTS
|
|||
vector is located at address 0xfffe.
|
||||
|
||||
T1 ╷ T2 ╷ T3 ╷
|
||||
CLK ┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
|
||||
ICLK ┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
|
||||
└─────────┘ └─────────┘ └─────────┘ └
|
||||
|
||||
RESET ┌─────────┐
|
||||
|
|
Loading…
Add table
Reference in a new issue