Skip to content

Commit

Permalink
[hardware] Add draft support for segment mem ops
Browse files Browse the repository at this point in the history
  • Loading branch information
mp-17 committed Oct 25, 2024
1 parent 887a76c commit a504f3b
Show file tree
Hide file tree
Showing 7 changed files with 1,219 additions and 1,107 deletions.
2 changes: 2 additions & 0 deletions Bender.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ sources:
- hardware/include/ara_pkg.sv

# Sources
# Level 0
- hardware/src/segment_sequencer.sv
# Level 1
- hardware/src/axi_to_mem.sv
- hardware/src/ctrl_registers.sv
Expand Down
9 changes: 9 additions & 0 deletions hardware/include/ara_pkg.sv
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ package ara_pkg;
FixedPointEnable = 1'b1
} fixpt_support_e;

// Support for segment memory operations
typedef enum logic {
SegSupportDisable = 1'b0,
SegSupportEnable = 1'b1
} seg_support_e;

// FP support outside of the FPU (external)
// vfrec7, vfrsqrt7, round-toward-odd
typedef enum logic {
Expand Down Expand Up @@ -302,6 +308,9 @@ package ara_pkg;
// Effective length multiplier
rvv_pkg::vlmul_e emul;

// Number of segments in segment mem op
logic [2:0] nf;

// Rounding-Mode for FP operations
fpnew_pkg::roundmode_e fp_rm;
// Widen FP immediate (re-encoding)
Expand Down
1 change: 1 addition & 0 deletions hardware/scripts/wave_ara.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
add wave -noupdate -group Ara -group core /ara_tb/dut/i_ara_soc/i_system/i_ara/*

add wave -noupdate -group Ara -group dispatcher /ara_tb/dut/i_ara_soc/i_system/i_ara/i_dispatcher/*
add wave -noupdate -group Ara -group dispatcher -group segment_sequencer /ara_tb/dut/i_ara_soc/i_system/i_ara/i_dispatcher/i_segment_sequencer/*
add wave -noupdate -group Ara -group sequencer /ara_tb/dut/i_ara_soc/i_system/i_ara/i_sequencer/*

# Add waves from all the lanes
Expand Down
5 changes: 4 additions & 1 deletion hardware/src/ara.sv
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ module ara import ara_pkg::*; #(
parameter fpext_support_e FPExtSupport = FPExtSupportEnable,
// Support for fixed-point data types
parameter fixpt_support_e FixPtSupport = FixedPointEnable,
// Support for segment memory operations
parameter seg_support_e SegSupport = SegSupportEnable,
// AXI Interface
parameter int unsigned AxiDataWidth = 0,
parameter int unsigned AxiAddrWidth = 0,
Expand Down Expand Up @@ -89,7 +91,8 @@ module ara import ara_pkg::*; #(
vxrm_t [NrLanes-1:0] alu_vxrm;

ara_dispatcher #(
.NrLanes(NrLanes)
.NrLanes(NrLanes),
.SegSupport(SegSupport)
) i_dispatcher (
.clk_i (clk_i ),
.rst_ni (rst_ni ),
Expand Down
Loading

0 comments on commit a504f3b

Please sign in to comment.