OpenCores
URL https://opencores.org/ocsvn/tv80/tv80/trunk

Subversion Repositories tv80

[/] [tv80/] [branches/] [restruc2/] [doc/] [tv80_docs.html] - Blame information for rev 30

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 ghutchis
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
<html lang="en"><head><title>$Revision: 1.1 $: tv80 Core Documentation</title>
3
<meta http-equiv="Expires" content="Fri, 15 Oct 2004 22:04:00 +0000">
4
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
<meta name="description" content="tv80 Core Documentation">
6
<meta name="keywords" content="private, XML, Extensible Markup Language">
7
<meta name="generator" content="xml2rfc v1.26 (http://xml.resource.org/)">
8
<style type='text/css'>
9
<!--
10
    body {
11
        font-family: verdana, charcoal, helvetica, arial, sans-serif;
12
        margin: 2em;
13
        font-size: small ; color: #000000 ; background-color: #ffffff ; }
14
    .title { color: #990000; font-size: x-large ;
15
        font-weight: bold; text-align: right;
16
        font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
17
        background-color: transparent; }
18
    .filename { color: #666666; font-size: 18px; line-height: 28px;
19
        font-weight: bold; text-align: right;
20
        font-family: helvetica, arial, sans-serif;
21
        background-color: transparent; }
22
    td.rfcbug { background-color: #000000 ; width: 30px ; height: 30px ;
23
        text-align: justify; vertical-align: middle ; padding-top: 2px ; }
24
    td.rfcbug span.RFC { color: #666666; font-weight: bold; text-decoration: none;
25
        background-color: #000000 ;
26
        font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
27
        font-size: x-small ; }
28
    td.rfcbug span.hotText { color: #ffffff; font-weight: normal; text-decoration: none;
29
        text-align: center ;
30
        font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
31
        font-size: x-small ; background-color: #000000; }
32
/* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
33
    div#counter{margin-top: 100px}
34
 
35
    a.info{
36
        position:relative; /*this is the key*/
37
        z-index:24;
38
        text-decoration:none}
39
 
40
    a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}
41
 
42
    a.info span{display: none}
43
 
44
    a.info:hover span{ /*the span will display just on :hover state*/
45
        display:block;
46
        position:absolute;
47
        font-size: smaller ;
48
        top:2em; left:2em; width:15em;
49
        padding: 2px ;
50
        border:1px solid #333333;
51
        background-color:#eeeeee; color:#990000;
52
        text-align: left ;}
53
 
54
     A { font-weight: bold; }
