📄 risc8_manual.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>RISC8 Manual</title>
<meta name="Microsoft Theme" content="expeditn 111, default">
<meta name="Microsoft Border" content="b, default">
</head>
<body background="_themes/expeditn/exptextb.jpg" bgcolor="#FFFFCC" text="#000000" link="#666600" vlink="#993300" alink="#CC3300"><!--msnavigation--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><!--msnavigation--><td valign="top"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p align="center"><!--webbot bot="Navigation" S-Type="banner" S-Rendering
S-Orientation B-Include-Home B-Include-Up U-Page S-Target startspan --><img src="_derived/risc8_manual.htm_cmp_expeditn110_bnr.gif" width="600" height="60" border="0" alt="RISC8 Manual"><!--webbot bot="Navigation" endspan i-checksum="43718" -->
</p>
<p align="center"><!--webbot bot="Navigation" S-Type="children"
S-Orientation="horizontal" S-Rendering="graphics" B-Include-Home="TRUE"
B-Include-Up="TRUE" U-Page S-Target startspan --><script language="JavaScript"><!--
MSFPhover =
(((navigator.appName == "Netscape") &&
(parseInt(navigator.appVersion) >= 3 )) ||
((navigator.appName == "Microsoft Internet Explorer") &&
(parseInt(navigator.appVersion) >= 4 )));
function MSFPpreload(img)
{
var a=new Image(); a.src=img; return a;
}
// --></script><script language="JavaScript"><!--
if(MSFPhover) { MSFPnav1n=MSFPpreload("_derived/home_cmp_expeditn110_hbtn.gif"); MSFPnav1h=MSFPpreload("_derived/home_cmp_expeditn110_hbtn_a.gif"); }
// --></script><a href="index.htm" language="JavaScript" onmouseover="if(MSFPhover) document['MSFPnav1'].src=MSFPnav1h.src" onmouseout="if(MSFPhover) document['MSFPnav1'].src=MSFPnav1n.src"><img src="_derived/home_cmp_expeditn110_hbtn.gif" width="140" height="50" border="0" alt="Free-RISC8 Home" align="middle" name="MSFPnav1"></a><!--webbot bot="Navigation" endspan i-checksum="26895" -->
</p>
<h1 align="left"><!--mstheme--><font color="#660033"><a name="Table Of Contents">Table Of Contents</a><!--mstheme--></font></h1>
<ol>
<li><span style="font-size:10.0pt"><a href="#Introduction">Introduction</a></span></li>
<li><span style="font-size:10.0pt"><a href="#QuickStart">Quick Start</a></span></li>
<li><span style="font-size:10.0pt"><a href="#SystemArchitecture">System Architecture</a></span></li>
<li><span style="font-size:10.0pt"><a href="#Compatibility">Compatibility with Microchip 16C57 Devices</a></span></li>
<li><span style="font-size:10.0pt"><a href="#ModuleHierarchy">Module Hierarchy</a></span></li>
<li><span style="font-size:10.0pt"><a href="#Synthesis">Synthesis</a></span></li>
<li><span style="font-size:10.0pt"><a href="#CPUModule">CPU Module</a></span></li>
<li><span style="font-size:10.0pt"><a href="#MemoryInterfaces">Memory Interfaces</a></span></li>
<li><span style="font-size:10.0pt"><a href="#ALU">ALU</a></span></li>
<li><span style="font-size:10.0pt"><a href="#InstructionDecoder">Instruction Decoder</a></span></li>
<li><span style="font-size:10.0pt"><a href="#RegisterFile">Register File</a></span></li>
<li><span style="font-size:10.0pt"><a href="#FirmwareDevelopment">Firmware Development</a></span></li>
<li><span style="font-size:10.0pt"><a href="#Expansion">Expansion</a></span></li>
<li><span style="font-size:10.0pt"><a href="#TestPrograms">Test Programs</a></span></li>
<li><span style="font-size:10.0pt"><a href="#Bugs">Bugs</a></span></li>
</ol>
<h1><!--mstheme--><font color="#660033"><a name="Introduction"><span style="font-size:13.5pt;font-family:Arial">Introduction<o:p>
</o:p>
</span></a><!--mstheme--></font></h1>
<p><span style="font-size:10.0pt">The Free-RISC8 is a Verilog implementation of
a simple 8-bit processor. The RISC8 is binary code compatible with the Microchip
16C57 processor. Code may be developed and debugged using tools available from a
number of 3<sup>rd</sup> Party tool developers. Programs existing for the 16C57
may be ported to the RISC8 for use in an FPGA, etc.<o:p>
</o:p>
</span></p>
<p><span style="font-size:10.0pt">The design is synthesizable and has been used
by various people in the past within ASICs as well as FPGAs. The package
consists of the following Verilog and C files:<o:p>
</o:p>
</span></p>
<!--mstheme--></font><table border="1" cellspacing="1" cellpadding="0" width="547" style="width:410.25pt;
mso-cellspacing:.7pt;mso-padding-alt:5.25pt 5.25pt 5.25pt 5.25pt" bordercolordark="#663300" bordercolorlight="#993300">
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p align="center" style="text-align:center"><b><i><span style="font-size:10.0pt">File</span></i></b></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p align="center" style="text-align:center"><b><i><span style="font-size:10.0pt">Description</span></i></b></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">test.v</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">Top-level testbench, including the
behavioral Verilog program memory</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">cpu.v</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">Top-level synthesizable module.</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">idec.v</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">The Instruction Decoder. This module is
instanced underneath the cpu module.</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">alu.v</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">The ALU. This module is instanced
underneath the cpu module.</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">regs.v</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">The Register File. This module is
instanced underneath the cpu module.</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">exp.v</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">Optional Expansion Module. This is an
example module that shows how an expansion circuit is added onto the
design. The module supplied with this release implements a very simple DDS
(Direct Digital Synthesis) circuit that is used for the DDS demo.</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">dram.v</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">Memory model for Register File
慏抋ta memory (it抯 a Synchronous RAM)</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">pram.v</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">Memory model for Program Memory
慞抋ta memory (it抯 a Synchronous RAM)</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">hex2v.c,<br>
hex2v.exe</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">A C program that translates Intel HEX
format data into the Verilog $readmemh compatible .ROM file.</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">basic.asm,<br>
basic.hex,<o:p><br>
basic.rom</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">The "Basic Confidence" test
program which exercises all the instructions.</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">dds.asm,<o:p><br>
dds.hex,<o:p><br>
dds.rom</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">A demo that uses the DDS circuit. The
demo outputs an FSK "burst".</span></p>
<!--mstheme--></font></td>
</tr>
<tr>
<td width="14%" valign="top" style="width:14.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">runit</span></p>
<!--mstheme--></font></td>
<td width="86%" valign="top" style="width:86.0%;padding:5.25pt 5.25pt 5.25pt 5.25pt"><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt">A script containing the Verilog command
line required.</span></p>
<!--mstheme--></font></td>
</tr>
</table><!--mstheme--><font face="Book Antiqua, Times New Roman, Times">
<p><span style="font-size:10.0pt"> <o:p>
</o:p>
</span></p>
<h1><!--mstheme--><font color="#660033"><a name="QuickStart"><span style="font-size:13.5pt;font-family:Arial">Quick Start<o:p>
</o:p>
</span></a><!--mstheme--></font></h1>
<p><span style="font-size:10.0pt">Extract all the files from the supplied ZIP
into a new directory. Once all the files have been extracted from the archive,
invoke your Verilog simulator specifying all the Verilog files (the 憆unit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -