mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-19 11:34:45 -04:00
Update lowrisc_ip to lowRISC/opentitan@d268f271f4
Update code from upstream repository https://github.com/lowRISC/opentitan to revision d268f271f4f75aeb8f3bf9624a497ae5bfb9c47e * [rtl] MuBi encoding of iCache memory ctrl signals (Pascal Nasahl) * [sram_ctrl] Add readback feature (Pascal Nasahl) * [fpv] Tweak report headers to match Jasper version (Rupert Swarbrick) * [prim_pad_wrapper,rtl] Change input enable to active-high (Andreas Kurth) * [hmac/rtl] Wait for digest of complete block when stopping (Martin Velay) * [prim_sha2_pad,rtl] Signal msg feed complete also when stopping (Andreas Kurth) * [prim_sha2_pad,rtl] Go to idle (without padding) when told to stop (Andreas Kurth) * [prim_sha2_pad,rtl] Refactor comparison on tx_count and msg len into signal (Andreas Kurth) * [prim_sha2_pad,rtl] Fix setting of digest mode when continuing (Andreas Kurth) * [hmac/prim_2,rtl] Do not clear redundant digest values (Ghada Dessouky) * [prim,fpv] Tweak how a parameter gets used in some assertions (Rupert Swarbrick) * [prim,fpv] Fix trivial lint warning in prim_fifo_sync_assert_fpv (Rupert Swarbrick) * [prim,rtl] Fix trivial lint warning in prim_fifo_sync (Rupert Swarbrick) * Launcher Modification (Youming Lu) * [top_earlgrey,pinmux] Add input disable attribute for non-manual pads (Andreas Kurth) * [dv] Add more prints to bit bash sequence (Rupert Swarbrick) * [ipgen,flash_ctrl] Fix core files (Guillermo Maturana) * [prim,rtl] Avoid unnecessary check in prim_esc_receiver.sv (Rupert Swarbrick) * [prim,fpv] Use PossibleActions param in prim_esc_receiver (Rupert Swarbrick) * [prim_diff_decode] Use `prim_xnor2` to detect integrity issue (Andreas Kurth) * [prim] Fix typo'd loop increment (James Wainwright) * [hmac/prim_sha2,rtl] Implement SW error for invalid HMAC config (Ghada Dessouky) * [rom] Remove real and fake key targets. (Miguel Osorio) * [prim_sha2,rtl/dv] Fix secret value wiping (Ghada Dessouky) * [prim,rtl,fpv] Fix typo in assertion in prim_alert_receiver (Rupert Swarbrick) * [fpv,prim] Drop prim_count_expected_failure.hjson (Rupert Swarbrick) * [fpv,prim] Generalise from DecrNeverTrue to listing possible actions (Rupert Swarbrick) * [prim,fpv] Correct assertions for commit_i input (Rupert Swarbrick) * [prim,fpv] Rephrase some "backwards" assertions in prim_count (Rupert Swarbrick) * [prim,fpv] Properly "waive" some unreachable prim_count assertions (Rupert Swarbrick) * [prim,fpv] Fix width of FPV variable in prim_arbiter_ppc.sv (Rupert Swarbrick) * [prim,fpv] Rephrase prim_count error assertions (Rupert Swarbrick) * [prim,fpv] Fix port list in prim_count_tb (Rupert Swarbrick) * [prim_ram_1p_scr] Align documentation with actual implementation (Pirmin Vogel) * [prim, rom_ctrl] Increase number of PRINCE rounds for improved security (Pirmin Vogel) * [prim,fpv] Make file structure slightly clearer (Rupert Swarbrick) * [prim,fpv] Shorten a variable name (prim_hier -> hier) (Rupert Swarbrick) * [prim,fpv] Tidy up and document some FPV macros (Rupert Swarbrick) * [dvsim,lint] Fix bug in duplicate detection in lint parser (Rupert Swarbrick) * [rtl,comments] Fix some comments (Guillermo Maturana) * [dv,prim] Clarification of reset behavior (Adrian Lees) * [ast] Add dependency in fileset_partner to select correct ast_pkg (Sharon Topaz) * [prim,fpv] Only allow unconstrained counters in prim_count FPV (Rupert Swarbrick) * [dvsim] Split and rename Modes.py (Rupert Swarbrick) * [prim,dv] Tweak ASSERT_FINAL to be a no-op if FPV enabled (Rupert Swarbrick) * [prim,tlul,rtl] Explicitly cast a "1" to specific number of bits (Rupert Swarbrick) * [dvsim] Fix plurals in type names in Modes.py (Rupert Swarbrick) * [dvsim] Move find_mode and find_and_merge_modes out of Modes class (Rupert Swarbrick) * [dvsim] Die more cleanly on an invalid use of merge_mode (Rupert Swarbrick) * [dvsim] Get rid of "mname" field in Modes.py (Rupert Swarbrick) * [dvsim] Simplify named attribute lookup in Modes.py (Rupert Swarbrick) * [dvsim] Get rid of pretty print magic in Modes.py (Rupert Swarbrick) * [dvsim] Strengthen typing and simplify printing for modes in SimCfg (Rupert Swarbrick) * [dvsim] Slightly tidy up SimCfg._print_list (Rupert Swarbrick) * [dvsim] Get rid of an unused dictionary in OneShotCfg.py (Rupert Swarbrick) * Add the project name to the copyright header (Michael Munday) * Fix or waive Python lint errors and warnings (Pirmin Vogel) * Remove trailing whitespaces (Pirmin Vogel) * [dv,mem_bkdr] Fix handling of multiple tiles in sram (Guillermo Maturana) * [hmac] Coding style and minor fixes (Ghada Dessouky) * [dv] Remove phase argument from monitor's collect_trans (Rupert Swarbrick) * [prim_fifo_sync_cnt] Minor code cleanup (Andreas Kurth) * [dv,mem_bkdr] Fix digest calculation for hw_cfg0 (Guillermo Maturana) * [prim_fifo_sync_cnt] Fix signedness of Depth parameter (Andreas Kurth) * [prim_fifo_sync] Keep wraparound pointers contained within `prim_fifo_sync_cnt` (Andreas Kurth) * [prim_fifo_sync] Move pointer and depth calculation to `prim_fifo_sync_cnt` (Andreas Kurth) * [prim_fifo_sync] Remove out-commented RTL code (Andreas Kurth) * [prim_fifo_sync_cnt] Improve module and parameter documentation (Andreas Kurth) * [lint] Demote licence warning in AscentLint parser (Rupert Swarbrick) * Revert "[dv] Remove phase argument from monitor's collect_trans" (Rupert Swarbrick) * [dv] Fix parameter types in dv_base_mubi_cov.sv (Rupert Swarbrick) * [dv] Remove phase argument from monitor's collect_trans (Rupert Swarbrick) * [dv, xcelium] Use detachable reports to avoid CORS (Elliot Baptist) * [otp_ctrl] Add fuse for late debug enable mechanism (Michael Schaffner) * [prim] Add support for MuBi's up to 32bit (Michael Schaffner) * [otp_ctrl] Increase Hamming distance in OTP commands (Michael Schaffner) * [dv] Add checks to set_freq_*hz (Rupert Swarbrick) * [dv] Fix more timeout comments with wrong units (Elliot Baptist) * Make .core files pass FuseSoC 2 schema validator (Olof Kindgren) * [dvsim] Run deepcopy to work around memory usage bug (Rupert Swarbrick) * [dvsim] Make global_val handling a bit clearer (Rupert Swarbrick) * [prim_sha2,rtl] Add key_length type and change type encodings (Ghada Dessouky) * [dv,sram_ctrl] Fix a few failing tests (Guillermo Maturana) * [topgen] Add field to specify status IRQ default behavior (Michael Schaffner) * [dv] Update clear_all_interrupts to support status type (Michael Schaffner) Signed-off-by: Pascal Nasahl <nasahlpa@lowrisc.org>
This commit is contained in:
parent
5cea5d65c3
commit
21da9b3c7e
836 changed files with 4298 additions and 2227 deletions
4
vendor/lowrisc_ip.lock.hjson
vendored
4
vendor/lowrisc_ip.lock.hjson
vendored
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -9,6 +9,6 @@
|
|||
upstream:
|
||||
{
|
||||
url: https://github.com/lowRISC/opentitan
|
||||
rev: e0c40265019aa0c74e6903d3b3a144c48a3815ec
|
||||
rev: d268f271f4f75aeb8f3bf9624a497ae5bfb9c47e
|
||||
}
|
||||
}
|
||||
|
|
2
vendor/lowrisc_ip/dv/sv/common_ifs/clk_if.sv
vendored
2
vendor/lowrisc_ip/dv/sv/common_ifs/clk_if.sv
vendored
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -136,6 +136,7 @@ interface clk_rst_if #(
|
|||
|
||||
// set the clk frequency in khz
|
||||
function automatic void set_freq_khz(int freq_khz);
|
||||
`DV_CHECK_FATAL(freq_khz > 0, , msg_id)
|
||||
clk_freq_mhz = $itor(freq_khz) / 1000;
|
||||
clk_period_ps = 1000_000 / clk_freq_mhz;
|
||||
recompute = 1'b1;
|
||||
|
@ -143,6 +144,7 @@ interface clk_rst_if #(
|
|||
|
||||
// set the clk frequency in mhz
|
||||
function automatic void set_freq_mhz(int freq_mhz);
|
||||
`DV_CHECK_FATAL(freq_mhz > 0, , msg_id)
|
||||
set_freq_khz(freq_mhz * 1000);
|
||||
endfunction
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:common_ifs"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:entropy_subsys_fifo_exception_if"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:pins_if"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:rst_shadowed_if"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
17
vendor/lowrisc_ip/dv/sv/csr_utils/csr_seq_lib.sv
vendored
17
vendor/lowrisc_ip/dv/sv/csr_utils/csr_seq_lib.sv
vendored
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -329,7 +329,19 @@ class csr_bit_bash_seq extends csr_base_seq;
|
|||
`uvm_object_new
|
||||
|
||||
virtual task body();
|
||||
int unsigned total_count = test_csrs.size();
|
||||
int unsigned done_count = 0;
|
||||
|
||||
`uvm_info(`gtn,
|
||||
$sformatf("Running bit bash sequence for %0d registers", total_count),
|
||||
UVM_MEDIUM)
|
||||
foreach (test_csrs[i]) begin
|
||||
done_count++;
|
||||
`uvm_info(`gtn,
|
||||
$sformatf("Verifying register bit bash for %0s (register %0d/%0d)",
|
||||
test_csrs[i].get_full_name(), done_count, total_count),
|
||||
UVM_MEDIUM)
|
||||
|
||||
// check if parent block or register is excluded from write
|
||||
if (is_excl(test_csrs[i], CsrExclWrite, CsrBitBashTest) ||
|
||||
is_excl(test_csrs[i], CsrExclWriteCheck, CsrBitBashTest)) begin
|
||||
|
@ -338,9 +350,6 @@ class csr_bit_bash_seq extends csr_base_seq;
|
|||
continue;
|
||||
end
|
||||
|
||||
`uvm_info(`gtn, $sformatf("Verifying register bit bash for %0s",
|
||||
test_csrs[i].get_full_name()), UVM_MEDIUM)
|
||||
|
||||
begin
|
||||
uvm_reg_field fields[$];
|
||||
string mode[`UVM_REG_DATA_WIDTH];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:csr_utils"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -26,10 +26,14 @@ package csr_utils_pkg;
|
|||
|
||||
function automatic void increment_outstanding_access();
|
||||
outstanding_accesses++;
|
||||
`uvm_info("csr_utils_pkg", $sformatf("increment_outstanding_access %0d", outstanding_accesses),
|
||||
UVM_HIGH)
|
||||
endfunction
|
||||
|
||||
function automatic void decrement_outstanding_access();
|
||||
outstanding_accesses--;
|
||||
`uvm_info("csr_utils_pkg", $sformatf("decrement_outstanding_access %0d", outstanding_accesses),
|
||||
UVM_HIGH)
|
||||
endfunction
|
||||
|
||||
task automatic wait_no_outstanding_access();
|
||||
|
@ -549,6 +553,7 @@ package csr_utils_pkg;
|
|||
fork
|
||||
while (!under_reset) begin
|
||||
if (spinwait_delay_ns) #(spinwait_delay_ns * 1ns);
|
||||
`uvm_info("csr_utils_pkg", "In csr_spinwait", verbosity)
|
||||
csr_rd(.ptr(ptr), .value(read_data), .check(check), .path(path),
|
||||
.blocking(1), .map(map), .user_ftdr(user_ftdr), .backdoor(backdoor));
|
||||
`uvm_info(msg_id, $sformatf("ptr %0s == 0x%0h",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
// coverage object for a fixed width mubi
|
||||
class mubi_cov #(parameter int Width = 4,
|
||||
parameter int ValueTrue = prim_mubi_pkg::MuBi4True,
|
||||
parameter int ValueFalse = prim_mubi_pkg::MuBi4False
|
||||
) extends uvm_object;
|
||||
parameter int unsigned ValueTrue = prim_mubi_pkg::MuBi4True,
|
||||
parameter int unsigned ValueFalse = prim_mubi_pkg::MuBi4False) extends uvm_object;
|
||||
`uvm_object_param_utils(mubi_cov #(Width, ValueTrue, ValueFalse))
|
||||
|
||||
// Collect true, false and at least N other values (N = Width)
|
||||
|
@ -43,6 +42,18 @@ typedef mubi_cov #(.Width(12),
|
|||
typedef mubi_cov #(.Width(16),
|
||||
.ValueTrue(prim_mubi_pkg::MuBi16True),
|
||||
.ValueFalse(prim_mubi_pkg::MuBi16False)) mubi16_cov;
|
||||
typedef mubi_cov #(.Width(20),
|
||||
.ValueTrue(prim_mubi_pkg::MuBi20True),
|
||||
.ValueFalse(prim_mubi_pkg::MuBi20False)) mubi20_cov;
|
||||
typedef mubi_cov #(.Width(24),
|
||||
.ValueTrue(prim_mubi_pkg::MuBi24True),
|
||||
.ValueFalse(prim_mubi_pkg::MuBi24False)) mubi24_cov;
|
||||
typedef mubi_cov #(.Width(28),
|
||||
.ValueTrue(prim_mubi_pkg::MuBi28True),
|
||||
.ValueFalse(prim_mubi_pkg::MuBi28False)) mubi28_cov;
|
||||
typedef mubi_cov #(.Width(32),
|
||||
.ValueTrue(prim_mubi_pkg::MuBi32True),
|
||||
.ValueFalse(prim_mubi_pkg::MuBi32False)) mubi32_cov;
|
||||
|
||||
// a mubi coverage object, which allows to dynamically select the width of mubi
|
||||
class dv_base_mubi_cov extends uvm_object;
|
||||
|
@ -53,6 +64,10 @@ class dv_base_mubi_cov extends uvm_object;
|
|||
mubi8_cov m_mubi8_cov;
|
||||
mubi12_cov m_mubi12_cov;
|
||||
mubi16_cov m_mubi16_cov;
|
||||
mubi20_cov m_mubi20_cov;
|
||||
mubi24_cov m_mubi24_cov;
|
||||
mubi28_cov m_mubi28_cov;
|
||||
mubi32_cov m_mubi32_cov;
|
||||
|
||||
`uvm_object_utils(dv_base_mubi_cov)
|
||||
`uvm_object_new
|
||||
|
@ -70,6 +85,10 @@ class dv_base_mubi_cov extends uvm_object;
|
|||
8: m_mubi8_cov = mubi8_cov::type_id::create(cov_name);
|
||||
12: m_mubi12_cov = mubi12_cov::type_id::create(cov_name);
|
||||
16: m_mubi16_cov = mubi16_cov::type_id::create(cov_name);
|
||||
20: m_mubi20_cov = mubi20_cov::type_id::create(cov_name);
|
||||
24: m_mubi24_cov = mubi24_cov::type_id::create(cov_name);
|
||||
28: m_mubi28_cov = mubi28_cov::type_id::create(cov_name);
|
||||
32: m_mubi32_cov = mubi32_cov::type_id::create(cov_name);
|
||||
default: `uvm_fatal(`gfn, $sformatf("Unsupported mubi width (%0d) is used", mubi_width))
|
||||
endcase
|
||||
endfunction : create_cov
|
||||
|
@ -80,9 +99,11 @@ class dv_base_mubi_cov extends uvm_object;
|
|||
8: m_mubi8_cov.sample(value);
|
||||
12: m_mubi12_cov.sample(value);
|
||||
16: m_mubi16_cov.sample(value);
|
||||
20: m_mubi20_cov.sample(value);
|
||||
24: m_mubi24_cov.sample(value);
|
||||
28: m_mubi28_cov.sample(value);
|
||||
32: m_mubi32_cov.sample(value);
|
||||
default: `uvm_fatal(`gfn, $sformatf("Unsupported mubi width (%0d) is used", mubi_width))
|
||||
endcase
|
||||
endfunction : sample
|
||||
endclass : dv_base_mubi_cov
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:dv_base_reg"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
@ -102,6 +102,15 @@ class dv_base_reg extends uvm_reg;
|
|||
end
|
||||
endfunction
|
||||
|
||||
// Return a mask of read-only bits in the register.
|
||||
virtual function uvm_reg_data_t get_ro_mask();
|
||||
dv_base_reg_field flds[$];
|
||||
this.get_dv_base_reg_fields(flds);
|
||||
foreach (flds[i]) begin
|
||||
get_ro_mask |= flds[i].get_ro_mask();
|
||||
end
|
||||
endfunction
|
||||
|
||||
// this function can only be called when this reg is intr_state reg
|
||||
// Example: ral.intr_state.get_intr_pins_exp_value(). And it returns value of
|
||||
// intr_state & intr_enable, which represents value of interrupt pins
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
@ -143,7 +143,7 @@ class dv_base_reg_field extends uvm_reg_field;
|
|||
uvm_reg_field intr_state_fld = get_intr_state_field();
|
||||
uvm_reg_data_t predict_val;
|
||||
if (intr_state_fld.get_access == "RO") begin // status interrupt
|
||||
predict_val = field_val;
|
||||
predict_val = field_val | intr_state_fld.get_reset();
|
||||
end else begin // regular W1C interrupt
|
||||
`DV_CHECK_STREQ(intr_state_fld.get_access, "W1C")
|
||||
predict_val = field_val | `gmv(intr_state_fld);
|
||||
|
@ -188,11 +188,19 @@ class dv_base_reg_field extends uvm_reg_field;
|
|||
return m_original_access;
|
||||
endfunction
|
||||
|
||||
// Return a mask of valid bits in the field.
|
||||
virtual function uvm_reg_data_t get_field_mask();
|
||||
get_field_mask = (1'b1 << this.get_n_bits()) - 1;
|
||||
get_field_mask = get_field_mask << this.get_lsb_pos();
|
||||
endfunction
|
||||
|
||||
// Return a mask of read-only bits in the field.
|
||||
virtual function uvm_reg_data_t get_ro_mask();
|
||||
bit is_ro = (this.get_access() == "RO");
|
||||
get_ro_mask = (is_ro << this.get_n_bits()) - is_ro;
|
||||
get_ro_mask = get_ro_mask << this.get_lsb_pos();
|
||||
endfunction
|
||||
|
||||
virtual function void set_original_access(string access);
|
||||
if (m_original_access == "") begin
|
||||
m_original_access = access;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -65,4 +65,3 @@ class dv_base_agent #(type CFG_T = dv_base_agent_cfg,
|
|||
endfunction
|
||||
|
||||
endclass
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -34,4 +34,3 @@ class dv_base_driver #(type ITEM_T = uvm_sequence_item,
|
|||
endtask
|
||||
|
||||
endclass
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -38,12 +38,12 @@ class dv_base_monitor #(type ITEM_T = uvm_sequence_item,
|
|||
|
||||
virtual task run_phase(uvm_phase phase);
|
||||
fork
|
||||
collect_trans(phase);
|
||||
collect_trans();
|
||||
join
|
||||
endtask
|
||||
|
||||
// collect transactions forever
|
||||
virtual protected task collect_trans(uvm_phase phase);
|
||||
virtual protected task collect_trans();
|
||||
`uvm_fatal(`gfn, "this method is not supposed to be called directly!")
|
||||
endtask
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -78,4 +78,3 @@ class dv_base_scoreboard #(type RAL_T = dv_base_reg_block,
|
|||
endfunction : pre_abort
|
||||
|
||||
endclass
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
2
vendor/lowrisc_ip/dv/sv/dv_lib/dv_lib.core
vendored
2
vendor/lowrisc_ip/dv/sv/dv_lib/dv_lib.core
vendored
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:dv_lib"
|
||||
|
|
2
vendor/lowrisc_ip/dv/sv/dv_lib/dv_lib_pkg.sv
vendored
2
vendor/lowrisc_ip/dv/sv/dv_lib/dv_lib_pkg.sv
vendored
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:dv_fcov_macros"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:dv_macros"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
// Report catcher/demoter
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:dv_test_status"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:dv_utils"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:mem_bkdr_util"
|
||||
|
@ -15,7 +15,7 @@ filesets:
|
|||
- lowrisc:prim:cipher_pkg:0.1
|
||||
- lowrisc:prim:secded:0.1
|
||||
- lowrisc:ip:otp_ctrl_pkg:1.0
|
||||
- lowrisc:ip:flash_ctrl_pkg
|
||||
- lowrisc:ip_interfaces:flash_ctrl_pkg
|
||||
- lowrisc:dv:digestpp_dpi
|
||||
- lowrisc:ip:kmac_pkg
|
||||
files:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -136,7 +136,7 @@ virtual function void otp_write_hw_cfg0_partition(
|
|||
write32(i + ManufStateOffset, manuf_state[i*8+:32]);
|
||||
end
|
||||
|
||||
hw_cfg0_data = {<<32 {32'h0, manuf_state, device_id}};
|
||||
hw_cfg0_data = {<<32 {manuf_state, device_id}};
|
||||
digest = cal_digest(HwCfg0Idx, hw_cfg0_data);
|
||||
|
||||
write64(HwCfg0DigestOffset, digest);
|
||||
|
@ -144,14 +144,15 @@ endfunction
|
|||
|
||||
virtual function void otp_write_hw_cfg1_partition(
|
||||
bit [EnCsrngSwAppReadSize*8-1:0] en_csrng_sw_app_read,
|
||||
bit [EnSramIfetchSize*8-1:0] en_sram_ifetch);
|
||||
bit [EnSramIfetchSize*8-1:0] en_sram_ifetch,
|
||||
bit [EnSramIfetchSize*8-1:0] dis_rv_dm_late_debug);
|
||||
bit [HwCfg1DigestSize*8-1:0] digest;
|
||||
|
||||
bit [bus_params_pkg::BUS_DW-1:0] hw_cfg1_data[$];
|
||||
|
||||
write32(EnSramIfetchOffset, {en_csrng_sw_app_read, en_sram_ifetch});
|
||||
write32(EnSramIfetchOffset, {dis_rv_dm_late_debug, en_csrng_sw_app_read, en_sram_ifetch});
|
||||
|
||||
hw_cfg1_data = {<<32 {32'h0, en_csrng_sw_app_read, en_sram_ifetch}};
|
||||
hw_cfg1_data = {<<32 {32'h0, dis_rv_dm_late_debug, en_csrng_sw_app_read, en_sram_ifetch}};
|
||||
digest = cal_digest(HwCfg1Idx, hw_cfg1_data);
|
||||
|
||||
write64(HwCfg1DigestOffset, digest);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
function logic [bus_params_pkg::BUS_AW-1:0] get_sram_encrypt_addr (
|
||||
logic [bus_params_pkg::BUS_AW-1:0] addr,
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce,
|
||||
logic [31:0] extra_addr_bits = '0);
|
||||
logic [31:0] extra_addr_bits);
|
||||
|
||||
int full_addr_width = addr_width + extra_addr_bits;
|
||||
|
||||
|
@ -43,8 +43,8 @@ function logic [38:0] get_sram_encrypt32_intg_data (
|
|||
logic [31:0] data,
|
||||
logic [SRAM_KEY_WIDTH-1:0] key,
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce,
|
||||
bit [38:0] flip_bits = '0,
|
||||
int extra_addr_bits=0);
|
||||
int extra_addr_bits,
|
||||
bit [38:0] flip_bits = '0);
|
||||
|
||||
logic [38:0] integ_data;
|
||||
logic [38:0] scrambled_data;
|
||||
|
@ -77,9 +77,10 @@ endfunction : get_sram_encrypt32_intg_data
|
|||
// It simply ignores the integrity bits.
|
||||
virtual function logic [38:0] sram_encrypt_read32_integ(logic [bus_params_pkg::BUS_AW-1:0] addr,
|
||||
logic [SRAM_KEY_WIDTH-1:0] key,
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce);
|
||||
logic [bus_params_pkg::BUS_AW-1:0] scr_addr = get_sram_encrypt_addr(addr, nonce);
|
||||
logic [38:0] rdata39 = _sram_decrypt_read39(addr, scr_addr, key, nonce);
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce,
|
||||
int extra_addr_bits);
|
||||
logic [bus_params_pkg::BUS_AW-1:0] scr_addr = get_sram_encrypt_addr(addr, nonce, extra_addr_bits);
|
||||
logic [38:0] rdata39 = _sram_decrypt_read39(addr, scr_addr, key, nonce, extra_addr_bits);
|
||||
return rdata39[31:0];
|
||||
endfunction : sram_encrypt_read32_integ
|
||||
|
||||
|
@ -89,17 +90,19 @@ local function logic [38:0] _sram_decrypt_read39(
|
|||
logic [bus_params_pkg::BUS_AW-1:0] addr,
|
||||
logic [bus_params_pkg::BUS_AW-1:0] scr_addr,
|
||||
logic [SRAM_KEY_WIDTH-1:0] key,
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce);
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce,
|
||||
int extra_addr_bits);
|
||||
logic [38:0] rdata39 = '0;
|
||||
|
||||
logic rdata_arr [] = new[39];
|
||||
logic addr_arr [] = new[addr_width];
|
||||
logic key_arr [] = new[SRAM_KEY_WIDTH];
|
||||
logic nonce_arr [] = new[SRAM_BLOCK_WIDTH];
|
||||
int full_addr_width = addr_width + extra_addr_bits;
|
||||
|
||||
key_arr = {<<{key}};
|
||||
nonce_arr = {<<{nonce}};
|
||||
for (int i = 0; i < addr_width; i++) begin
|
||||
for (int i = 0; i < full_addr_width; i++) begin
|
||||
addr_arr[i] = addr[addr_lsb + i];
|
||||
end
|
||||
|
||||
|
@ -107,7 +110,7 @@ local function logic [38:0] _sram_decrypt_read39(
|
|||
`uvm_info(`gfn, $sformatf("scr data: 0x%0x", rdata39), UVM_HIGH)
|
||||
rdata_arr = {<<{rdata39}};
|
||||
rdata_arr = sram_scrambler_pkg::decrypt_sram_data(
|
||||
rdata_arr, 39, 39, addr_arr, addr_width, key_arr, nonce_arr
|
||||
rdata_arr, 39, 39, addr_arr, full_addr_width, key_arr, nonce_arr
|
||||
);
|
||||
rdata39 = {<<{rdata_arr}};
|
||||
return rdata39;
|
||||
|
@ -119,11 +122,13 @@ virtual function void sram_encrypt_write32_integ(logic [bus_params_pkg::BUS_AW-1
|
|||
logic [31:0] data,
|
||||
logic [SRAM_KEY_WIDTH-1:0] key,
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce,
|
||||
int extra_addr_bits,
|
||||
bit [38:0] flip_bits = 0);
|
||||
logic [bus_params_pkg::BUS_AW-1:0] scr_addr = get_sram_encrypt_addr(addr, nonce);
|
||||
_sram_encrypt_write39(addr, scr_addr, data, key, nonce, flip_bits);
|
||||
logic [bus_params_pkg::BUS_AW-1:0] scr_addr = get_sram_encrypt_addr(addr, nonce, extra_addr_bits);
|
||||
_sram_encrypt_write39(addr, scr_addr, data, key, nonce, extra_addr_bits, flip_bits);
|
||||
endfunction : sram_encrypt_write32_integ
|
||||
|
||||
|
||||
// This encrypts, possibly flips some bits to inject errors, and writes the resulting data
|
||||
// to a scrambled address.
|
||||
local function void _sram_encrypt_write39(logic [bus_params_pkg::BUS_AW-1:0] addr,
|
||||
|
@ -131,8 +136,9 @@ local function void _sram_encrypt_write39(logic [bus_params_pkg::BUS_AW-1:0] add
|
|||
logic [31:0] data,
|
||||
logic [SRAM_KEY_WIDTH-1:0] key,
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce,
|
||||
int extra_addr_bits,
|
||||
bit [38:0] flip_bits);
|
||||
logic [38:0] scrambled_data = get_sram_encrypt32_intg_data(addr, data, key, nonce, flip_bits);
|
||||
logic [38:0] scrambled_data = get_sram_encrypt32_intg_data(addr, data, key, nonce, extra_addr_bits, flip_bits);
|
||||
write39integ(scr_addr, scrambled_data);
|
||||
endfunction : _sram_encrypt_write39
|
||||
|
||||
|
@ -145,7 +151,8 @@ endfunction : _sram_encrypt_write39
|
|||
virtual function void sram_inject_integ_error(logic [bus_params_pkg::BUS_AW-1:0] addr,
|
||||
logic [bus_params_pkg::BUS_AW-1:0] scr_addr,
|
||||
logic [SRAM_KEY_WIDTH-1:0] key,
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce);
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] nonce,
|
||||
int extra_addr_bits);
|
||||
int max_attempts = 40;
|
||||
int attempt = 0;
|
||||
|
||||
|
@ -154,8 +161,8 @@ virtual function void sram_inject_integ_error(logic [bus_params_pkg::BUS_AW-1:0]
|
|||
bit [38:0] rdata_integ;
|
||||
prim_secded_pkg::secded_inv_39_32_t dec;
|
||||
// The specific bits to be flipped should be irrelevant.
|
||||
_sram_encrypt_write39(addr, scr_addr, data, key, nonce, 39'h1001);
|
||||
rdata_integ = _sram_decrypt_read39(addr, scr_addr, key, nonce);
|
||||
_sram_encrypt_write39(addr, scr_addr, data, key, nonce, extra_addr_bits, 39'h1001);
|
||||
rdata_integ = _sram_decrypt_read39(addr, scr_addr, key, nonce, extra_addr_bits);
|
||||
dec = prim_secded_pkg::prim_secded_inv_39_32_dec(rdata_integ);
|
||||
if (dec.err) begin
|
||||
`uvm_info(`gfn, $sformatf(
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -40,7 +40,8 @@ package sram_scrambler_pkg;
|
|||
// Fixed data block size - PRINCE cipher operates on 64-bit data blocks.
|
||||
parameter int SRAM_BLOCK_WIDTH = 64;
|
||||
|
||||
parameter int NUM_ROUNDS = 2;
|
||||
parameter int NUM_PRINCE_ROUNDS_HALF = 3;
|
||||
parameter int NUM_SP_ROUNDS = 2;
|
||||
|
||||
// Create a generic typedef for dynamic array of logic to be able to return these values.
|
||||
typedef logic state_t[];
|
||||
|
@ -97,10 +98,10 @@ package sram_scrambler_pkg;
|
|||
return state_out;
|
||||
endfunction : perm_layer
|
||||
|
||||
// Performs NUM_ROUNDS full encryption rounds
|
||||
// Performs NUM_SP_ROUNDS full encryption rounds
|
||||
function automatic state_t sp_encrypt(state_t data, int width, state_t key);
|
||||
logic state[] = new[width](data);
|
||||
for (int i = 0; i < NUM_ROUNDS; i++) begin
|
||||
for (int i = 0; i < NUM_SP_ROUNDS; i++) begin
|
||||
// xor the data and key
|
||||
for (int j = 0; j < width; j++) begin
|
||||
state[j] = state[j] ^ key[j];
|
||||
|
@ -119,10 +120,10 @@ package sram_scrambler_pkg;
|
|||
return state;
|
||||
endfunction : sp_encrypt
|
||||
|
||||
// Performs NUM_ROUNDS full decryption rounds
|
||||
// Performs NUM_SP_ROUNDS full decryption rounds
|
||||
function automatic state_t sp_decrypt(state_t data, int width, state_t key);
|
||||
logic state[] = new[width](data);
|
||||
for (int i = 0; i < NUM_ROUNDS; i++) begin
|
||||
for (int i = 0; i < NUM_SP_ROUNDS; i++) begin
|
||||
// xor data and key
|
||||
for (int j = 0; j < width; j++) begin
|
||||
state[j] = state[j] ^ key[j];
|
||||
|
@ -147,7 +148,7 @@ package sram_scrambler_pkg;
|
|||
// Should not be called directly.
|
||||
function automatic state_t gen_keystream(logic addr[], int addr_width,
|
||||
logic key[], logic nonce[]);
|
||||
logic [NUM_ROUNDS-1:0][SRAM_BLOCK_WIDTH-1:0] prince_result_arr;
|
||||
logic [NUM_PRINCE_ROUNDS_HALF-1:0][SRAM_BLOCK_WIDTH-1:0] prince_result_arr;
|
||||
|
||||
logic [SRAM_BLOCK_WIDTH-1:0] prince_plaintext;
|
||||
logic [SRAM_KEY_WIDTH-1:0] prince_key;
|
||||
|
@ -182,7 +183,7 @@ package sram_scrambler_pkg;
|
|||
.key(prince_key),
|
||||
.old_key_schedule(0),
|
||||
.ciphertext(prince_result_arr));
|
||||
prince_result = prince_result_arr[NUM_ROUNDS-1];
|
||||
prince_result = prince_result_arr[NUM_PRINCE_ROUNDS_HALF-1];
|
||||
|
||||
key_out = {<< {prince_result}};
|
||||
|
||||
|
@ -234,7 +235,7 @@ package sram_scrambler_pkg;
|
|||
|
||||
endfunction : decrypt_sram_addr
|
||||
|
||||
// SRAM data encryption is more involved, we need to run 2 rounds of PRINCE on the nonce and key
|
||||
// SRAM data encryption is more involved, we need to run 3 rounds of PRINCE on the nonce and key
|
||||
// and then XOR the result with the data.
|
||||
//
|
||||
// Optionally, the XORed data can be passed through the S&P network.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:mem_model"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:push_pull_agent:0.1"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -142,12 +142,14 @@ class push_pull_agent_cfg #(parameter int HostDataWidth = 32,
|
|||
// Setter method for the user data queues - must be called externally to place specific user-data
|
||||
// to be sent by the driver.
|
||||
function void add_h_user_data(bit [HostDataWidth-1:0] data);
|
||||
`uvm_info(`gfn, $sformatf("Added h user data %p", data), UVM_HIGH)
|
||||
h_user_data_q.push_back(data);
|
||||
endfunction
|
||||
|
||||
// Setter method for the user data queues - must be called externally to place specific user-data
|
||||
// to be sent by the driver.
|
||||
function void add_d_user_data(bit [DeviceDataWidth-1:0] data);
|
||||
`uvm_info(`gfn, $sformatf("Added d user data %p", data), UVM_HIGH)
|
||||
d_user_data_q.push_back(data);
|
||||
endfunction
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -21,9 +21,10 @@ class push_pull_monitor #(parameter int HostDataWidth = 32,
|
|||
|
||||
task run_phase(uvm_phase phase);
|
||||
@(posedge cfg.vif.rst_n);
|
||||
cfg.in_reset = 0;
|
||||
fork
|
||||
monitor_reset();
|
||||
collect_trans(phase);
|
||||
collect_trans();
|
||||
// Collect partial pull reqs for the reactive pull device agent.
|
||||
collect_pull_req();
|
||||
collect_cov();
|
||||
|
@ -49,7 +50,7 @@ class push_pull_monitor #(parameter int HostDataWidth = 32,
|
|||
// Collect fully-completed transactions.
|
||||
//
|
||||
// TODO : sample covergroups
|
||||
virtual protected task collect_trans(uvm_phase phase);
|
||||
virtual protected task collect_trans();
|
||||
if (cfg.agent_type == PushAgent) begin
|
||||
forever begin
|
||||
@(cfg.vif.mon_cb);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
CAPI=2:
|
||||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
name: "lowrisc:dv:str_utils"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
2
vendor/lowrisc_ip/dv/tools/common.tcl
vendored
2
vendor/lowrisc_ip/dv/tools/common.tcl
vendored
|
@ -1,4 +1,4 @@
|
|||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
|
2
vendor/lowrisc_ip/dv/tools/dvsim/bazel.hjson
vendored
2
vendor/lowrisc_ip/dv/tools/dvsim/bazel.hjson
vendored
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
@ -52,14 +52,14 @@
|
|||
// in two ways. One of them is setting the pre-processor macro `BUILD_SEED` to the seed value,
|
||||
// which is done below. The SystemVerilog testbench sources can use the `BUILD_SEED` macro
|
||||
// value to set some design constants (such as parameters) upon instantiation. The `BUILD_SEED`,
|
||||
// if not set externally (by passing the --build-seed switch) is set to 1 in
|
||||
// `hw/dv/sv/dv_utils/dv_macros.svh`. The other way is by passing the {seed} value to utility
|
||||
// scripts that generate packages that contain randomized constants. These utility scripts can
|
||||
// be invoked as a `pre_build_cmd`, wrapped within the `build_seed` sim mode in the DUT
|
||||
// if not set externally (by passing the --build-seed switch) is set to 1 in
|
||||
// `hw/dv/sv/dv_utils/dv_macros.svh`. The other way is by passing the {seed} value to utility
|
||||
// scripts that generate packages that contain randomized constants. These utility scripts can
|
||||
// be invoked as a `pre_build_cmd`, wrapped within the `build_seed` sim mode in the DUT
|
||||
// simulation configuration Hjson file. All forms of build randomization must be wrapped within
|
||||
// this `build_seed` sim mode. They will all use the same {seed} value, which allows us to
|
||||
// deterministically reproduce failures. The `--build-seed` switch is expected to be passed
|
||||
// when running the nightly regressions. The `seed` value set by dvsim is a 32-bit unsigned
|
||||
// this `build_seed` sim mode. They will all use the same {seed} value, which allows us to
|
||||
// deterministically reproduce failures. The `--build-seed` switch is expected to be passed
|
||||
// when running the nightly regressions. The `seed` value set by dvsim is a 32-bit unsigned
|
||||
// integer (unless specified on the command-line).
|
||||
{
|
||||
name: build_seed
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
2
vendor/lowrisc_ip/dv/tools/dvsim/dsim.hjson
vendored
2
vendor/lowrisc_ip/dv/tools/dvsim/dsim.hjson
vendored
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
5
vendor/lowrisc_ip/dv/tools/dvsim/sim.mk
vendored
5
vendor/lowrisc_ip/dv/tools/dvsim/sim.mk
vendored
|
@ -1,4 +1,4 @@
|
|||
# Copyright lowRISC contributors.
|
||||
# Copyright lowRISC contributors (OpenTitan project).
|
||||
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
|
@ -124,8 +124,7 @@ ifneq (${sw_images},)
|
|||
--output=label_kind | cut -f1 -d' '); \
|
||||
if [[ $${kind} == "opentitan_test" \
|
||||
|| $${bazel_label} == "//sw/device/lib/testing/test_rom:test_rom_sim_dv" \
|
||||
|| $${bazel_label} == "//sw/device/silicon_creator/rom:rom_with_real_keys_sim_dv" \
|
||||
|| $${bazel_label} == "//sw/device/silicon_creator/rom:rom_with_fake_keys_sim_dv" ]]; then \
|
||||
|| $${bazel_label} == "//sw/device/silicon_creator/rom:mask_rom_sim_dv" ]]; then \
|
||||
for artifact in $$($${bazel_cmd} cquery $${bazel_airgapped_opts} \
|
||||
$${bazel_label} \
|
||||
--ui_event_filters=-info \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright lowRISC contributors.
|
||||
// Copyright lowRISC contributors (OpenTitan project).
|
||||
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
{
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue