From 84164cf6ae48923dfd0bd8a4d818642cd39a4e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Stro=CC=88mbergson?= Date: Thu, 5 Jul 2018 09:22:43 +0200 Subject: Removed the streaming interface in favor of a normal address based interface. A bit more kludgy, esp since we need to use bank switching to be able to provide enough address space. But this removes a possible problem of the streaming address counter running wild. --- src/rtl/keywrap_core.v | 44 ++------------------------------------------ 1 file changed, 2 insertions(+), 42 deletions(-) (limited to 'src/rtl/keywrap_core.v') diff --git a/src/rtl/keywrap_core.v b/src/rtl/keywrap_core.v index 59dbacb..e7b7749 100644 --- a/src/rtl/keywrap_core.v +++ b/src/rtl/keywrap_core.v @@ -59,8 +59,8 @@ module keywrap_core ( input wire [63 : 0] a_init, output wire [63 : 0] a_result, - input wire api_cs, input wire api_we, + input wire [13 : 0] api_addr, input wire [31 : 0] api_wr_data, output wire [31 : 0] api_rd_data ); @@ -102,12 +102,6 @@ module keywrap_core ( reg valid_new; reg valid_we; - reg [13 : 0] api_addr_ctr_reg; - reg [13 : 0] api_addr_ctr_new; - reg api_addr_ctr_we; - reg api_addr_ctr_inc; - reg api_addr_ctr_rst; - reg [12 : 0] block_ctr_reg; reg [12 : 0] block_ctr_new; reg block_ctr_we; @@ -150,7 +144,7 @@ module keywrap_core ( .clk(clk), .api_we(api_we), - .api_addr(api_addr_ctr_reg), + .api_addr(api_addr), .api_wr_data(api_wr_data), .api_rd_data(api_rd_data), @@ -198,7 +192,6 @@ module keywrap_core ( a_reg <= 64'h0; ready_reg <= 1'h1; valid_reg <= 1'h1; - api_addr_ctr_reg <= 14'h0; block_ctr_reg <= 13'h0; iteration_ctr_reg <= 3'h0; keywrap_core_ctrl_reg <= CTRL_IDLE; @@ -215,9 +208,6 @@ module keywrap_core ( if (valid_we) valid_reg <= valid_new; - if (api_addr_ctr_we) - api_addr_ctr_reg <= api_addr_ctr_new; - if (block_ctr_we) block_ctr_reg <= block_ctr_new; @@ -262,28 +252,6 @@ module keywrap_core ( end - //---------------------------------------------------------------- - // api_addr_ctr - //---------------------------------------------------------------- - always @* - begin : api_addr_ctr - api_addr_ctr_new = 14'h0; - api_addr_ctr_we = 1'h0; - - if (api_addr_ctr_rst) - begin - api_addr_ctr_new = 14'h0; - api_addr_ctr_we = 1'h1; - end - - if (api_addr_ctr_inc) - begin - api_addr_ctr_new = api_addr_ctr_reg + 1'h1; - api_addr_ctr_we = 1'h1; - end - end - - //---------------------------------------------------------------- // block_ctr //---------------------------------------------------------------- @@ -354,8 +322,6 @@ module keywrap_core ( update_state = 1'h0; aes_init = 1'h0; aes_next = 1'h0; - api_addr_ctr_rst = 1'h0; - api_addr_ctr_inc = 1'h0; block_ctr_inc = 1'h0; block_ctr_rst = 1'h0; iteration_ctr_inc = 1'h0; @@ -366,10 +332,6 @@ module keywrap_core ( keywrap_core_ctrl_we = 1'h0; - if (api_cs && api_we) - api_addr_ctr_inc = 1'h1; - - case (keywrap_core_ctrl_reg) CTRL_IDLE: begin @@ -397,7 +359,6 @@ module keywrap_core ( CTRL_INIT_START: begin - api_addr_ctr_rst = 1'h1; aes_init = 1'h1; keywrap_core_ctrl_new = CTRL_INIT_WAIT; keywrap_core_ctrl_we = 1'h1; @@ -489,7 +450,6 @@ module keywrap_core ( ready_we = 1'h1; valid_new = 1'h1; valid_we = 1'h1; - api_addr_ctr_rst = 1'h1; keywrap_core_ctrl_new = CTRL_IDLE; keywrap_core_ctrl_we = 1'h1; end -- cgit v1.2.3