Skip to content

Implementation Statistics

Julius Baxter edited this page May 27, 2013 · 4 revisions

This page contains statistics of the the various implementations of the core.

It is split up into a section for each pipeline.

Feel free to add your own implementation results, but note the following, where possible:

  • the commit for the core last synced to
  • the commit of the SoC last synced to
  • the version of the EDA tools
  • the frequency the core was synthesised at
  • the parameters on the core instantiation
  • the FPGA "logic" (LUT) count and flop count (this differs between vendors, but give us an idea)
Maybe this is done better as a table?

Table of Contents

Cappuccino

Espresso

Pronto Espresso

Altera DE0 Nano

"Small, usable"

At commit 3e1de595ea8adcdd75edfb7cc748eadddafee168 of mor1kx and 4a14b6b581372926230ffa3733c301edb0a0b94c of mor1kx-dev-env.

Synthesised at 50MHz on Altera Cyclone IV with Quartus 12.1sp1

The the following parameters on the mor1kx-dev-env:

   mor1kx
     #(
       .OPTION_CPU0			(MOR1KX_CPU0_OPTION_CPU),       
       .FEATURE_INSTRUCTIONCACHE	("NONE"),
       .FEATURE_DEBUGUNIT		("ENABLED"),
       .FEATURE_CMOV			("ENABLED"),
       .FEATURE_FFL1			("REGISTERED"),
       .OPTION_SHIFTER			("SERIAL"),
       .FEATURE_MULTIPLIER		("THREE_STAGE"),
       .FEATURE_DIVIDER			("SERIAL"),
       .OPTION_PIC_TRIGGER		("LATCHED_LEVEL"),
       .OPTION_RESET_PC			(32'hf0000100)
       )

Results (from orpsoc.fit.rpt)

 ; Compilation Hierarchy Node                                                  ; Logic Cells ; Dedicated Logic Registers
 ;    |mor1kx:mor1kx0|                                                         ; 2858 (0)    ; 761 (0)         
 ;       |mor1kx_bus_if_wb32:bus_gen.dbus_bridge|                              ; 1 (1)       ; 1 (1)           
 ;       |mor1kx_bus_if_wb32:bus_gen.ibus_bridge|                              ; 122 (122)   ; 35 (35)         
 ;       |mor1kx_cpu:mor1kx_cpu|                                               ; 2745 (0)    ; 725 (0)         
 ;          |mor1kx_cpu_prontoespresso:prontoespresso.mor1kx_cpu|              ; 2745 (0)    ; 725 (0)         
 ;             |mor1kx_ctrl_prontoespresso:mor1kx_ctrl_prontoespresso|         ; 1023 (830)  ; 358 (232)       
 ;                |mor1kx_pic:pic.mor1kx_pic|                                  ; 84 (84)     ; 62 (62)         
 ;                |mor1kx_ticktimer:tt.mor1kx_ticktimer|                       ; 110 (110)   ; 64 (64)         
 ;             |mor1kx_decode:mor1kx_decode|                                   ; 113 (113)   ; 0 (0)           
 ;             |mor1kx_execute_alu:mor1kx_execute_alu|                         ; 853 (853)   ; 148 (148)       
 ;             |mor1kx_fetch_prontoespresso:fetch.mor1kx_fetch_prontoespresso| ; 332 (332)   ; 104 (104)       
 ;             |mor1kx_lsu_espresso:mor1kx_lsu_espresso|                       ; 143 (143)   ; 68 (68)         
 ;             |mor1kx_rf_espresso:mor1kx_rf_espresso|                         ; 92 (92)     ; 47 (47)         
 ;                |mor1kx_rf_ram:rfa|                                          ; 0 (0)       ; 0 (0)           
 ;                   |altsyncram:ram_rtl_0|                                    ; 0 (0)       ; 0 (0)           
 ;                      |altsyncram_4pd1:auto_generated|                       ; 0 (0)       ; 0 (0)           
 ;                |mor1kx_rf_ram:rfb|                                          ; 0 (0)       ; 0 (0)           
 ;                   |altsyncram:ram_rtl_0|                                    ; 0 (0)       ; 0 (0)           
 ;                      |altsyncram_4pd1:auto_generated|                       ; 0 (0)       ; 0 (0)           
 ;             |mor1kx_wb_mux_espresso:mor1kx_wb_mux_espresso|                 ; 196 (196)   ; 0 (0)           

