在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4693|回复: 6

[求助] 用verilog实现32位RSA的加密算法,卡了好久了。

[复制链接]
发表于 2018-5-13 14:45:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 jk38038 于 2018-5-13 15:04 编辑

刚开始学verilog一个礼拜,老师要求用verilog实现32位RSA的加密算法,我自己尝试编了一下,发现问题好多,不知道怎么改,有没有大佬帮着看一下代码,哪里需要改,主要就计算了一个求幂的运算,里面调用了一个除法求余的函数,代码如下:
module rsa(e,in,key,out);
input[31:0] e;
input[31:0] in;
input[31:0] key;
output[31:0]out;
reg [31:0] n;
integer i;

for (i=N;i>0;i=i--)
begin
n=(e[ i ] )? remainder(out*out*in,key):remainder(out*out,key);

out=n[31:0];

end
function [31:0] remainder;

input[31:0] a;   
input[31:0] b;  

reg[31:0] tempa;  

reg[31:0] tempb;  
reg[63:0] temp_a;  
reg[63:0] temp_b;  
  
integer i;
begin
  

    tempa <= a;  
    tempb <= b;  

    temp_a = {32'h00000000,tempa};  
    temp_b = {tempb,32'h00000000};   
    for(i = 0;i < 32;i = i + 1)  
        begin  
            temp_a = {temp_a[62:0],1'b0};  
            if(temp_a[63:32] >= tempb)  
                temp_a = temp_a - temp_b + 1'b1;  
            else  
                temp_a = temp_a;  
        end  
  
   
    remainder <= temp_a[63:32];  

end
  
endfunction


endmodule

主要报错有这两条:Error (10170): Verilog hdl syntax error at rsa.v(10) near text "for";  expecting "endmodule"
Error (10280): Verilog HDL Port Declaration error at rsa.v(12): cannot redeclare port "key" because it is already fully declared
改了半天都有问题,这个key重复定义的问题有没有人解释一下
发表于 2018-5-14 15:07:57 | 显示全部楼层
学了一个礼拜,看起来楼主还没有掌握HDL的意义,你这段代码一看就是搞软件的人写的,但HDL是硬件描述语言,需要和实际的硬件电路去对应的,你这个代码无法找到对应的电路结构,for循环不能这么写的,稍微转换一下头脑,有一个数字逻辑的思想才行,你再看看verilog的语法书。你这里问题确实有点多。
发表于 2018-5-17 10:16:10 | 显示全部楼层
仔细看一下verilog语法吧
发表于 2018-5-18 10:10:49 | 显示全部楼层
verilog里没有++或者--的。for循环里老老实实i=i-1'b1吧
 楼主| 发表于 2018-5-19 19:25:23 | 显示全部楼层
回复 4# orlye


   感谢赐教
 楼主| 发表于 2018-5-19 19:27:11 | 显示全部楼层
回复 2# gaurson


求赐教  for 循环要怎么写可以找到对应的电路结构呢
发表于 2018-5-20 21:17:15 | 显示全部楼层
回复 6# jk38038


   你可以了解一下for...generate的语法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 05:29 , Processed in 0.021093 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表