We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
> Cortex R4 soft processorsHmm, Cortex R4 isn't a soft processor AFAIK - it's designed for ASIC silicon implementation.Cortex-M1 is designed for low gate count - it only supports the ARMv6M variant of the Thumb instruction set, has a very simple single issue pipeline, and no cache interface, and perhaps can run at 100MHz in a fast FPGA (not entirely sure, never used one).Cortex-R4 is designed for higher performance implementations in silicon - it supports ARM and Thumb instruction sets (more suitable for algorithmic work), has a dual-issue pipeline (two instructions per cycle peak), and targets around 400MHz. A very different beast indeed. As ttfn says, if you want more details it's best too look at the two architecture documents - there are lots of differences!
Features 1. Primary FPGA TargetCortex-M1 deliverables supports Altera, Actel, Xilinx FPGA (for licensed customers).Current available FPGA kits include Altera version and Actel version.Cortex-R4 does not have FPGA kit as a product, but ARM customers can get FPGA prototype platform for Cortex-R4.2. Max Core FrequencyCortex-M1 : It depends : What FPGA? Which tools? Altera web site say using Cyclone III speed grade -6 you can get over 100MHz. Internal testing done shown it can operate at over 180MHz You can get even higher speed if you are using newer Stratrix / Virtex devices.Cortex-R4 : It is not optimized for FPGA. For ASIC version you can get it to 600MHz with hardened version (Cortex-R4X) 3. FPGA Logic CellsCortex-M1:This depends on RTL options, it shown as 2600 Logic elements in Altera website4. Hardware MultipliersCortex-M1 : YesCortex-R4 : Yes5. Hardware DividersCortex-M1 : NoCortex-R4 : Yes6. Instruction Cache SizeCortex-M1 : No cache, TCM only (up to 1MB).Cortex-R4 : Depends on configuration, TCM also depends on configuration7. Data Cache SizeCortex-M1 : No cache, TCM only (up to 1MB)Cortex-R4 : Depends on configuration, TCM also depends on configuration8. Number of ports for Instruction TCM / TCM-A (for Cortex R4)64-bit TCM interface9. Number of ports for Data TCM / TCM-B (for Cortex R4)2 x 64-bit TCM interface10. Burst Size Setting for CacheCortex-R4 : Programmable by CP1511. Exception Checking (Divsion error)Cortex-R4 : Yes12. MPU present/absentCortex-M1 : NoCortex-R4 : Yes13. MMU present/absentCortex-M1 : NoCortex-R4 : No14. Maximum number of Interrupts supportedCortex-M1 : 32Cortex-R4 : Depends on interrupt controller15. Options to select JTAG debug level - present/absentCortex-M1 : Depends on which FPGA development you are using (e.g. with SOPC builder debug is carried out via the USB blaster connection)Cortex-R4 : Depends on which debug port component you connected it to.16. Option to set Custom instructions - present/absentCortex-M1 : NoCortex-R4 : No17. Option to Set memory for Exception Vector - present/absentCortex-M1 :Vector table at address 0x0 (can be AHB or TCM) Cortex-R4 : Vector table at address 0x0 or VIC interface18. Is a separate FPGA kit (evaluation version) available for Cyclone III FPGACortex-M1 only : FPGA kit available (not sure about evaluation)19. If Yes, does the kit consist of: Cortex-M1 only Soft Core : Yes Software development environment : Yes Simulation support (for full version) : You need to get ask distributor about this20. Tool for Software developmentCortex-M1 kit include ARM RealView Microcontroller Development Kit21. AMBA Bus Support - present/absentCortex-M1 for Actel use AMBACortex-M1 for Altera use AvalonCortex-R4 use AMBA (AXI)