⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 risc8_manual.htm

📁 8位RISC CPU的VERILOG编程 SOURCECODE
💻 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 &quot;Basic Confidence&quot; 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 &quot;burst&quot;.</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">&nbsp;<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 + -