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

Subversion Repositories arm4u

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /arm4u
    from Rev 2 to Rev 3
    Reverse comparison

Rev 2 → Rev 3

/trunk/shematics/execute.svg Cannot display: file marked as a binary type. svn:mime-type = image/svg+xml
trunk/shematics/execute.svg Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +image/svg+xml \ No newline at end of property Index: trunk/shematics/decode.svg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = image/svg+xml Index: trunk/shematics/decode.svg =================================================================== --- trunk/shematics/decode.svg (nonexistent) +++ trunk/shematics/decode.svg (revision 3)
trunk/shematics/decode.svg Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +image/svg+xml \ No newline at end of property Index: trunk/shematics/decode_logic.ods =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/vnd.oasis.opendocument.spreadsheet Index: trunk/shematics/decode_logic.ods =================================================================== --- trunk/shematics/decode_logic.ods (nonexistent) +++ trunk/shematics/decode_logic.ods (revision 3)
trunk/shematics/decode_logic.ods Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +application/vnd.oasis.opendocument.spreadsheet \ No newline at end of property Index: trunk/shematics/complete.svg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = image/svg+xml Index: trunk/shematics/complete.svg =================================================================== --- trunk/shematics/complete.svg (nonexistent) +++ trunk/shematics/complete.svg (revision 3)
trunk/shematics/complete.svg Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +image/svg+xml \ No newline at end of property Index: trunk/shematics/decode_fsm.svg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = image/svg+xml Index: trunk/shematics/decode_fsm.svg =================================================================== --- trunk/shematics/decode_fsm.svg (nonexistent) +++ trunk/shematics/decode_fsm.svg (revision 3)
trunk/shematics/decode_fsm.svg Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +image/svg+xml \ No newline at end of property Index: trunk/shematics/memory.svg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = image/svg+xml Index: trunk/shematics/memory.svg =================================================================== --- trunk/shematics/memory.svg (nonexistent) +++ trunk/shematics/memory.svg (revision 3)
trunk/shematics/memory.svg Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +image/svg+xml \ No newline at end of property Index: trunk/shematics/fetch.svg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = image/svg+xml Index: trunk/shematics/fetch.svg =================================================================== --- trunk/shematics/fetch.svg (nonexistent) +++ trunk/shematics/fetch.svg (revision 3)
trunk/shematics/fetch.svg Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +image/svg+xml \ No newline at end of property Index: trunk/shematics/block.svg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = image/svg+xml Index: trunk/shematics/block.svg =================================================================== --- trunk/shematics/block.svg (nonexistent) +++ trunk/shematics/block.svg (revision 3)
trunk/shematics/block.svg Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +image/svg+xml \ No newline at end of property Index: trunk/shematics/writeback.svg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = image/svg+xml Index: trunk/shematics/writeback.svg =================================================================== --- trunk/shematics/writeback.svg (nonexistent) +++ trunk/shematics/writeback.svg (revision 3)
trunk/shematics/writeback.svg Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +image/svg+xml \ No newline at end of property Index: trunk/readme.txt =================================================================== --- trunk/readme.txt (revision 2) +++ trunk/readme.txt (revision 3) @@ -1,5 +1,5 @@ ============================================ -=== ARM4U Doccumentation === +=== ARM4U Documentation === = By Jonathan Masur, 2014 == = Made in spring 2014 for OpenCores release == ============================================ @@ -10,10 +10,10 @@ ARM4U is a "softcore" processor that was created in the context of an university project in the processor architecture laboratory at Ecole Polytechnique Fédérale de Lausanne ( http://lap.epfl.ch ) -We decided, one year after the complexion of the project, to release the processor on the site OpenCores ( http://www.opencores.org ) for free under the GPL licence in order to make the source code and doccumentation available to the general public. It comes as-it with ABSOLUTELY NO WARRANTY. +We decided, one year after the complexion of the project, to release the processor on the site OpenCores ( http://www.opencores.org ) for free under the GPL licence in order to make the source code and documentations available to the general public. It comes as-it with ABSOLUTELY NO WARRANTY. The ARM4U processor clones early ARM processors in functionality, it implements the almost full ARMv3 instruction set, and can be targeted by the GCC toolchain. It is free for use and distribute for anyone. However, if someone ever make a cool use of this processor, I would of course be very happy to know about it. -This documentation doesn't cover the ARM by itself, for most info about the inner working of the processor (instruction set, etc...) please consult doccumentation of the ARM processors. This doccumentation instead covers how to use the softcore and what are the difference between it and a geniune ARM. +This documentation doesn't cover the ARM by itself, for most info about the inner working of the processor (instruction set, etc...) please consult documentation of the ARM processors. This doccumentation instead covers how to use the softcore and what are the difference between it and a genuine ARM. ************************************** ** Internal workings of the processor ** @@ -24,16 +24,16 @@ The processor was not build for extreme performance, nor for extreme minimization of FPGA resources. Instead it was build with the 3 goals of : simplicity, pedagogy, but fully working and usable result. -The CPU communicates with the external world (memory, I/O, etc...) through the Altera Avalon bus. The CPU can be used as a QSys component, just like the NIOS II processor furnished by Altera. However, it should be relatively straightforward to adapt it to another bus. We managed to synthesize a 50 MHz version using a Cyclone IV FPGA. The resource usage was only slightly larger than a NIOS II/s (standard), but the frequency was lower. However, the ARM instructions are more dense and efficient overal, and we can expect comparable performance between both CPU. No benchmarks were made to proof that. +The CPU communicates with the external world (memory, I/O, etc...) through the Altera Avalon bus. The CPU can be used as a QSys component, just like the NIOS II processor furnished by Altera. However, it should be relatively straightforward to adapt it to another bus. We managed to synthesize a 50 MHz version using a Cyclone IV FPGA. The resource usage was only slightly larger than a NIOS II/s (standard), but the frequency was lower. However, the ARM instructions are more dense and efficient overall, and we can expect comparable performance between both CPU. No benchmarks were made to proof that. The instruction cache allows to fetch instructions while reading/writing to memory, and to fetch a new instruction each cycle (hopefully) even if the memory has a read/write latency (DRAM). -There is no cache coherency : an attempt to write self-modifying code will not work unless some additional circuitery is added done. +There is no cache coherency : an attempt to write self-modifying code will not work unless some additional circuitry is added done. ************************************* ** Differences with an authentic ARM ** ************************************* -The ARM4U behaves identically to an ARM implementing the ARMv3 instruction set (ARM6 generation) exept for the following differences : +The ARM4U behaves identically to an ARM implementing the ARMv3 instruction set (ARM6 generation) except for the following differences : - Abort mode and interrupt doesn't exist - There is no support for coprocessor, and related instructions @@ -82,9 +82,9 @@ 2) A bit in object file's header is affected so that it prevents linking big and little endian object files together The -EB file doesn't affect the compiled code itself in any way, as far as we know. - ***************** -** Test programm ** - ***************** + **************** +** Test program ** + **************** A test program using all ARM instructions is included as an example, it was used to debug and proof correct operation of the processor.

powered by: WebSVN 2.1.0

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