diff --git a/.github/workflow_metadata/pr_hash b/.github/workflow_metadata/pr_hash index 345ef82..7d53355 100644 --- a/.github/workflow_metadata/pr_hash +++ b/.github/workflow_metadata/pr_hash @@ -1 +1 @@ -111d16ee2f110fee7f711f78fd5440db8226f6ca262388d96e92fe0a3ce18a51c81b3ceb16a6524be00cd21c4680a85a \ No newline at end of file +ba20835b337f8b0f7b0b5b05412ea3a86284471103155009a5a86ef41d4be1f8eda2f1087224a0adafb950fac5d09b68 \ No newline at end of file diff --git a/.github/workflow_metadata/pr_timestamp b/.github/workflow_metadata/pr_timestamp index b627b51..89ba20b 100644 --- a/.github/workflow_metadata/pr_timestamp +++ b/.github/workflow_metadata/pr_timestamp @@ -1 +1 @@ -1732302200 \ No newline at end of file +1732586578 \ No newline at end of file diff --git a/config/compilespecs.yml b/config/compilespecs.yml index d0271a8..26eaafb 100644 --- a/config/compilespecs.yml +++ b/config/compilespecs.yml @@ -1,4 +1,4 @@ -name: adams-bridge_lib +name: adams_bridge_lib files: # Adams Bridge design - src/abr_libs/config/compile.yml diff --git a/src/abr_libs/config/mldsa_mvc_lib.vf b/src/abr_libs/config/mldsa_mvc_lib.vf new file mode 100644 index 0000000..a9d638c --- /dev/null +++ b/src/abr_libs/config/mldsa_mvc_lib.vf @@ -0,0 +1,18 @@ ++define+MAP_PROT_ATTR ++incdir+${UVM_HOME}/src ++incdir+${UVM_HOME}/src/dpi ++incdir+${QUESTA_MVC_HOME}/questa_mvc_src/sv ++incdir+${QUESTA_MVC_HOME}/questa_mvc_src/sv/ahb ++incdir+${QUESTA_MVC_HOME}/questa_mvc_src/sv/ahb/modules ++incdir+${QUESTA_MVC_HOME}/questa_mvc_src/sv/apb3 ++incdir+${QUESTA_MVC_HOME}/questa_mvc_src/sv/apb3/modules +${UVM_HOME}/src/uvm_pkg.sv +${QUESTA_MVC_HOME}/include/questa_mvc_svapi.svh +${QUESTA_MVC_HOME}/questa_mvc_src/sv/mvc_pkg.sv +${QUESTA_MVC_HOME}/questa_mvc_src/sv/apb3/mgc_apb3_v1_0_pkg.sv +${QUESTA_MVC_HOME}/questa_mvc_src/sv/ahb/mgc_ahb_v2_0_pkg.sv +${QUESTA_MVC_HOME}/questa_mvc_src/sv/ahb/modules/ahb_lite_slave.sv +${QUESTA_MVC_HOME}/questa_mvc_src/sv/ahb/modules/ahb_lite_monitor.sv +${QUESTA_MVC_HOME}/questa_mvc_src/sv/apb3/modules/apb5_master.sv +${QUESTA_MVC_HOME}/questa_mvc_src/sv/apb3/modules/apb_monitor.sv +${QUESTA_MVC_HOME}/questa_mvc_src/sv/apb3/modules/apb5_monitor.sv \ No newline at end of file diff --git a/src/abr_libs/config/mldsa_uvm_lib.vf b/src/abr_libs/config/mldsa_uvm_lib.vf new file mode 100644 index 0000000..c12fb08 --- /dev/null +++ b/src/abr_libs/config/mldsa_uvm_lib.vf @@ -0,0 +1,3 @@ ++incdir+${UVM_HOME}/src ++incdir+${UVM_HOME}/src/dpi +${UVM_HOME}/src/uvm_pkg.sv \ No newline at end of file diff --git a/src/ntt_top/config/compile.yml b/src/ntt_top/config/compile.yml index dea41df..98dc4e7 100755 --- a/src/ntt_top/config/compile.yml +++ b/src/ntt_top/config/compile.yml @@ -131,7 +131,7 @@ targets: provides: [ntt_utb] schema_version: 2.4.0 requires: - - uvm_lib + - mldsa_uvm_lib - ntt_top - ntt_pkg targets: diff --git a/src/ntt_top/config/ntt_masked_mult_reduction_tb.vf b/src/ntt_top/config/ntt_masked_mult_reduction_tb.vf new file mode 100644 index 0000000..9f86117 --- /dev/null +++ b/src/ntt_top/config/ntt_masked_mult_reduction_tb.vf @@ -0,0 +1,56 @@ ++incdir+${ADAMSBRIDGE_ROOT}/src/mldsa_top/rtl ++incdir+${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl ++incdir+${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl ++incdir+${ADAMSBRIDGE_ROOT}/src/ntt_top/tb +${ADAMSBRIDGE_ROOT}/src/mldsa_top/rtl/mldsa_config_defines.svh +${ADAMSBRIDGE_ROOT}/src/mldsa_top/rtl/mldsa_params_pkg.sv +${ADAMSBRIDGE_ROOT}/src/mldsa_top/rtl/mldsa_reg_pkg.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_sva.svh +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_macros.svh +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_1r1w_ram.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_1r1w_be_ram.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_1r1w_512x4_ram.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_ram_regout.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_icg.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_2ff_sync.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_piso_4.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_piso.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_sample_buffer.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_ahb_defines_pkg.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_ahb_slv_sif.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_AND.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_delay_masked_shares.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_add_sub_mod_Boolean.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_MUX.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_Boolean_sub.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_full_adder.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_A2B_conv.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_Boolean_adder.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_B2A_conv.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_mult.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_mult_two_share.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_adder.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_add_sub_mod.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_defines_pkg.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_Arith_adder.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_butterfly2x2.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_butterfly.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_mult_dsp.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_mult_reduction.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_special_adder.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_special_adder.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_mult_redux46.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_div2.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_buffer.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_shuffle_buffer.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_twiddle_lookup.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_ctrl.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_top.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_BFU_add_sub.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_BFU_mult.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_gs_butterfly.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_pwm.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_butterfly1x2.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_hybrid_butterfly_2x2.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/tb/ntt_masked_mult_redux46_tb.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/tb/ntt_masked_mult_redux46_auto_tb.sv \ No newline at end of file diff --git a/src/ntt_top/config/ntt_top_masking_tb.vf b/src/ntt_top/config/ntt_top_masking_tb.vf new file mode 100644 index 0000000..aacbbb7 --- /dev/null +++ b/src/ntt_top/config/ntt_top_masking_tb.vf @@ -0,0 +1,55 @@ ++incdir+${ADAMSBRIDGE_ROOT}/src/mldsa_top/rtl ++incdir+${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl ++incdir+${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl ++incdir+${ADAMSBRIDGE_ROOT}/src/ntt_top/tb +${ADAMSBRIDGE_ROOT}/src/mldsa_top/rtl/mldsa_config_defines.svh +${ADAMSBRIDGE_ROOT}/src/mldsa_top/rtl/mldsa_params_pkg.sv +${ADAMSBRIDGE_ROOT}/src/mldsa_top/rtl/mldsa_reg_pkg.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_sva.svh +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_macros.svh +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_1r1w_ram.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_1r1w_be_ram.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_1r1w_512x4_ram.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_ram_regout.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_icg.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_2ff_sync.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_piso_4.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_piso.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_sample_buffer.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_ahb_defines_pkg.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_ahb_slv_sif.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_AND.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_delay_masked_shares.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_add_sub_mod_Boolean.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_MUX.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_Boolean_sub.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_full_adder.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_A2B_conv.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_Boolean_adder.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_B2A_conv.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_mult.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_mult_two_share.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_adder.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_add_sub_mod.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_defines_pkg.sv +${ADAMSBRIDGE_ROOT}/src/abr_libs/rtl/abr_masked_N_bit_Arith_adder.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_butterfly2x2.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_butterfly.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_mult_dsp.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_mult_reduction.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_special_adder.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_special_adder.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_mult_redux46.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_div2.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_buffer.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_shuffle_buffer.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_twiddle_lookup.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_ctrl.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_top.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_BFU_add_sub.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_BFU_mult.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_gs_butterfly.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_pwm.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_masked_butterfly1x2.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/rtl/ntt_hybrid_butterfly_2x2.sv +${ADAMSBRIDGE_ROOT}/src/ntt_top/tb/ntt_top_masking_tb.sv \ No newline at end of file