OpenCores
URL https://opencores.org/ocsvn/hight/hight/trunk

Subversion Repositories hight

[/] [hight/] [trunk/] [rtl/] [HIGHT_CORE_TOP.v] - Rev 2

Compare with Previous | Blame | View Log

//////////////////////////////////////////////////////////////////////
////                                                              ////
////  Top module for HIGHT Crypto Core                            ////
////                                                              ////
////  This file is part of the HIGHT Crypto Core project          ////
////  http://github.com/OpenSoCPlus/hight_crypto_core             ////
////  http://www.opencores.org/project,hight                      ////
////                                                              ////
////  Description                                                 ////
////  __description__                                             ////
////                                                              ////
////  Author(s):                                                  ////
////      - JoonSoo Ha, json.ha@gmail.com                         ////
////      - Younjoo Kim, younjookim.kr@gmail.com                  ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
////                                                              ////
//// Copyright (C) 2015 Authors, OpenSoCPlus and OPENCORES.ORG    ////
////                                                              ////
//// This source file may be used and distributed without         ////
//// restriction provided that this copyright statement is not    ////
//// removed from the file and that any derivative work contains  ////
//// the original copyright notice and the associated disclaimer. ////
////                                                              ////
//// This source file is free software; you can redistribute it   ////
//// and/or modify it under the terms of the GNU Lesser General   ////
//// Public License as published by the Free Software Foundation; ////
//// either version 2.1 of the License, or (at your option) any   ////
//// later version.                                               ////
////                                                              ////
//// This source is distributed in the hope that it will be       ////
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
//// PURPOSE.  See the GNU Lesser General Public License for more ////
//// details.                                                     ////
////                                                              ////
//// You should have received a copy of the GNU Lesser General    ////
//// Public License along with this source; if not, download it   ////
//// from http://www.opencores.org/lgpl.shtml                     ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
 
module HIGHT_CORE_TOP(
	rstn         , 
	clk          ,  
 
	i_mk_rdy     ,  
	i_mk         ,  
 
	i_post_rdy   ,  
 
	i_op         ,  
 
	i_text_val   ,  
	i_text_in    ,  
 
	o_text_done  ,  
	o_text_out   , 
 
	o_rdy            
);
 
 
//=====================================
//
//          PARAMETERS 
//
//=====================================
 
 
//=====================================
//
//          I/O PORTS 
//
//=====================================
input        rstn         ; 
input        clk          ;  
 
input        i_mk_rdy     ;  
input[127:0] i_mk         ;  
 
input        i_post_rdy   ;  
 
input        i_op         ;  
 
input        i_text_val   ;  
input[63:0]  i_text_in    ;  
 
output       o_text_done  ;  
output[63:0] o_text_out   ;  
 
output       o_rdy        ;       
 
 
//=====================================
//
//          REGISTERS
//
//=====================================
 
 
//=====================================
//
//          WIRES
//
//=====================================
wire[31:0]  w_rnd_key     ; 
 
wire[2:0]   w_xf_sel      ;
wire        w_rf_final    ;
 
wire        w_key_sel     ;
wire[4:0]   w_rnd_idx     ;
wire        w_wf_post_pre ;
 
 
//=====================================
//
//          MAIN
//
//=====================================
// CYPTO_PATH instance 
CRYPTO_PATH u_CRYPTO_PATH(
	.rstn           ( rstn          ) ,   
	.clk            ( clk           ) ,  
 
	.i_op           ( i_op          ) ,  
 
	.i_wrsk         ( w_rnd_key     ) ,   
 
	.i_text_in      ( i_text_in     ) ,  
 
	.i_xf_sel       ( w_xf_sel      ) ,   
	.i_rf_final     ( w_rf_final    ) ,  
 
	.o_text_out     ( o_text_out    )    
);
 
 
// KEY_SCHED instance
KEY_SCHED u_KEY_SCHED(
	.rstn           ( rstn          ) , 
	.clk            ( clk           ) ,  
 
	.i_mk           ( i_mk          ) ,  
 
	.i_op           ( i_op          ) ,  
 
	.i_key_sel      ( w_key_sel     ) , 
	.i_rnd_idx      ( w_rnd_idx     ) , 
	.i_wf_post_pre  ( w_wf_post_pre ) , 
 
	.o_rnd_key      ( w_rnd_key     )   
);
 
 
// CONTROL instance
CONTROL u_CONTROL(
	.rstn           ( rstn          ) ,   
	.clk            ( clk           ) ,   
 
	.i_mk_rdy       ( i_mk_rdy      ) , 
	.i_post_rdy     ( i_post_rdy    ) , 
	.i_text_val     ( i_text_val    ) ,  
 
 
	.o_rdy          ( o_rdy         ) ,  
	.o_text_done    ( o_text_done   ) ,  
 
	.o_xf_sel       ( w_xf_sel      ) , 
	.o_rf_final     ( w_rf_final    ) ,  
 
	.o_key_sel      ( w_key_sel     ) ,  
	.o_rnd_idx      ( w_rnd_idx     ) ,   
	.o_wf_post_pre  ( w_wf_post_pre )     
);
 
 
endmodule
 
 
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.