/4096bit-IDDMM-Verilog

4096bit Iterative digit-digit Montgomery Multiplication in Verilog

Primary LanguageVerilog

4096bit 蒙哥马利域模乘算法

IDDMM-MMP 4096bit 蒙哥马利域模乘算法说明

快速仿真说明

  1. 预先安装iverilogmodelsim仿真器,确保仿真器在系统环境目录内。
  2. 执行顶层仿真 ./sim/mmp_iddmm_sp_tb/run_iverilog.bat./sim/mmp_iddmm_sp_tb/run_modelsim.bat
  3. 可在run_iverilog.bat内或do.do内定义宏_VIEW_WAVEFORM_用来查看单次波形,否则testbench将会进行随机测试,比较IDDMM-MMP和R2MM算法的一致性。
  4. 使用vivado 2017.4打开./vivado-mmp内的vivado工程,时序情况可在该工程内查看,xdc内默认时钟304MHz。
  5. 说明文档在./output-doc内。所有源码包括python模型在./src

指标速览

  1. 4096bit蒙哥马利域模乘算法
  2. 纯verilog描述
  3. 乘法器使用*实现
  4. FPGA综合频率 304 MHz
  5. 周期数 2293 cycles
  6. 等效逻辑门数147KGate
  7. 等效RAM用量 16Kbit
  8. 可进行m固定的随机验证
  9. 算法返回 x * y * R-1 mod m, R 需要预先计算

参考

https://youtu.be/cbGB__V8MNk

Authors

2020, HDU E-M-T GROUP

helrori2011 helrori2011@gmail.com

muyexinya

License

MIT