1 |
6 |
dgisselq |
<HTML><HEAD><TITLE>XuLA2 Wishbone Bus</TITLE></HEAD>
|
2 |
|
|
<BODY>
|
3 |
|
|
<h1 align=center>XuLA2 Wishbone Address Space</H1>
|
4 |
|
|
<TABLE align=center>
|
5 |
|
|
<TR><TH>Wishbone Address</TH><TH align=center>Words</TH><TH align=left>Usage</TH></TR>
|
6 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0000_xxxx_xxxx</TT></TD><TH align=right>256</TH><TD>Undefined Memory (Bus Error)</TD></TR>
|
7 |
31 |
dgisselq |
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_0000</TT></TD><TH align=right>1</TH><TD>(Reserved)</TD></TR>
|
8 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_0001</TT></TD><TH align=right>1</TH><TD>Version</TD></TR>
|
9 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_0010</TT></TD><TH align=right>1</TH><TD>JTAG Accessible Interrupt Controller</TD></TR>
|
10 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_0011</TT></TD><TH align=right>1</TH><TD>Bus Error (Includes errors induced from JTAG-wishbone controller)</TD></TR>
|
11 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_0100</TT></TD><TH align=right>1</TH><TD>ZipTimer</TD></TR>
|
12 |
6 |
dgisselq |
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_0101</TT></TD><TH align=right>1</TH><TD>RTC Date</TD></TR>
|
13 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_0110</TT></TD><TH align=right>1</TH><TD>GPIO control</TD></TR>
|
14 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_0111</TT></TD><TH align=right>1</TH><TD>UART Control word</TD></TR>
|
15 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_100x</TT></TD><TH align=right>2</TH><TD>PWM control</TD></TR>
|
16 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_1010</TT></TD><TH align=right>1</TH><TD>Receive UART RX value</TD></TR>
|
17 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_1011</TT></TD><TH align=right>1</TH><TD>Transmit UART port</TD></TR>
|
18 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0000_11xx</TT></TD><TH align=right>4</TH><TD>Flash Control Words</TD></TR>
|
19 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0001_0xxx</TT></TD><TH align=right>8</TH><TD>RTC Clock</TD></TR>
|
20 |
|
|
<TR><TD align=right><TT>0_0000_0000_0000_0001_0001_1yyx</TT></TD><TH align=right>2</TH><TD>Scope #Y (0..3)</TD></TR>
|
21 |
82 |
dgisselq |
<TR><TD align=right><TT>0_0000_0000_0000_0001_0010_00xx</TT></TD><TH align=right>4</TH><TD>SD Card Registers: Control, Data, FIFO zero and FIFO one</TD></TR>
|
22 |
6 |
dgisselq |
<TR><TD align=right><TT>0_0000_0000_0000_0001_01xx_xxxx</TT></TD><TH align=right>32</TH><TD>(ICAPE Access -- not yet proven)</TD></TR>
|
23 |
|
|
<TR><TD align=right><TT>0_0000_0000_001x_xxxx_xxxx_xxxx</TT></TD><TH align=right>8k</TH><TD>On Chip RAM</TD></TR>
|
24 |
|
|
<TR><TD align=right><TT>0_0000_01xx_xxxx_xxxx_xxxx_xxxx</TT></TD><TH align=right>256k</TH><TD>1 MB SPI Flash (256kW)</TD></TR>
|
25 |
|
|
<TR><TD align=right><TT>0_1rrr_rrrr_rrrr_rrbb_cccc_cccc</TT></TD><TH align=right>8M</TH><TD>32 MB SDRAM (8MW)</TD></TR>
|
26 |
|
|
<TR><TD align=right><TT>1_yyyy_yyyy_yyyy_yyyy_yyyy_yyyx</TT></TD><TH align=right>2</TH><TD>External Zip CPU control (y bits are don't cares, not accessible from ZipCPU)</TD></TR>
|
27 |
|
|
<!-- -->
|
28 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_xxxx</TT></TD><TH align=right>20</TH><TD>Zip System registers</TD></TR>
|
29 |
|
|
<!-- -->
|
30 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_0000</TT></TD><TH align=right>1</TH><TD>Zip Programmable Interrupt Controller</TD></TR>
|
31 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_0001</TT></TD><TH align=right>1</TH><TD>Watchdog Timer</TD></TR>
|
32 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_0010</TT></TD><TH align=right>1</TH><TD>Address of last bus error, as seen by the Zip CPU</TD></TR>
|
33 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_0011</TT></TD><TH align=right>1</TH><TD>Secondary Interrupt Controller</TD></TR>
|
34 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_0100</TT></TD><TH align=right>1</TH><TD>Timer A</TD></TR>
|
35 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_0101</TT></TD><TH align=right>1</TH><TD>Timer B</TD></TR>
|
36 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_0110</TT></TD><TH align=right>1</TH><TD>Timer C</TD></TR>
|
37 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_0111</TT></TD><TH align=right>1</TH><TD>Jiffies</TD></TR>
|
38 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_1000</TT></TD><TH align=right>1</TH><TD>Master Task Clock Counter</TD></TR>
|
39 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_1001</TT></TD><TH align=right>1</TH><TD>Master Stall Counter</TD></TR>
|
40 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_1010</TT></TD><TH align=right>1</TH><TD>Master Pre-Fetch Stall Counter</TD></TR>
|
41 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_1011</TT></TD><TH align=right>1</TH><TD>Master Instruction Counter</TD></TR>
|
42 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_1100</TT></TD><TH align=right>1</TH><TD>User Task Clock Counter</TD></TR>
|
43 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_1101</TT></TD><TH align=right>1</TH><TD>User Stall Counter</TD></TR>
|
44 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_1110</TT></TD><TH align=right>1</TH><TD>User Pre-Fetch Stall Counter</TD></TR>
|
45 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0000_1111</TT></TD><TH align=right>1</TH><TD>User Instruction Counter</TD></TR>
|
46 |
|
|
<TR><TD><TT>1100_0000_0000_0000_0000_0000_0001_00xx</TT></TD><TH align=right>1</TH><TD>DMA Controller</TD></TR>
|
47 |
|
|
</TABLE>
|
48 |
117 |
dgisselq |
<!--
|
49 |
|
|
<TABLE align=center>
|
50 |
|
|
<TR><TD><TT>1xxxxxx</TT></TD><TD>SDRAM</TD></TR>
|
51 |
|
|
<TR><TD><TT>01xxxxx</TT></TD><TD>Flash</TD></TR>
|
52 |
|
|
<TR><TD><TT>001xxxx</TT></TD><TD>Block RAM</TD></TR>
|
53 |
|
|
<TR><TD><TT>00011xx</TT></TD><TD>ICAPE</TD></TR>
|
54 |
|
|
<TR><TD><TT>000101x</TT></TD><TD>SD Card control</TD></TR>
|
55 |
|
|
<TR><TD><TT>00010011</TT></TD><TD>Scope</TD></TR>
|
56 |
|
|
<TR><TD><TT>00010010xxx</TT></TD><TD>RTC</TD></TR>
|
57 |
|
|
<TR><TD><TT>00010001xxx</TT></TD><TD>PWM/UART/Flash Control</TD></TR>
|
58 |
|
|
<TR><TD><TT>00010000xxx</TT></TD><TD>Other I/O</TD></TR>
|
59 |
|
|
<TR><TD><TT>0000xxxxxxx</TT></TD><TD>Bus Error</TD></TR>
|
60 |
|
|
</TABLE>
|
61 |
|
|
<TABLE align=center>
|
62 |
|
|
<TR><TD><TT>1xxxxxx</TT></TD><TD>SDRAM</TD></TR>
|
63 |
|
|
<TR><TD><TT>01xxxxx</TT></TD><TD>Flash</TD></TR>
|
64 |
|
|
<TR><TD><TT>00111xx</TT></TD><TD>Block RAM</TD></TR>
|
65 |
|
|
<TR><TD><TT>00110xx_xxxx</TT></TD><TD>ICAPE</TD></TR>
|
66 |
|
|
<TR><TD><TT>00101xx_xxx</TT></TD><TD>SD Card control</TD></TR>
|
67 |
|
|
<TR><TD><TT>00100yy_yyxx</TT></TD><TD>Scope</TD></TR>
|
68 |
|
|
<TR><TD><TT>00011yy_yxxx</TT></TD><TD>RTC</TD></TR>
|
69 |
|
|
<TR><TD><TT>00010yy_yfux</TT></TD><TD>PWM/UART/Flash Control</TD></TR>
|
70 |
|
|
<TR><TD><TT>00001yy_yxxx</TT></TD><TD>Other I/O</TD></TR>
|
71 |
|
|
<TR><TD><TT>00000</TT></TD><TD>Bus Error</TD></TR>
|
72 |
|
|
</TABLE>
|
73 |
|
|
-->
|
74 |
31 |
dgisselq |
|
75 |
6 |
dgisselq |
<h1 align=center>Primary (ZipSystem) Interrupt Controller Assignments</H1>
|
76 |
|
|
<TABLE align=center>
|
77 |
|
|
<TR><TD><TH align=right>0</TH><TD>DMA controller</TD></TR>
|
78 |
|
|
<TR><TD><TH align=right>1</TH><TD>Jiffies</TD></TR>
|
79 |
|
|
<TR><TD><TH align=right>2</TH><TD>Timer C</TD></TR>
|
80 |
|
|
<TR><TD><TH align=right>3</TH><TD>Timer B</TD></TR>
|
81 |
|
|
<TR><TD><TH align=right>4</TH><TD>Timer A</TD></TR>
|
82 |
|
|
<TR><TD><TH align=right>5</TH><TD>Secondary Interrupt Controller</TD></TR>
|
83 |
|
|
<TR><TD><TH align=right>6</TH><TD>JTAG Accessible Interrupt Controller</TD></TR>
|
84 |
|
|
<TR><TD><TH align=right>7</TH><TD>RTC Clock</TD></TR>
|
85 |
|
|
<TR><TD><TH align=right>8</TH><TD>SPI Flash</TD></TR>
|
86 |
|
|
<TR><TD><TH align=right>9</TH><TD>Scope</TD></TR>
|
87 |
|
|
<TR><TD><TH align=right>10</TH><TD>GPIO</TD></TR>
|
88 |
|
|
<TR><TD><TH align=right>11</TH><TD>PWM</TD></TR>
|
89 |
|
|
<TR><TD><TH align=right>12</TH><TD>RX UART data available (with FIFO, becomes non-empty RX FIFO not empty)</TD></TR>
|
90 |
|
|
<TR><TD><TH align=right>13</TH><TD>TX UART idle (with FIFO, becomes TX FIFO empty)</TD></TR>
|
91 |
|
|
<TR><TD><TH align=right>14</TH><TD>(Unused/reserved)</TD></TR>
|
92 |
|
|
</TABLE>
|
93 |
|
|
<h1 align=center>Secondary (ZipSystem) Interrupt Controller Assignments</H1>
|
94 |
|
|
<TABLE align=center>
|
95 |
|
|
<TR><TD><TH align=right>0</TH><TD>User Instruction Counter</TD></TR>
|
96 |
|
|
<TR><TD><TH align=right>1</TH><TD>User Prefetch stall counter</TD></TR>
|
97 |
|
|
<TR><TD><TH align=right>2</TH><TD>User stall counter</TD></TR>
|
98 |
|
|
<TR><TD><TH align=right>3</TH><TD>User task counter</TD></TR>
|
99 |
|
|
<TR><TD><TH align=right>4</TH><TD>Master instruction counter rollover</TD></TR>
|
100 |
|
|
<TR><TD><TH align=right>5</TH><TD>Master prefetch stall counter rollover</TD></TR>
|
101 |
|
|
<TR><TD><TH align=right>6</TH><TD>Master stall counter rollover</TD></TR>
|
102 |
|
|
<TR><TD><TH align=right>7</TH><TD>Master task counter rollover</TD></TR>
|
103 |
|
|
<TR><TD><TH align=right>8-14</TH><TD>(Unused / reserved)</TD></TR>
|
104 |
|
|
</TABLE>
|
105 |
|
|
<h1 align=center>JTAG Accessible Interrupt Controller Assignments</H1>
|
106 |
|
|
<TABLE align=center>
|
107 |
|
|
<TR><TD><TH align=right>0</TH><TD>Zip CPU Halted</TD></TR>
|
108 |
|
|
<TR><TD><TH align=right>1</TH><TD>RTC Clock</TD></TR>
|
109 |
|
|
<TR><TD><TH align=right>2</TH><TD>SPI Flash</TD></TR>
|
110 |
|
|
<TR><TD><TH align=right>3</TH><TD>Scope</TD></TR>
|
111 |
|
|
<TR><TD><TH align=right>4</TH><TD>GPIO</TD></TR>
|
112 |
|
|
<TR><TD><TH align=right>5</TH><TD>PWM</TD></TR>
|
113 |
|
|
<TR><TD><TH align=right>6</TH><TD>RX UART</TD></TR>
|
114 |
|
|
<TR><TD><TH align=right>7</TH><TD>TX UART</TD></TR>
|
115 |
31 |
dgisselq |
<TR><TD><TH align=right>8</TH><TD>Bus Timer (A Zip Timer, just on the bus)</TD></TR>
|
116 |
|
|
<TR><TD><TH align=right>9-14</TH><TD>(Unused / reserved)</TD></TR>
|
117 |
6 |
dgisselq |
</TABLE>
|
118 |
|
|
</BODY></HTML>
|