ARM7 Clone Core...


 

Home
OPENCORES.ORG
 

Project: nnARM core

Details

Category: Microprocessor
Last updated: 15/10/2001
Created: 25/9/2001
Wishbone compliant core: Yes
Stage: Production/Stable
Mailing list: Cores
CVS: browse

Description

ARM ¾ÆÅ°ÅØó¿¡ °ü½ÉÀÖÀ¸½Å ºÐµé²² µµ¿òÀÌ µÉ ¸¸ÇÑ SourceÀÔ´Ï´Ù...  ver1.14 ºÎÅÍ 1.22 (°ø°³µÇ¾ú´ø ¸¶Áö¸· ¹öÀü?) ±îÁö ÀÖ½À´Ï´Ù...  ¿¹ÀüºÎÅÍ opencores¸¦ ÀÚÁÖ ÀÌ¿ëÇϽôø ºÐµéÀº ´ëºÎºÐ °¡Áö°í °è½ÇÅ×Áö¸¸, ¾ðÁ¦ºÎÅÍÀΰ¡ ÇÁ·ÎÁ§Æ® ¼Ò½º Á¢±ÙÀÌ Â÷´ÜµÇ¾ú´õ±º¿ä.  ´ÙÀ½ÀÇ ¸»°ú ÇÔ²²...

The team members of nnARM are currently discussing with a company to sort out some issues. This webpage is not available until further notice.

Purpose of this project

This project has two primary purposes:

  • FIRST: To develop a synthesizable embedded processor soft core.
  • SECOND: To give the project members experience in organizing a free hardware development team over the internet. The GNU and Linux successes have proven that this development mode is successful for software, we want to prove it is also suitable for hardware development.
What help do we want?
  • Currently, this is a very small team. There is only one main developer, and one documentation person. We can not imagine that such a small team can manage to create this entire system without additional design and testing help. So any kind of help is welcomed. If you are interest in this, please contact
  • First, this team is particularly weak in the design of cache and memory controllers, so we are eager for help in this field.
  • Second, we want to add support for wishbone or AMBA bus interfaces
  • Third, peripherals like: DMA, timer, UART and many many other devices need integration into the design.
  • Fourth: Help to test the core, both in the simulator or on an actual FPGA board.
What it can do and can not do now

Currently, this core can support the following kinds of instructions:

  • All ALU instructions(including those instructions with PC as their source and destination)
  • Multiply and Multiply with Accumulate (The documentation from ARM states that the PC is never used as a source or destination for these instructions)
  • PSR transfer instructions.
  • Single data transfer instructions. (load/store, including those with PC as source and destination.)
  • Branch
  • SoftWare interrupt
  • Thumb instructions(NOTE:decode into normal ARM instructions, so some instruction can not be run now)
  • The conditional execution field in the most significant 4 bits is also supported for all these instructions.
  • An instruction prefetch buffer has been implemented between the instruction cache and IF pipeline stage.
  • The pipeline is interlocked; if a stage is stalled, then all stages before it stall too, but all stages following it continue to run.
  • All six operational modes of ARM are supported by the current release.
  • All 31 general purpose registers are in a register file, and a set of registers can be accessed depending on the mode of the processor.
  • All six PSR registers are in a separate PSR register file.
  • Pipeline forwarding is also implemented in the pipeline. If an instruction n uses register Rn as its destination and the instruction following it uses Rn as its source, then n will redirect its result directly to n+1.

The core currently can not support the following instructions:

  • Single data swap
  • Block data transfer
  • All coprocessor instructions
  • Multiple long and Multiple-Accumulate long
  • Half word transfer
  • Also, it does not support DMA, timer, uart and the interrupt arbitrator
  • And it does not support interrupt and exception handling.
  • The most serious problem of the current release is that its memory and cache controller is not well organized and does not support any kind of bus interface such as WISHBONE or AMBA.
Books used as reference works:

Books on architecture

  • Computer Architecture : A Quantitative Approach by John Hennessy, David Patterson(January 1996).

Books on RTL design and synthesis

  • HDL chip design by Douglas J Smith
Tools in use on the project:

simulation tools

  • VCS verilog simulator from workview office
  • Verilog-XL simulator from cadence
  • ModelSim Xilinx Edition

RTL synthesis tools

  • Aurora from workview office
  • Design Compiler from synopsys

ARM development tools

  • ARM SDT 2.5 from ARM
  • GCC for ARM.

Last modified on Tuesday, 24-Jul-2001 02:36:14 CEST

Maintainers

Download

ÆÄÀϸí: nnARM.zip (4,390,539 bytes)

  Send to a colleague | Print this document