1 |
4 |
doru |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
2 |
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
3 |
|
|
<title>Sources</title>
|
4 |
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
5 |
|
|
</head><body>
|
6 |
|
|
<!-- Generated by Doxygen 1.2.16 -->
|
7 |
|
|
<center>
|
8 |
|
|
<a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="pages.html">Related Pages</a> </center>
|
9 |
|
|
<hr><h1>Sources</h1><table border=0 cellpadding=0 cellspacing=0>
|
10 |
|
|
</table>
|
11 |
|
|
<dl compact><dt><b>
|
12 |
|
|
Sources</b><dd>
|
13 |
|
|
The source package contains the following files, in the compiling order:<ul>
|
14 |
|
|
<li><a target="top" href="std_util.vhd"> std_util.vhd </a><ul>
|
15 |
|
|
<li>Type conversion routines ofted used throughout the other source files in this project<li>Basic arithmetic functions<li>Sign and zero-extend functions<li>Vector comparision function</ul>
|
16 |
|
|
<li><a target="top" href="pavr_util.vhd"> pavr_util.vhd </a><ul>
|
17 |
|
|
<li>Bypass Unit access function<li>Interrupt arbitrer function</ul>
|
18 |
|
|
<li><a target="top" href="pavr_constants.vhd"> pavr_constants.vhd </a><ul>
|
19 |
|
|
<li>Constants needed by pAVR<li>When costumizing pAVR, look and modify (seek-and-destroy) here.</ul>
|
20 |
|
|
<li><a target="top" href="pavr_data_mem.vhd"> pavr_data_mem.vhd </a><li><a target="top" href="pavr_alu.vhd"> pavr_alu.vhd </a><li><a target="top" href="pavr_register_file.vhd"> pavr_register_file.vhd </a><li><a target="top" href="pavr_io_file.vhd"> pavr_io_file.vhd </a><li><a target="top" href="pavr_control.vhd"> pavr_control.vhd </a><ul>
|
21 |
|
|
<li>pAVR pipeline (pAVR kernel)</ul>
|
22 |
|
|
</ul>
|
23 |
|
|
</dl><dl compact><dt><b>
|
24 |
|
|
Test sources</b><dd>
|
25 |
|
|
The test sources in this package implement all the tests presented <a class="el" href="group__pavr__test.html">above</a>. <br>
|
26 |
|
|
The test source package contains the following files:<ul>
|
27 |
|
|
<li><a target="top" href="test_pavr_alu.vhd"> test_pavr_alu.vhd </a> <br>
|
28 |
|
|
Tests the ALU.<li><a target="top" href="test_pavr_control_interrupts.vhd"> test_pavr_control_interrupts.vhd </a> <br>
|
29 |
|
|
This test is yet to be done.<li><a target="top" href="test_std_util.vhd"> test_std_util.vhd </a> <br>
|
30 |
|
|
Tests the utilities defined in `std_util.vhd'.<li><a target="top" href="test_pavr_data_mem.vhd"> test_pavr_data_mem.vhd </a> <br>
|
31 |
|
|
Tests the Data Memory.<li><a target="top" href="test_pavr_register_file.vhd"> test_pavr_register_file.vhd </a> <br>
|
32 |
|
|
Tests the Register File.<li><a target="top" href="test_pavr_io_file.vhd"> test_pavr_io_file.vhd </a> <br>
|
33 |
|
|
Tests the IO File.<li><a target="top" href="test_pavr_constants.vhd"> test_pavr_constants.vhd </a> <br>
|
34 |
|
|
Defines constants needed by the main test entity.<li><a target="top" href="test_pavr_util.vhd"> test_pavr_util.vhd </a> <br>
|
35 |
|
|
Defines utilities needed by the main test entity.<li><a target="top" href="test_pavr_pm.vhd"> test_pavr_pm.vhd </a> <br>
|
36 |
|
|
Defines the Program Memory that is needed by the main test entity.<li><a target="top" href="test_pavr.vhd"> test_pavr.vhd </a> <br>
|
37 |
|
|
Defines the main test entity. <br>
|
38 |
|
|
Tests pAVR as a whole.</ul>
|
39 |
|
|
</dl><a name="pavr_src_conv"></a> <dl compact><dt><b>
|
40 |
|
|
Conventions used when writting the VHDL sources</b><dd>
|
41 |
|
|
The terminology used reflects the data flow. <br>
|
42 |
|
|
For example, `pavr_s4_s6_rfwr_addr1' is assigned in s3 (by the instruction decoder), shifts into `pavr_s5_s6_rfwr_addr1', that finally shifts into `pavr_s6_rfwr_addr1' (terminal register). Only this one carries information actually used by hardware resource managers. This particualr one signalizes an access request to the Register File write port manager. <br>
|
43 |
|
|
<br>
|
44 |
|
|
Process splitting strategy: <ul>
|
45 |
|
|
<li> requests to hardware resources are managed by dedicated processes, one VHDL process per hardware resource. <li> a main asynchronous process (instruction decoder) computes values that initialize the pipeline in s3. <li> a main synchronous process assings new values to pipeline registers. </ul>
|
46 |
|
|
</dl>
|
47 |
|
|
<p>
|
48 |
|
|
<dl compact><dt><b>
|
49 |
|
|
<a class="el" href="todo.html#_todo000003">Todo: </a></b><dd>
|
50 |
|
|
Replace `next_...' signals family with a (pretty wide) state decoder.</dl><dl compact><dt><b>
|
51 |
|
|
Licensing</b><dd>
|
52 |
|
|
Please read the <a class="el" href="group__pavr__about.html">licensing terms</a>. <br>
|
53 |
|
|
</dl><hr><address align="right"><small>Generated on Tue Dec 31 20:26:31 2002 for Pipelined AVR microcontroller by
|
54 |
|
|
<a href="http://www.doxygen.org/index.html">
|
55 |
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border=0
|
56 |
|
|
width=110 height=53></a>1.2.16 </small></address>
|
57 |
|
|
</body>
|
58 |
|
|
</html>
|