55
     A:link { color: #990000; background-color: transparent ; }
56
     A:visited { color: #333333; background-color: transparent ; }
57
     A:active { color: #333333; background-color: transparent ; }
58
 
59
    p { margin-left: 2em; margin-right: 2em; }
60
    p.copyright { font-size: x-small ; }
61
    p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}
62
 
63
    span.emph { font-style: italic; }
64
    span.strong { font-weight: bold; }
65
    span.verb { font-family: "Courier New", Courier, monospace ; }
66
 
67
    ol.text { margin-left: 2em; margin-right: 2em; }
68
    ul.text { margin-left: 2em; margin-right: 2em; }
69
    li { margin-left: 3em;  }
70
 
71
    pre { margin-left: 3em; color: #333333;  background-color: transparent;
72
        font-family: "Courier New", Courier, monospace ; font-size: small ;
73
        }
74
 
75
    h3 { color: #333333; font-size: medium ;
76
        font-family: helvetica, arial, sans-serif ;
77
        background-color: transparent; }
78
    h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }
79
 
80
    table.bug { width: 30px ; height: 15px ; }
81
    td.bug { color: #ffffff ; background-color: #990000 ;
82
        text-align: center ; width: 30px ; height: 15px ;
83
         }
84
    td.bug A.link2 { color: #ffffff ; font-weight: bold;
85
        text-decoration: none;
86
        font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
87
        font-size: x-small ; background-color: transparent }
88
 
89
    td.header { color: #ffffff; font-size: x-small ;
90
        font-family: arial, helvetica, sans-serif; vertical-align: top;
91
        background-color: #666666 ; width: 33% ; }
92
    td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }
93
    td.author-text { font-size: x-small; }
94
    table.data { vertical-align: top ; border-collapse: collapse ;
95
        border-style: solid solid solid solid ;
96
        border-color: black black black black ;
97
        font-size: small ; text-align: center ; }
98
    table.data th { font-weight: bold ;
99
        border-style: solid solid solid solid ;
100
        border-color: black black black black ; }
101
    table.data td {
102
        border-style: solid solid solid solid ;
103
        border-color: #333333 #333333 #333333 #333333 ; }
104
 
105
    hr { height: 1px }
106
-->
107
</style>
108
</head>
109
<body>
110
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
111
<table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
112
<tr><td class="header">$Revision: 1.1 $</td><td class="header">G. Hutchison</td></tr>
113
<tr><td class="header">&nbsp;</td><td class="header">OpenCores.org</td></tr>
114
<tr><td class="header">&nbsp;</td><td class="header">October 15, 2004</td></tr>
115
</table></td></tr></table>
116
<div align="right"><span class="title"><br />tv80 Core Documentation</span></div>
117
 
118
<h3>Abstract</h3>
119
 
120
<p>
121
A synthesizable 8-bit microprocessor which is instruction-set compatable
122
with the Z80, targetted at embedded and system-on-a-chip designs.
123
 
124
</p><a name="toc"></a><br /><hr />
125
<h3>Table of Contents</h3>
126
<p class="toc">
127
<a href="#anchor1">1.</a>&nbsp;
128
Background<br />
129
<a href="#anchor2">2.</a>&nbsp;
130
Verification Environment<br />
131
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor3">2.1</a>&nbsp;
132
Memory Map<br />
133
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor4">2.2</a>&nbsp;
134
Control Registers<br />
135
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">2.2.1</a>&nbsp;
136
Simulation control (0x80)<br />
137
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor6">2.2.2</a>&nbsp;
138
Message output (0x81)<br />
139
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">2.2.3</a>&nbsp;
140
Timeout control (0x82)<br />
141
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor8">2.2.4</a>&nbsp;
142
Max timeout (0x84, 0x83)<br />
143
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">2.2.5</a>&nbsp;
144
Interrupt countdown (0x90)<br />
145
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">2.3</a>&nbsp;
146
Tool Chain<br />
147
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">2.4</a>&nbsp;
148
Tests<br />
149
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#tvs80">2.4.1</a>&nbsp;
150
tvs80 test<br />
151
<a href="#rfc.references1">3.</a>&nbsp;
152
References<br />
153
<a href="#rfc.authors">&#167;</a>&nbsp;
154
Author's Address<br />
155
</p>
156
<br clear="all" />
157
 
158
<a name="anchor1"></a><br /><hr />
159
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
160
<a name="rfc.section.1"></a><h3>1.&nbsp;Background</h3>
161
 
162
<p>The tv80 core was created as a Verilog port of the <a class="info" href="#t80">VHDL T80 core<span>Wallner, D., VHDL T80 Core, .</span></a>[1], for use as a maintenence processor inside an ASIC.
163
            The tv80 has been modified since then for better synthesis
164
            timing/area results, and to incorporate several bug-fixes.
165
</p>
166
<p>The T80, and the tv80 derived from it, attempt to maintain the
167
            original cycle timings of the Z80, but have radically different
168
            internal designs and timings.  With its target being ASIC and
169
            embedded applications, the tv80 does not attempt to maintain
170
            the original pinout of the Z80.
171
</p>
172
<a name="anchor2"></a><br /><hr />
173
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
174
<a name="rfc.section.2"></a><h3>2.&nbsp;Verification Environment</h3>
175
 
176
<a name="rfc.section.2.1"></a><h4><a name="anchor3">2.1</a>&nbsp;Memory Map</h4>
177
 
178
<p>
179
Environment memory space is divided into a 32k ROM region and a 32k RAM
180
region, as follows:
181
 
182
</p>
183
<pre>
184
  0000-7FFF:  ROM
185
  8000-FFFF:  RAM
186
</pre>
187
<p>
188
 
189
<p>Environment I/O space is allocated as follows:
190
</p><pre>
191
  00-0F:  Unused
192
  10-1F:  Test devices
193
  20-7F:  Unused
194
  80-9F:  Environment control
195
  A0-FF:  Unused
196
</pre>
197
 
198
 
199
<a name="rfc.section.2.2"></a><h4><a name="anchor4">2.2</a>&nbsp;Control Registers</h4>
200
 
201
<a name="rfc.section.2.2.1"></a><h4><a name="anchor5">2.2.1</a>&nbsp;Simulation control (0x80)</h4>
202
 
203
<ul class="text">
204
<li>   Write '01' to end simulation with test passed
205
</li>
206
<li>   Write '02' to end with test failed
207
</li>
208
<li>   Write '03' to turn on dumping
209
</li>
210
<li>   Write '04' to turn off dumping
211
</li>
212
</ul>
213
<a name="rfc.section.2.2.2"></a><h4><a name="anchor6">2.2.2</a>&nbsp;Message output (0x81)</h4>
214
 
215
<p>
216
        Write characters to this port one at a time.  When the
217
        newline ('\n', ASCII 0x0A) character is written, the
218
        environment will print out the collected string.
219
 
220
</p>
221
<a name="rfc.section.2.2.3"></a><h4><a name="anchor7">2.2.3</a>&nbsp;Timeout control (0x82)</h4>
222
 
223
<p>
224
        Bit[0] enables the timeout counter,
225
        Bit[1] resets the counter to 0.
226
        Timeout counter defaults to enabled at simulation start.
227
 
228
</p>
229
<a name="rfc.section.2.2.4"></a><h4><a name="anchor8">2.2.4</a>&nbsp;Max timeout (0x84, 0x83)</h4>
230
 
231
<p>
232
        Holds 16-bit timeout value (amount of time in clocks before
233
        timeout error occurs).
234
 
235
</p>
236
<a name="rfc.section.2.2.5"></a><h4><a name="anchor9">2.2.5</a>&nbsp;Interrupt countdown (0x90)</h4>
237
 
238
<p>
239
        When set, starts a countdown (in clocks) until assertion of
240
        the INT_N signal.
241
 
242
</p>
243
<a name="rfc.section.2.3"></a><h4><a name="anchor10">2.3</a>&nbsp;Tool Chain</h4>
244
 
245
<p>The minimum toolchain required to simulate the tv80 is the
246
         <a class="info" href="#cver">CVer<span>Vanvick, A., GPL Cver Simulator, .</span></a>[3] Verilog simulator, and the
247
         <a class="info" href="#sdcc">SDCC<span>, Small Device C Compiler, .</span></a>[2] compiler/assembler/linker.  In
248
         addition, to run the <a class="info" href="#tvs80">tvs80<span>tvs80 test</span></a> instruction
249
         test suite, the <a class="info" href="#dosbox">DOSBox<span>, DOSBox, .</span></a>[4] DOS emulator
250
         is required.
251
 
252
</p>
253
<a name="rfc.section.2.4"></a><h4><a name="anchor11">2.4</a>&nbsp;Tests</h4>
254
 
255
<p>Most of the tests in the tv80 environment are written in C, and should
256
       be compiled with the <a class="info" href="#sdcc">sdcc<span>, Small Device C Compiler, .</span></a>[2] compiler.
257
 
258
</p>
259
<a name="rfc.section.2.4.1"></a><h4><a name="tvs80">2.4.1</a>&nbsp;tvs80 test</h4>
260
 
261
<p>The tvs80 test is different than the rest of the tests, and is
262
         written in its own flavor of assembly language.  This test provides
263
         a fairly comprehensive Z80 instruction test.
264
</p>
265
<p>The assembler for this test only runs under DOS.  To assemble
266
          under Unix/Linux, the <a class="info" href="#dosbox">"dosbox" DOS emulator<span>, DOSBox, .</span></a>[4] is required.  A script
267
         to run the assembler under dosbox, as well as the tvs80.asm source,
268
         is checked in under the "tests/tvs80" directory.
269
</p>
270
<a name="rfc.references1"></a><br /><hr />
271
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
272
<h3>3&nbsp;References</h3>
273
<table width="99%" border="0">
274
<tr><td class="author-text" valign="top"><a name="t80">[1]</a></td>
275
<td class="author-text">Wallner, D., "<a href="http://www.opencores.org/projects.cgi/web/t80/overview">VHDL T80 Core</a>".</td></tr>
276
<tr><td class="author-text" valign="top"><a name="sdcc">[2]</a></td>
277
<td class="author-text">"<a href="http://sdcc.sourceforge.net">Small Device C Compiler</a>".</td></tr>
278
<tr><td class="author-text" valign="top"><a name="cver">[3]</a></td>
279
<td class="author-text">Vanvick, A., "<a href="http://www.pragmatic-c.com/gpl-cver">GPL Cver Simulator</a>".</td></tr>
280
<tr><td class="author-text" valign="top"><a name="dosbox">[4]</a></td>
281
<td class="author-text">"<a href="http://dosbox.sourceforge.net">DOSBox</a>".</td></tr>
282
</table>
283
 
284
<a name="rfc.authors"></a><br /><hr />
285
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
286
<h3>Author's Address</h3>
287
<table width="99%" border="0" cellpadding="0" cellspacing="0">
288
<tr><td class="author-text">&nbsp;</td>
289
<td class="author-text">Guy Hutchison</td></tr>
290
<tr><td class="author-text">&nbsp;</td>
291
<td class="author-text">OpenCores.org</td></tr>
292
<tr><td class="author" align="right">EMail:&nbsp;</td>
293
<td class="author-text"><a href="mailto:ghutchis@opencores.org">ghutchis@opencores.org</a></td></tr>
294
</table>
295
</body></html>

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.