From b8c0536da225a146eece91c17082e279243380dc Mon Sep 17 00:00:00 2001 From: "Pavel V. Shatov (Meister)" Date: Mon, 20 Jan 2020 23:56:15 +0300 Subject: Updated uOP engine to match the changes made to the general worker module (modular subtraction was split into three micro-operations instead of one). --- rtl/modexpng_uop_engine.v | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/rtl/modexpng_uop_engine.v b/rtl/modexpng_uop_engine.v index 2046db7..e5e8daf 100644 --- a/rtl/modexpng_uop_engine.v +++ b/rtl/modexpng_uop_engine.v @@ -336,7 +336,9 @@ module modexpng_uop_engine wire uop_opcode_is_wrk = (uop_data_opcode_dec == UOP_OPCODE_COPY_CRT_Y2X ) || (uop_data_opcode_dec == UOP_OPCODE_COPY_LADDERS_X2Y ) || (uop_data_opcode_dec == UOP_OPCODE_CROSS_LADDERS_X2Y ) || - (uop_data_opcode_dec == UOP_OPCODE_MODULAR_SUBTRACT ) || + (uop_data_opcode_dec == UOP_OPCODE_MODULAR_SUBTRACT_X ) || + (uop_data_opcode_dec == UOP_OPCODE_MODULAR_SUBTRACT_Y ) || + (uop_data_opcode_dec == UOP_OPCODE_MODULAR_SUBTRACT_Z ) || (uop_data_opcode_dec == UOP_OPCODE_MODULAR_REDUCE_INIT ) || (uop_data_opcode_dec == UOP_OPCODE_PROPAGATE_CARRIES ) || (uop_data_opcode_dec == UOP_OPCODE_MERGE_LH ) || @@ -535,8 +537,10 @@ module modexpng_uop_engine update_rdct_params(uop_data_sel_wide_out_dec, uop_data_sel_narrow_out_dec); end // - UOP_OPCODE_MODULAR_SUBTRACT: - update_wrk_params(BANK_DNC, uop_data_sel_narrow_in_dec, uop_data_sel_wide_out_dec, uop_data_sel_narrow_out_dec, uop_data_opcode_dec); + UOP_OPCODE_MODULAR_SUBTRACT_X, + UOP_OPCODE_MODULAR_SUBTRACT_Y, + UOP_OPCODE_MODULAR_SUBTRACT_Z: + update_wrk_params(uop_data_sel_wide_in_dec, uop_data_sel_narrow_in_dec, uop_data_sel_wide_out_dec, uop_data_sel_narrow_out_dec, uop_data_opcode_dec); // UOP_OPCODE_MODULAR_REDUCE_INIT: update_wrk_params(BANK_DNC, uop_data_sel_narrow_in_dec, BANK_DNC, BANK_DNC, uop_data_opcode_dec); @@ -627,7 +631,9 @@ module modexpng_uop_engine update_rdct_length(word_index_last_mux); end // - UOP_OPCODE_MODULAR_SUBTRACT: + UOP_OPCODE_MODULAR_SUBTRACT_X, + UOP_OPCODE_MODULAR_SUBTRACT_Y, + UOP_OPCODE_MODULAR_SUBTRACT_Z: update_wrk_length(word_index_last_mux, OP_ADDR_DNC); // UOP_OPCODE_MODULAR_REDUCE_INIT: -- cgit v1.2.3