- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RSA公钥加密算法 关键路径优化 关键路径时序 低功耗优化 现有RSA电路功耗5-10mA 运行RSA时芯片读写距离短 低功耗优化 低功耗SRAM 低功耗优化 门控时钟 低功耗优化 门控时钟 低功耗优化 门控时钟 低功耗优化 低功耗全加器 低功耗优化 低电压设计 RSA公钥加密算法 低电压设计 RSA公钥加密算法 谢谢! 如何实现1024位大整数加法a+b? 超前进位逻辑代价: 逻辑复杂度: O(N2)= O(10242); 逻辑延时级数: log2N + 3= 13 实现代价太大,无法实现!!! 如何实现1024位大整数加法a+b? 缩减加法器位数,如采用基本的32位加法器 时钟参与下,逐个相加 每次相加得到累加和以及进位 缺点:需要多个时钟,1024位加法需要32个时钟才能产生最终结果 优点:可使用32位超前进位加法器、减少时延、增加主频、降低功耗 如何实现1024位大整数乘法p*q? 回到刚才讲的乘法器 1024位加法器得到较好的实现 然而1024个部分和累加需要1024次加法操作 每个1024位加法需要32个时钟 总共需要1024*32=32768个时钟 时间代价太大!!! 如何实现大整数乘法p*q? 采用多个时钟策略 每个时钟处理w位的乘法器,可以取w=32 32位乘法器可以采用基于booth编码和CSA加法器的乘法器 对于1024位乘法器,所需时钟为i*j=32*32=1024个时钟 RSA公钥加密算法 如何存储大数p、q、进位C、中间结果t以及乘法结果? p:1024bit q:1024bit 乘法结果:2048bit C:32bit t:32bit 答案:寄存器组 RAM 用reg型变量生成触发器举例: module rw2( clk, d, out1, out2 ); input clk, d; output out1, out2; reg out1; wire out2; assign out2 = d ~out1 ; always @(posedge clk) begin out1 = d ; end endmodule 过程赋值语句 连续赋值语句 d out2 AND2i1 clk out1 D Q DFF 沿触发 寄存器的使用 寄存大整数可以使用memory型变量吗? 含义不同 reg [31:0] rega;//一个32位的寄存器 reg [31:0] mema [31:0] ;//由32个32位寄存器组成的1024bit存储器 必须指明存储单元的地址! 0 n-1 0 n-1 n-2 · · · 地址 赋值方式不同 一个n位的寄存器可用一条赋值语句赋值; 一个完整的存储器则不行!若要对某存储器中的存储单元进行读写操作,必须指明该单元在存储器中的地址! [例] rega = 0; //合法赋值语句 mema = 0 ; //非法赋值语句 mema[8] = 1 ; //合法赋值语句 mema[1023:0] = 0 ;//合法赋值语句 memory型变量 与reg型变量的区别 寄存大整数使用SRAM 1位寄存器实现代价:70μm2 1024位寄存器实现代价:71531μm2 还不包括组合逻辑、布线的面积 1位寄存器功耗:0.6μW@15MHz 1024位寄存器功耗:0.3mA 还不包括组合逻辑的功耗 SMIC0.18μm工艺库 寄存大整数使用SRAM 1024位RAM面积: 28352 μm2 包括组合逻辑、布线的面积 功耗:0.15mA@15MHz 其它优点:方便floorplan布局布线 结论:大整数的寄存要使用RAM 面积小、功耗小 SMIC0.18μm工艺库 SRAM存储器 一、组成: 存储矩阵 (n行m列) 行列地址 译码电路 片选和读写 控制电路 RAM:可以在任意时刻,对任意选中的存储单元进行信息的存入(写)或取出(读)的信息操作。 分类:根据内容结构不同可分为: SRAM(静态随机存取)、DRAM(动态随机存取)。 优点:读写方便,使用灵活。 缺点:掉电丢失信息。 SRAM存储器 当给定行和列的地址时,行和列的地址译码器分别选中相应的行线和列线,这两种输出线(行与列)的交点处的存储单元便被选中(注:选中的存储器可能是一位也可能是多位)。 工作过程:
原创力文档


文档评论(0)