vdes.v

来自「一个关于DES算法的verilog语言实现,包括了各个实现模块以及测试模块」· Verilog 代码 · 共 75 行

V
75
字号
/////////////////////////////////////////////////////////////////////
////                                                             ////
////            实现模块                                         ////
////                                                             ////
/////////////////////////////////////////////////////////////////////

module vdes(desOut,desIn,vkey,dec,clk);

output [63:0] desOut;
input [63:0] desIn;
input [55:0] vkey;	 
input dec;
input clk;

reg	[3:0]	cnt;

always @(posedge clk)
   begin   
	
	$display("");
	$display("**************************************");
	$display("* Starting DES  ...                  *");
	$display("**************************************");
	$display("");  
	$display("desIn=%b",desIn);
	$display(""); 
	
	if(dec==0)	 //dec=0时解密
	   begin
		   
	  		$display("Running decrypt ...\n");

			  for(cnt=0;cnt<15;cnt=cnt+1)
				  
				  #200;

		          #10;
		
	            $display("desOut=%b",  desOut);
	 
	   end	 
	 
	 else if(dec==1)  //dec=1时加密
		 begin 			
			 
			 $display("Running encrypt ...\n");

			 for(cnt=0;cnt<15;cnt=cnt+1)
				
				  #200;
				 
		          #10;
		
	            $display("desOut=%b",  desOut);	 
		 end
			 
	
 	$display("");
	$display("**************************************");
	$display("* DES   done ...                     *");
	$display("**************************************");
	$display("");
	$finish;  
	
   end 	

des des1( .clk(	clk ),
	      .desOut( desOut ),
	      .desIn( desIn	),
	      .vkey(	vkey	),
	      .roundSel( cnt ),
	      .dec(	dec )
	     );
	
endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?