mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-22 12:57:13 -04:00
Rename zeroriscy to ibex
This commit was prepared by the following script, followed by manual fixes as needed. ```sh sed -e 's/zeroriscy/ibex/g' -i.bak *.sv *.md *.yml sed -e 's/zero-riscy/ibex/g' -i.bak *.sv *.md *.yml sed -e 's/zeroriscy/ibex/g' -i.bak include/*.sv sed -e 's/zero-riscy/ibex/g' -i.bak include/*.sv sed -e 's/cluster_clock_gating/clock_gating/g' -i.bak *.sv rm -f *.bak rm -f include/*.bak find . -name 'zeroriscy_*' -exec bash -c 'file={}; git mv $file ${file/zeroriscy/ibex}' \; ```
This commit is contained in:
parent
b1b89f55fb
commit
3a42f12e64
24 changed files with 129 additions and 129 deletions
10
README.md
10
README.md
|
@ -1,10 +1,10 @@
|
|||
# zero-riscy: RISC-V Core
|
||||
# ibex: RISC-V Core
|
||||
|
||||
*zero-riscy** is a small 2-stage RISC-V core derived from RI5CY.
|
||||
**ibex** is a small 2-stage RISC-V core derived from RI5CY.
|
||||
|
||||
**zero-riscy** fully implements the RV32IMC instruction set and a minimal
|
||||
**ibex** fully implements the RV32IMC instruction set and a minimal
|
||||
set of RISCV privileged specifications.
|
||||
**zero-riscy** can be configured to be very small by disabling the RV32M extensions
|
||||
**ibex** can be configured to be very small by disabling the RV32M extensions
|
||||
and by activating the RV32E extensions. This configuration is called **micro-riscy**
|
||||
|
||||
The core was developed as part of the [PULP platform](http://pulp.ethz.ch/) for
|
||||
|
@ -14,5 +14,5 @@ PULP and PULPino.
|
|||
## Documentation
|
||||
|
||||
A datasheet that explains the most important features of the core can be found
|
||||
in the doc folder.
|
||||
in the doc folder.
|
||||
|
||||
|
|
|
@ -16,18 +16,18 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: ALU //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Arithmetic logic unit of the pipelined processor. //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
module zeroriscy_alu
|
||||
module ibex_alu
|
||||
(
|
||||
input logic [ALU_OP_WIDTH-1:0] operator_i,
|
||||
input logic [31:0] operand_a_i,
|
|
@ -13,7 +13,7 @@
|
|||
// Engineer: Sven Stucki - svstucki@student.ethz.ch //
|
||||
// //
|
||||
// Design Name: Compressed instruction decoder //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Decodes RISC-V compressed instructions into their RV32 //
|
||||
|
@ -22,9 +22,9 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
module zeroriscy_compressed_decoder
|
||||
module ibex_compressed_decoder
|
||||
(
|
||||
input logic [31:0] instr_i,
|
||||
output logic [31:0] instr_o,
|
|
@ -18,19 +18,19 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Main controller //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Main CPU controller of the processor //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
|
||||
module zeroriscy_controller
|
||||
module ibex_controller
|
||||
#(
|
||||
parameter REG_ADDR_WIDTH = 5
|
||||
)
|
||||
|
@ -134,8 +134,8 @@ module zeroriscy_controller
|
|||
begin
|
||||
// print warning in case of decoding errors
|
||||
if (is_decoding_o && illegal_insn_i) begin
|
||||
$display("%t: Illegal instruction (core %0d) at PC 0x%h:", $time, zeroriscy_core.core_id_i,
|
||||
zeroriscy_id_stage.pc_id_i);
|
||||
$display("%t: Illegal instruction (core %0d) at PC 0x%h:", $time, ibex_core.core_id_i,
|
||||
ibex_id_stage.pc_id_i);
|
||||
end
|
||||
end
|
||||
// synopsys translate_on
|
|
@ -19,18 +19,18 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Top level module //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Top level module of the RISC-V core. //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
module zeroriscy_core
|
||||
module ibex_core
|
||||
#(
|
||||
parameter N_EXT_PERF_COUNTERS = 0,
|
||||
parameter RV32E = 0,
|
||||
|
@ -266,7 +266,7 @@ module zeroriscy_core
|
|||
// main clock gate of the core
|
||||
// generates all clocks except the one for the debug unit which is
|
||||
// independent
|
||||
cluster_clock_gating core_clock_gate_i
|
||||
clock_gating core_clock_gate_i
|
||||
(
|
||||
.clk_i ( clk_i ),
|
||||
.en_i ( clock_en ),
|
||||
|
@ -282,7 +282,7 @@ module zeroriscy_core
|
|||
// |___|_| |____/ |_/_/ \_\____|_____| //
|
||||
// //
|
||||
//////////////////////////////////////////////////
|
||||
zeroriscy_if_stage if_stage_i
|
||||
ibex_if_stage if_stage_i
|
||||
(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_ni ),
|
||||
|
@ -341,7 +341,7 @@ module zeroriscy_core
|
|||
// |___|____/ |____/ |_/_/ \_\____|_____| //
|
||||
// //
|
||||
/////////////////////////////////////////////////
|
||||
zeroriscy_id_stage
|
||||
ibex_id_stage
|
||||
#(
|
||||
.RV32E(RV32E),
|
||||
.RV32M(RV32M)
|
||||
|
@ -459,7 +459,7 @@ module zeroriscy_core
|
|||
);
|
||||
|
||||
|
||||
zeroriscy_ex_block
|
||||
ibex_ex_block
|
||||
#(
|
||||
//change the localparam MULT_TYPE to 0 or 1
|
||||
//if you want a SLOW or FAST multiplier
|
||||
|
@ -503,7 +503,7 @@ module zeroriscy_core
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
zeroriscy_load_store_unit load_store_unit_i
|
||||
ibex_load_store_unit load_store_unit_i
|
||||
(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_ni ),
|
||||
|
@ -556,7 +556,7 @@ module zeroriscy_core
|
|||
// Control and Status Registers //
|
||||
//////////////////////////////////////
|
||||
|
||||
zeroriscy_cs_registers
|
||||
ibex_cs_registers
|
||||
#(
|
||||
.N_EXT_CNT ( N_EXT_PERF_COUNTERS )
|
||||
)
|
||||
|
@ -627,7 +627,7 @@ module zeroriscy_core
|
|||
// //
|
||||
/////////////////////////////////////////////////////////////
|
||||
|
||||
zeroriscy_debug_unit debug_unit_i
|
||||
ibex_debug_unit debug_unit_i
|
||||
(
|
||||
.clk ( clk_i ), // always-running clock for debug
|
||||
.rst_n ( rst_ni ),
|
||||
|
@ -682,7 +682,7 @@ module zeroriscy_core
|
|||
|
||||
`ifndef VERILATOR
|
||||
`ifdef TRACE_EXECUTION
|
||||
zeroriscy_tracer zeroriscy_tracer_i
|
||||
ibex_tracer ibex_tracer_i
|
||||
(
|
||||
.clk ( clk_i ), // always-running clock for tracing
|
||||
.rst_n ( rst_ni ),
|
|
@ -16,7 +16,7 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Control and Status Registers //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Control and Status Registers (CSRs) loosely following the //
|
||||
|
@ -24,9 +24,9 @@
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
`ifndef PULP_FPGA_EMUL
|
||||
`ifdef SYNTHESIS
|
||||
|
@ -34,7 +34,7 @@ import zeroriscy_defines::*;
|
|||
`endif
|
||||
`endif
|
||||
|
||||
module zeroriscy_cs_registers
|
||||
module ibex_cs_registers
|
||||
#(
|
||||
parameter N_EXT_CNT = 0
|
||||
)
|
|
@ -15,18 +15,18 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Debug Unit //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Debug controller //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
module zeroriscy_debug_unit
|
||||
module ibex_debug_unit
|
||||
#(
|
||||
parameter REG_ADDR_WIDTH = 5
|
||||
)
|
|
@ -19,18 +19,18 @@
|
|||
// Markus Wegmann - markus.wegmann@technokrat.ch //
|
||||
// //
|
||||
// Design Name: Decoder //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Decoder //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
module zeroriscy_decoder
|
||||
module ibex_decoder
|
||||
#(
|
||||
parameter RV32M = 1
|
||||
)
|
|
@ -19,18 +19,18 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Execute stage //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Execution block: Hosts ALU and MUL/DIV unit //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
module zeroriscy_ex_block
|
||||
module ibex_ex_block
|
||||
#(
|
||||
parameter RV32M = 1
|
||||
)
|
||||
|
@ -106,7 +106,7 @@ endgenerate
|
|||
// //
|
||||
////////////////////////////
|
||||
|
||||
zeroriscy_alu alu_i
|
||||
ibex_alu alu_i
|
||||
(
|
||||
.operator_i ( alu_operator_i ),
|
||||
.operand_a_i ( alu_operand_a_i ),
|
||||
|
@ -132,7 +132,7 @@ endgenerate
|
|||
|
||||
generate
|
||||
if (MULT_TYPE == 0) begin : multdiv_slow
|
||||
zeroriscy_multdiv_slow multdiv_i
|
||||
ibex_multdiv_slow multdiv_i
|
||||
(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_n ),
|
||||
|
@ -151,7 +151,7 @@ endgenerate
|
|||
.multdiv_result_o ( multdiv_result )
|
||||
);
|
||||
end else begin: multdiv_fast
|
||||
zeroriscy_multdiv_fast multdiv_i
|
||||
ibex_multdiv_fast multdiv_i
|
||||
(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_n ),
|
|
@ -12,18 +12,18 @@
|
|||
// Engineer: Andreas Traber - atraber@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Fetch Fifo for 32 bit memory interface //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Fetch fifo //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
// input port: send address one cycle before the data
|
||||
// clear_i clears the FIFO for the following cycle. in_addr_i can be sent in
|
||||
// this cycle already
|
||||
module zeroriscy_fetch_fifo
|
||||
module ibex_fetch_fifo
|
||||
(
|
||||
input logic clk,
|
||||
input logic rst_n,
|
|
@ -18,7 +18,7 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Instruction Decode Stage //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Decode stage of the core. It decodes the instructions //
|
||||
|
@ -26,9 +26,9 @@
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
|
||||
// Source/Destination register instruction index
|
||||
|
@ -37,7 +37,7 @@ import zeroriscy_defines::*;
|
|||
`define REG_D 11:07
|
||||
|
||||
|
||||
module zeroriscy_id_stage
|
||||
module ibex_id_stage
|
||||
#(
|
||||
parameter RV32M = 1,
|
||||
parameter RV32E = 0
|
||||
|
@ -409,7 +409,7 @@ module zeroriscy_id_stage
|
|||
end
|
||||
end
|
||||
|
||||
zeroriscy_register_file
|
||||
ibex_register_file
|
||||
#(
|
||||
.RV32E(RV32E)
|
||||
)
|
||||
|
@ -445,7 +445,7 @@ module zeroriscy_id_stage
|
|||
// //
|
||||
///////////////////////////////////////////////
|
||||
|
||||
zeroriscy_decoder
|
||||
ibex_decoder
|
||||
#(
|
||||
.RV32M(RV32M)
|
||||
)
|
||||
|
@ -508,7 +508,7 @@ module zeroriscy_id_stage
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
zeroriscy_controller controller_i
|
||||
ibex_controller controller_i
|
||||
(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_n ),
|
||||
|
@ -601,7 +601,7 @@ module zeroriscy_id_stage
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
zeroriscy_int_controller int_controller_i
|
||||
ibex_int_controller int_controller_i
|
||||
(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_n ),
|
|
@ -17,7 +17,7 @@
|
|||
// Sven Stucki - svstucki@student.ethz.ch //
|
||||
// //
|
||||
// Design Name: Instruction Fetch Stage //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Instruction fetch unit: Selection of the next PC, and //
|
||||
|
@ -25,11 +25,11 @@
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
module zeroriscy_if_stage
|
||||
module ibex_if_stage
|
||||
(
|
||||
input logic clk,
|
||||
input logic rst_n,
|
||||
|
@ -121,7 +121,7 @@ module zeroriscy_if_stage
|
|||
end
|
||||
|
||||
// prefetch buffer, caches a fixed number of instructions
|
||||
zeroriscy_prefetch_buffer prefetch_buffer_i
|
||||
ibex_prefetch_buffer prefetch_buffer_i
|
||||
(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_n ),
|
||||
|
@ -224,7 +224,7 @@ module zeroriscy_if_stage
|
|||
logic illegal_c_insn;
|
||||
logic instr_compressed_int;
|
||||
|
||||
zeroriscy_compressed_decoder compressed_decoder_i
|
||||
ibex_compressed_decoder compressed_decoder_i
|
||||
(
|
||||
.instr_i ( fetch_rdata ),
|
||||
.instr_o ( instr_decompressed ),
|
|
@ -14,16 +14,16 @@
|
|||
// Additional contributions by: //
|
||||
// //
|
||||
// Design Name: Interrupt Controller //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Interrupt Controller of the pipelined processor //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
module zeroriscy_int_controller
|
||||
module ibex_int_controller
|
||||
(
|
||||
input logic clk,
|
||||
input logic rst_n,
|
|
@ -17,7 +17,7 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Load Store Unit //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Load Store Unit, used to eliminate multiple access during //
|
||||
|
@ -25,9 +25,9 @@
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
module zeroriscy_load_store_unit
|
||||
module ibex_load_store_unit
|
||||
(
|
||||
input logic clk,
|
||||
input logic rst_n,
|
|
@ -13,19 +13,19 @@
|
|||
// //
|
||||
// //
|
||||
// Design Name: Fast Multiplier and Division //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: 16x16 kernel multiplier and Long Division //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
`define OP_L 15:0
|
||||
`define OP_H 31:16
|
||||
|
||||
module zeroriscy_multdiv_fast
|
||||
module ibex_multdiv_fast
|
||||
(
|
||||
input logic clk,
|
||||
input logic rst_n,
|
||||
|
@ -336,4 +336,4 @@ module zeroriscy_multdiv_fast
|
|||
end
|
||||
|
||||
|
||||
endmodule // zeroriscy_mult
|
||||
endmodule // ibex_mult
|
|
@ -13,17 +13,17 @@
|
|||
// //
|
||||
// //
|
||||
// Design Name: Slow Multiplier and Division //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Baugh-Wooley multiplier and Long Division //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import ibex_defines::*;
|
||||
|
||||
|
||||
module zeroriscy_multdiv_slow
|
||||
module ibex_multdiv_slow
|
||||
(
|
||||
input logic clk,
|
||||
input logic rst_n,
|
||||
|
@ -297,4 +297,4 @@ module zeroriscy_multdiv_slow
|
|||
assign ready_o = (curr_state_q == MD_FINISH) | (curr_state_q == MD_LAST & (operator_i == MD_OP_MULL | operator_i == MD_OP_MULH));
|
||||
|
||||
|
||||
endmodule // zeroriscy_mult
|
||||
endmodule // ibex_mult
|
|
@ -12,7 +12,7 @@
|
|||
// Engineer: Andreas Traber - atraber@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: Prefetcher Buffer for 32 bit memory interface //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Prefetch Buffer that caches instructions. This cuts overly //
|
||||
|
@ -20,7 +20,7 @@
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
module zeroriscy_prefetch_buffer
|
||||
module ibex_prefetch_buffer
|
||||
(
|
||||
input logic clk,
|
||||
input logic rst_n,
|
||||
|
@ -71,7 +71,7 @@ module zeroriscy_prefetch_buffer
|
|||
// consumes addresses and rdata
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
zeroriscy_fetch_fifo fifo_i
|
||||
ibex_fetch_fifo fifo_i
|
||||
(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_n ),
|
|
@ -16,7 +16,7 @@
|
|||
// Markus Wegmann - markus.wegmann@technokrat.ch //
|
||||
// //
|
||||
// Design Name: RISC-V register file //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Register file with 31 or 15x 32 bit wide registers. //
|
||||
|
@ -25,9 +25,9 @@
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
module zeroriscy_register_file
|
||||
module ibex_register_file
|
||||
#(
|
||||
parameter RV32E = 0,
|
||||
parameter DATA_WIDTH = 32
|
||||
|
@ -93,7 +93,7 @@ module zeroriscy_register_file
|
|||
// WRITE : SAMPLE INPUT DATA
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
cluster_clock_gating CG_WE_GLOBAL
|
||||
clock_gating CG_WE_GLOBAL
|
||||
(
|
||||
.clk_i ( clk ),
|
||||
.en_i ( we_a_i ),
|
||||
|
@ -133,7 +133,7 @@ module zeroriscy_register_file
|
|||
generate
|
||||
for(x = 1; x < NUM_WORDS; x++)
|
||||
begin : CG_CELL_WORD_ITER
|
||||
cluster_clock_gating CG_Inst
|
||||
clock_gating CG_Inst
|
||||
(
|
||||
.clk_i ( clk_int ),
|
||||
.en_i ( waddr_onehot_a[x] ),
|
|
@ -15,7 +15,7 @@
|
|||
// Markus Wegmann - markus.wegmann@technokrat.ch //
|
||||
// //
|
||||
// Design Name: RISC-V register file //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Register file with 31 or 15x 32 bit wide registers. //
|
||||
|
@ -24,9 +24,9 @@
|
|||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
module zeroriscy_register_file
|
||||
module ibex_register_file
|
||||
#(
|
||||
parameter RV32E = 0,
|
||||
parameter DATA_WIDTH = 32
|
|
@ -15,7 +15,7 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: RISC-V Tracer //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Traces the executed instructions //
|
||||
|
@ -25,10 +25,10 @@
|
|||
`ifndef VERILATOR
|
||||
|
||||
|
||||
`include "zeroriscy_config.sv"
|
||||
`include "ibex_config.sv"
|
||||
|
||||
import zeroriscy_defines::*;
|
||||
import zeroriscy_tracer_defines::*;
|
||||
import ibex_defines::*;
|
||||
import ibex_tracer_defines::*;
|
||||
|
||||
|
||||
// Source/Destination register instruction index
|
||||
|
@ -38,7 +38,7 @@ import zeroriscy_tracer_defines::*;
|
|||
`define REG_D 11:07
|
||||
|
||||
|
||||
module zeroriscy_tracer
|
||||
module ibex_tracer
|
||||
#(
|
||||
parameter REG_ADDR_WIDTH = 5
|
||||
)
|
||||
|
@ -441,4 +441,4 @@ module zeroriscy_tracer
|
|||
end // always @ (posedge clk)
|
||||
|
||||
endmodule
|
||||
`endif
|
||||
`endif
|
|
@ -16,7 +16,7 @@
|
|||
// Davide Schiavone - pschiavo@iis.ee.ethz.ch //
|
||||
// //
|
||||
// Design Name: RISC-V config file //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Configure optional simulation modules //
|
|
@ -16,14 +16,14 @@
|
|||
// //
|
||||
// //
|
||||
// Design Name: RISC-V processor core //
|
||||
// Project Name: zero-riscy //
|
||||
// Project Name: ibex //
|
||||
// Language: SystemVerilog //
|
||||
// //
|
||||
// Description: Defines for various constants used by the processor core. //
|
||||
// //
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
package zeroriscy_defines;
|
||||
package ibex_defines;
|
||||
|
||||
////////////////////////////////////////////////
|
||||
// ___ ____ _ //
|
|
@ -8,8 +8,8 @@
|
|||
// CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||
// specific language governing permissions and limitations under the License.
|
||||
|
||||
package zeroriscy_tracer_defines;
|
||||
import zeroriscy_defines::*;
|
||||
package ibex_tracer_defines;
|
||||
import ibex_defines::*;
|
||||
|
||||
// instruction masks (for tracer)
|
||||
// parameter INSTR_CUSTOM0 = { 25'b?, OPCODE_CUST0 };
|
|
@ -1,28 +1,28 @@
|
|||
zeroriscy:
|
||||
ibex:
|
||||
incdirs: [
|
||||
include,
|
||||
]
|
||||
files: [
|
||||
include/zeroriscy_defines.sv,
|
||||
include/zeroriscy_tracer_defines.sv,
|
||||
zeroriscy_alu.sv,
|
||||
zeroriscy_compressed_decoder.sv,
|
||||
zeroriscy_controller.sv,
|
||||
zeroriscy_cs_registers.sv,
|
||||
zeroriscy_debug_unit.sv,
|
||||
zeroriscy_decoder.sv,
|
||||
zeroriscy_int_controller.sv,
|
||||
zeroriscy_ex_block.sv,
|
||||
zeroriscy_id_stage.sv,
|
||||
zeroriscy_if_stage.sv,
|
||||
zeroriscy_load_store_unit.sv,
|
||||
zeroriscy_multdiv_slow.sv,
|
||||
zeroriscy_multdiv_fast.sv,
|
||||
zeroriscy_prefetch_buffer.sv,
|
||||
zeroriscy_fetch_fifo.sv,
|
||||
zeroriscy_core.sv,
|
||||
include/ibex_defines.sv,
|
||||
include/ibex_tracer_defines.sv,
|
||||
ibex_alu.sv,
|
||||
ibex_compressed_decoder.sv,
|
||||
ibex_controller.sv,
|
||||
ibex_cs_registers.sv,
|
||||
ibex_debug_unit.sv,
|
||||
ibex_decoder.sv,
|
||||
ibex_int_controller.sv,
|
||||
ibex_ex_block.sv,
|
||||
ibex_id_stage.sv,
|
||||
ibex_if_stage.sv,
|
||||
ibex_load_store_unit.sv,
|
||||
ibex_multdiv_slow.sv,
|
||||
ibex_multdiv_fast.sv,
|
||||
ibex_prefetch_buffer.sv,
|
||||
ibex_fetch_fifo.sv,
|
||||
ibex_core.sv,
|
||||
]
|
||||
zeroriscy_vip_rtl:
|
||||
ibex_vip_rtl:
|
||||
targets: [
|
||||
rtl,
|
||||
]
|
||||
|
@ -30,11 +30,11 @@ zeroriscy_vip_rtl:
|
|||
include,
|
||||
]
|
||||
files: [
|
||||
include/zeroriscy_defines.sv,
|
||||
include/zeroriscy_tracer_defines.sv,
|
||||
zeroriscy_tracer.sv,
|
||||
include/ibex_defines.sv,
|
||||
include/ibex_tracer_defines.sv,
|
||||
ibex_tracer.sv,
|
||||
]
|
||||
zeroriscy_regfile_rtl:
|
||||
ibex_regfile_rtl:
|
||||
targets: [
|
||||
rtl,
|
||||
tsmc55,
|
||||
|
@ -44,9 +44,9 @@ zeroriscy_regfile_rtl:
|
|||
include,
|
||||
]
|
||||
files: [
|
||||
zeroriscy_register_file.sv,
|
||||
ibex_register_file.sv,
|
||||
]
|
||||
zeroriscy_regfile_fpga:
|
||||
ibex_regfile_fpga:
|
||||
targets: [
|
||||
xilinx,
|
||||
]
|
||||
|
@ -54,6 +54,6 @@ zeroriscy_regfile_fpga:
|
|||
include,
|
||||
]
|
||||
files: [
|
||||
zeroriscy_register_file_ff.sv,
|
||||
ibex_register_file_ff.sv,
|
||||
]
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue