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

Subversion Repositories minirisc

[/] [minirisc/] [web_uploads/] [index.shtml] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 root
<!--# include virtual="/ssi/ssi_start.shtml" -->
2
<p><b><font size=+2 face="Helvetica, Arial"
3
color=#bf0000>Project Name: Mini-Risc core</font></b> </p>
4
<p>(See change Log at bottom of page for changes/updates)</p>
5
<P> </P>
6
<p><font size="+1"><u>Description: </u></font></p>
7
<p>This is a Mini-RISC CPU/Microcontroller that is compatible with the PIC 16C57
8
  from Microchip. Additional information about the instruction set and capabilities
9
  can be found at: www.microchip.com</p>
10
<p>
11
</p>
12
<p><u><font size="+1">Legal Notice</font></u></p>
13
<p><font color="#FF0000">PIC, Microchip, etc. are Trademarks of Microchip Technology
14
  Inc. I have no idea if implementing this core will or will not violate patents,
15
  copyrights or cause any other type of lawsuits. I provide this core AS IS, without
16
  any warranties. If you decide to build this core, you are responsible for any
17
  legal resolutions, such as patents and copyrights, and perhaps others ....</font>
18
  <font color="#FF0000">This source files may be used and distributed without</font>
19
  <font color="#FF0000">restriction provided that all copyright statement are
20
  not</font> <font color="#FF0000">removed from the files and that any derivative
21
  work contains</font> <font color="#FF0000">the original copyright notices and
22
  the associated disclaimer.</font></p>
23
<blockquote>
24
  <blockquote>
25
    <p><font face="Times"> <b><font color="#FF0000">THIS SOURCE FILES ARE PROVIDED
26
      "AS IS" AND WITHOUT ANY</font></b></font><br>
27
      <font color="#FF0000"><b><font face="Times">EXPRESS OR IMPLIED WARRANTIES,
28
      INCLUDING, WITHOUT<br>
29
      LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND</font></b></font><br>
30
      <font color="#FF0000"><b><font face="Times">FITNESS FOR A PARTICULAR PURPOSE.</font></b></font></p>
31
  </blockquote>
32
</blockquote>
33
<p> </p>
34
<p><font size="+1"><u>Motivation</u><u></u></font></p>
35
<ul>
36
  <li>A PIC compatible Microcontroller that runs a lot faster</li>
37
  <li>Synthesisable and technology independent design</li>
38
  <li>Separate (External to the core) Program Memory</li>
39
  <li>Options to extend the core<font face="Georgia, Times New Roman, Times, serif" size="+1">
40
    </font></li>
41
</ul>
42
<p><font size="+2"><u><font size="+1">Compatibility</font></u></font></p>
43
<p>This design should be fully software compatible to the Microchip Implementation
44
  of the PIC 16C57, except for the following extensions:</p>
45
<ul>
46
  <li>Port A is full 8 bits wide</li>
47
  <li>Hardware stack is 4 level deep [original 2 levels] (can be easily expanded)</li>
48
  <li>Executions of instructions that modify the PC has became a lot more expensive
49
    due to the pipeline and execution of instructions on every cycle. Any instruction
50
    that writes to the PC (PC as destination (f), call, goto, retlw) now takes
51
    4 cycles to execute (instead of 2 in the original implementation).<br>
52
    The 4 'skip' instructions, remain as in the original implementation: 1 cycle
53
    if not skipped, 2 cycles if skipped.</li>
54
  <li>Sampling of IO ports might be off</li>
55
  <li>Timer and watchdog might be off a few cycles<font size="+1"> </font></li>
56
</ul>
57
<p><font size="+2"><u><font size="+1">Performance</font></u></font><u></u></p>
58
<ul>
59
  <li>Single cycle instruction execution, except as noted above for PC modifications.</li>
60
  <li>I estimate about 22K gates with the xilinx primitives, (excluding Register
61
    File and Program Memory). A Xilinx Vertex XCV100 can hold 4 of this cores
62
    and program memory, and still have some room left.</li>
63
</ul>
64
<p><font size="+2"><u><font size="+1">Implementing the Core</font></u></font></p>
65
<p>The only file you should edit if you really want to implement this core, is
66
  the 'primitives.v' file. It contains all parts that can be optimized, depending
67
  on the technology used. It includes memories, and arithmetic modules. I added
68
  a primitives_xilinx,v file and xilinx_primitives.zip which contain primitives
69
  for xilinx.</p>
70
<p></p>
71
<p><font size="+1"><u>Status</u></font></p>
72
<p>First version of the core is released. Included with the release is also a
73
  small test bench and several test programs written in assembly. MPLAB from Microchip,
74
  can be used to compile and develop additional code.</p>
75
<p>The core can be downloaded from OpenCores CVS via <a href="http://www.opencores.org/cvsweb.shtml/">cvsweb</a>
76
  or via <a href="/cvsmodule.shtml">cvsget</a> (use minirisc for module name)<font size="+1">
77
  </font></p>
78
<p><font size="+1"><u>Development Tools</u></font></p>
79
<p>A very nice(and free) development environment with a software simulator is
80
  provided by Microchip on their web site. This environment works only on PCs.
81
  Various free and chimerical tools are available from third party, just Search
82
  the web !</p>
83
<p><a href="http://www.microchip.com/10/Tools/PICmicro/DevEnv/">Here is a link
84
  to the Microchip Development environment</a> (http://www.microchip.com/10/Tools/PICmicro/DevEnv/)</p>
85
<p><font size="+1"><u>To-Do</u></font></p>
86
<p>Things that need to be done</p>
87
<ol>
88
  <li>Write more test/compliance test vectors
89
    <ul>
90
      <li> Verify that all instructions after a goto/call/retlw/write to PCL are
91
        not executed</li>
92
      <li> Verify ALU</li>
93
      <li> Timer and Watchdog tests</li>
94
    </ul>
95
  </li>
96
  <ul>
97
    <li> Perhaps some other areas ?</li>
98
  </ul>
99
  <li>Extensions ?
100
    <ul>
101
      <li> guess this is on a "as needed" basis</li>
102
      <li>Would be nice to extend the register file and have a few registers that
103
        are shared between two or more of this cores in a MP implementation !</li>
104
    </ul>
105
  </li>
106
</ol>
107
<p><font size="+2"><u><font size="+1">Author / Maintainer</font></u></font></p>
108
<p>I have been doing ASIC design, verification and synthesis for over 15 years.
109
  This core is only a "midnight hack", and should be used with caution. I'd also
110
  like to know if anyone will actually use this core. Please send me a note if
111
  you will !</p>
112
<p>Rudolf Usselmann <a href="mailto:rudi@asics.ws_NOSPAM">rudi@asics.ws_NOSPAM</a></p>
113
<p>Feel free to send me comments, suggestions and bug reports.</p>
114
<P><FONT FACE="Times"></FONT><font size="+2"><u><font size="+1">Change Log</font></u></font></P>
115
<p>6/18/200 RU<br>
116
  - Added this Change Log<br>
117
  - Added "Development Tools" Section|<br>
118
  - Removed speed claims from the "Performance" Section: Need to re-synthsise
119
  the core and resolve synthesis tool/backend tool issues.<br>
120
  - added "risc_core_top.v", a top level with tri-state buffers and
121
  program memory, to make it look like a real PIC !<br>
122
  - Updated the primitives_xilinx.v so it will work correctly with Synplify and
123
  Synopsys FPGA compiler</p>
124
 
125
 
126
 
127
<!--# include virtual="/ssi/ssi_end.shtml" -->

powered by: WebSVN 2.1.0

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