forked from openhwgroup/cva6
-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Nils Wistoff <nwistoff@iis.ee.ethz.ch>
- Loading branch information
Showing
4 changed files
with
87 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
// Copyright 2023 ETH Zurich and University of Bologna. | ||
// Solderpad Hardware License, Version 0.51, see LICENSE for details. | ||
// SPDX-License-Identifier: SHL-0.51 | ||
|
||
// Authors: Matheus Cavalcante <matheusd@iis.ee.ethz.ch> | ||
// Nils Wistoff <nwistoff@iis.ee.ethz.ch> | ||
|
||
// Package defining the accelerator interface as used by Ara + CVA6 | ||
|
||
package acc_pkg; | ||
|
||
// ---------------------- | ||
// Accelerator Interface | ||
// ---------------------- | ||
|
||
typedef struct packed { | ||
logic req_valid; | ||
logic resp_ready; | ||
riscv::instruction_t insn; | ||
riscv::xlen_t rs1; | ||
riscv::xlen_t rs2; | ||
fpnew_pkg::roundmode_e frm; | ||
logic [ariane_pkg::TRANS_ID_BITS-1:0] trans_id; | ||
logic store_pending; | ||
} accelerator_req_t; | ||
|
||
typedef struct packed { | ||
logic req_ready; | ||
logic resp_valid; | ||
riscv::xlen_t result; | ||
logic [ariane_pkg::TRANS_ID_BITS-1:0] trans_id; | ||
logic error; | ||
|
||
// Metadata | ||
logic store_pending; | ||
logic store_complete; | ||
logic load_complete; | ||
|
||
logic [4:0] fflags; | ||
logic fflags_valid; | ||
} accelerator_resp_t; | ||
|
||
endpackage |