des加密算法verilog实现源代码资料

上传人:w****i 文档编号:102963363 上传时间:2019-10-05 格式:DOC 页数:39 大小:185.50KB
返回 下载 相关 举报
des加密算法verilog实现源代码资料_第1页
第1页 / 共39页
des加密算法verilog实现源代码资料_第2页
第2页 / 共39页
des加密算法verilog实现源代码资料_第3页
第3页 / 共39页
des加密算法verilog实现源代码资料_第4页
第4页 / 共39页
des加密算法verilog实现源代码资料_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《des加密算法verilog实现源代码资料》由会员分享,可在线阅读,更多相关《des加密算法verilog实现源代码资料(39页珍藏版)》请在金锄头文库上搜索。

1、module des_top(input clk, input des_enable, input reset, input des_mode, input 1:64 data_i, input 1:64 key_i, output wire 1:64 data_o,output ready_o);wire 3:0 inter_num_curr;wire 1:32 R_i_var, L_i_var;wire 1:56 Key_i_var_out;wire 1:64 data_o_var_t;wire 1:32 R_i, L_i;wire 1:32 R_o, L_o;wire 1:56 Key_

2、o;wire 1:28 C0, D0;IP IP1(.in(data_i), .L_i_var(L_i_var), .R_i_var(R_i_var);IP_niIP_ni(.in(data_o_var_t), .out(data_o);pc_1 pc_1(.key_i(key_i), .C0(C0), .D0(D0);/F(R,K)des_f des_f1(.clk(clk), .reset(reset), .des_mode(des_mode), .inter_num_i(inter_num_curr), .R_i(R_i), .L_i(L_i), .Key_i(Key_i_var_out

3、), .R_o(R_o), .L_o(L_o), .Key_o(Key_o); /contral 16 F(R,K)contrl contrl1(.data_o_var_t(data_o_var_t), .inter_num_curr(inter_num_curr), .Key_i_var_out(Key_i_var_out), .R_i(R_i), .L_i(L_i), .ready_o(ready_o), .L_o(L_o), .R_o(R_o), .R_i_var(R_i_var), .L_i_var(L_i_var), .Key_o(Key_o), .C0(C0), .D0(D0),

4、.clk(clk), .reset(reset), .des_enable(des_enable);endmodulemodule contrl(output 1:64 data_o_var_t, output reg 3:0 inter_num_curr, output reg 1:56 Key_i_var_out, output reg 1:32 R_i, L_i, output reg ready_o, input 1:32 L_o, input 1:32 R_o, input 1:32 R_i_var, L_i_var, input 1:56 Key_o, input 1:28 C0,

5、 D0, input clk, reset, des_enable); reg 3:0 inter_num_next;assign data_o_var_t = (ready_o = 1b1)?L_o,R_o:64hzzzzzzzzzzzzzzzz;always (posedge clk or negedge reset)if(reset = 1b0)begin inter_num_next = 4d0; inter_num_curr = 4d0; ready_o = 1b0; endelse if(des_enable)beginif(ready_o = 1b0)inter_num_curr

6、 = inter_num_next;endalways (posedge clk or negedge reset)beginif(reset = 1b0)ready_o = 1b0;else if(inter_num_curr = 4d15) ready_o = 1b1; else ready_o = 1b0;end always (*)begincase(inter_num_curr)4d0:begin/ready_o = 1b0; R_i = R_i_var; L_i = L_i_var; Key_i_var_out = C0, D0; inter_num_next = 4d1; end

7、4d1: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d2;end4d2: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d3;end4d3: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d4;end4d4: begin/ready_o = 1b0

8、; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d5;end4d5: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d6;end4d6: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d7;end4d7: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Ke

9、y_i_var_out = Key_o;inter_num_next = 4d8;end4d8: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d9;end4d9: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d10;end4d10: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;in

10、ter_num_next = 4d11;end4d11: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d12;end4d12: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d13;end4d13: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d14;end4d14: begin/ready_o = 1b0; R_i = R_o;L_i = L_o;Key_i_var_out = Key_o;inter_num_next = 4d15;end4d15:if(ready_o = 1b0) begin R_i = R_o; L_i = L_o; Key_i_var_out = Key_o;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号