"Small, with small cache"

At commit 3e1de595ea8adcdd75edfb7cc748eadddafee168 of mor1kx and 4a14b6b581372926230ffa3733c301edb0a0b94c of mor1kx-dev-env.

Synthesised at 50MHz on Altera Cyclone IV with Quartus 12.1sp1

The the following parameters on the mor1kx-dev-env:

   mor1kx
     #(
       .OPTION_CPU0			(MOR1KX_CPU0_OPTION_CPU),       
       .FEATURE_INSTRUCTIONCACHE	("ENABLED"),
       .OPTION_ICACHE_BLOCK_WIDTH	(4), // 16 insn flop-cache
       .FEATURE_DEBUGUNIT		("ENABLED"),
       .FEATURE_CMOV			("ENABLED"),
       .FEATURE_FFL1			("REGISTERED"),
       .OPTION_SHIFTER			("SERIAL"),
       .FEATURE_MULTIPLIER		("THREE_STAGE"),
       .FEATURE_DIVIDER			("SERIAL"),
       .OPTION_PIC_TRIGGER		("LATCHED_LEVEL"),
       .OPTION_RESET_PC			(32'hf0000100)
       )

Results (from orpsoc.fit.rpt)

 ; Compilation Hierarchy Node                                                  ; Logic Cells ; Dedicated Logic Registers
 ;    |mor1kx:mor1kx0|                                                         ; 4076 (0)    ; 1711 (0)             
 ;       |mor1kx_bus_if_wb32:bus_gen.dbus_bridge|                              ; 1 (1)       ; 1 (1)                
 ;       |mor1kx_bus_if_wb32:bus_gen.ibus_bridge|                              ; 123 (123)   ; 35 (35)              
 ;       |mor1kx_cpu:mor1kx_cpu|                                               ; 3978 (0)    ; 1675 (0)             
 ;             |mor1kx_ctrl_prontoespresso:mor1kx_ctrl_prontoespresso|         ; 1062 (858)  ; 358 (232)            
 ;                |mor1kx_pic:pic.mor1kx_pic|                                  ; 88 (88)     ; 62 (62)              
 ;                |mor1kx_ticktimer:tt.mor1kx_ticktimer|                       ; 119 (119)   ; 64 (64)              
 ;             |mor1kx_decode:mor1kx_decode|                                   ; 111 (111)   ; 0 (0)                
 ;             |mor1kx_execute_alu:mor1kx_execute_alu|                         ; 863 (863)   ; 148 (148)            
 ;             |mor1kx_fetch_prontoespresso:fetch.mor1kx_fetch_prontoespresso| ; 1528 (1528) ; 1054 (1054)          
 ;             |mor1kx_lsu_espresso:mor1kx_lsu_espresso|                       ; 145 (145)   ; 68 (68)              
 ;             |mor1kx_rf_espresso:mor1kx_rf_espresso|                         ; 92 (92)     ; 47 (47)              
 ;                |mor1kx_rf_ram:rfa|                                          ; 0 (0)       ; 0 (0)                
 ;                   |altsyncram:ram_rtl_0|                                    ; 0 (0)       ; 0 (0)                
 ;                      |altsyncram_4pd1:auto_generated|                       ; 0 (0)       ; 0 (0)                
 ;                |mor1kx_rf_ram:rfb|                                          ; 0 (0)       ; 0 (0)                
 ;                   |altsyncram:ram_rtl_0|                                    ; 0 (0)       ; 0 (0)                
 ;                      |altsyncram_4pd1:auto_generated|                       ; 0 (0)       ; 0 (0)                
 ;             |mor1kx_wb_mux_espresso:mor1kx_wb_mux_espresso|                 ; 194 (194)   ; 0 (0)                
Clone this wiki locally