| CAPI=2: |
| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| name: "lowrisc:ip:aes:1.0" |
| description: "AES unit" |
| filesets: |
| files_rtl: |
| depend: |
| - lowrisc:prim:all |
| - lowrisc:prim:lc_sync |
| - lowrisc:prim:lfsr |
| - lowrisc:prim:sparse_fsm |
| - lowrisc:prim:util |
| - lowrisc:ip:tlul |
| - lowrisc:ip:lc_ctrl_pkg |
| - lowrisc:ip:edn_pkg |
| - lowrisc:ip:keymgr_pkg |
| files: |
| - rtl/aes_reg_pkg.sv |
| - rtl/aes_pkg.sv |
| - rtl/aes_reg_top.sv |
| - rtl/aes_ctrl_reg_shadowed.sv |
| - rtl/aes_core.sv |
| - rtl/aes_ctr.sv |
| - rtl/aes_ctr_fsm.sv |
| - rtl/aes_ctr_fsm_p.sv |
| - rtl/aes_ctr_fsm_n.sv |
| - rtl/aes_control.sv |
| - rtl/aes_control_fsm.sv |
| - rtl/aes_control_fsm_p.sv |
| - rtl/aes_control_fsm_n.sv |
| - rtl/aes_reg_status.sv |
| - rtl/aes_sel_buf_chk.sv |
| - rtl/aes_cipher_core.sv |
| - rtl/aes_cipher_control.sv |
| - rtl/aes_cipher_control_fsm.sv |
| - rtl/aes_cipher_control_fsm_p.sv |
| - rtl/aes_cipher_control_fsm_n.sv |
| - rtl/aes_sub_bytes.sv |
| - rtl/aes_sbox.sv |
| - rtl/aes_sbox_lut.sv |
| - rtl/aes_sbox_canright_pkg.sv |
| - rtl/aes_sbox_canright.sv |
| - rtl/aes_sbox_canright_masked_noreuse.sv |
| - rtl/aes_sbox_canright_masked.sv |
| - rtl/aes_sbox_dom.sv |
| - rtl/aes_shift_rows.sv |
| - rtl/aes_mix_columns.sv |
| - rtl/aes_mix_single_column.sv |
| - rtl/aes_key_expand.sv |
| - rtl/aes_prng_clearing.sv |
| - rtl/aes_prng_masking.sv |
| - rtl/aes.sv |
| file_type: systemVerilogSource |
| |
| files_verilator_waiver: |
| depend: |
| # common waivers |
| - lowrisc:lint:common |
| - lowrisc:lint:comportable |
| files: |
| - lint/aes.vlt |
| file_type: vlt |
| |
| files_ascentlint_waiver: |
| depend: |
| # common waivers |
| - lowrisc:lint:common |
| - lowrisc:lint:comportable |
| files: |
| - lint/aes.waiver |
| file_type: waiver |
| |
| files_veriblelint_waiver: |
| depend: |
| # common waivers |
| - lowrisc:lint:common |
| - lowrisc:lint:comportable |
| |
| parameters: |
| SYNTHESIS: |
| datatype: bool |
| paramtype: vlogdefine |
| |
| |
| targets: |
| default: &default_target |
| filesets: |
| - tool_verilator ? (files_verilator_waiver) |
| - tool_ascentlint ? (files_ascentlint_waiver) |
| - tool_veriblelint ? (files_veriblelint_waiver) |
| - files_rtl |
| toplevel: aes |
| |
| lint: |
| <<: *default_target |
| default_tool: verilator |
| parameters: |
| - SYNTHESIS=true |
| tools: |
| verilator: |
| mode: lint-only |
| verilator_options: |
| - "-Wall" |
| |
| syn: |
| <<: *default_target |
| # TODO: set default to DC once |
| # this option is available |
| # olofk/edalize#89 |
| default_tool: icarus |
| parameters: |
| - SYNTHESIS=true |