微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 有什么简单点的办法,在FPGA内部产生一个真正的随机数?

有什么简单点的办法,在FPGA内部产生一个真正的随机数?

时间:10-02 整理:3721RD 点击:
我是想加密FPGA程序,在上电后FPGA需要向加密芯片发送一串随机数,如果是伪随机数,那么每次上电发送的随机数会是一样的,因此就失去了加密作用。请问大家,有什么简单点的办法产生一个真正的随机数。

采样线路或者板级噪音

搞一组ram,不要设初始值,每次上电后应该都是随机数。

RAM应该是不行的,RAM掉电丢失数据的。
1. 如果有外挂FLASH或者EEPROM的话,可以每一秒钟产生一个随机数,写到flash的特定单元去。下次上电的时候,从flash读这个随机数,以此作为种子,FPGA再产生随机数,发送到加密芯片去。
2. 还有一种方法是利用RTC。这个问题的根本在于FPGA无法判断每次上电的状态,对于FPGA来说,每次上电都一样。所以,可以外怪一块RTC,这样一来,每次上电的时间都不一样,以这个时间作为种子,FPGA用这个来生成随机数,那么每次都不一样了。

路过学习了

使用反相器反馈环,实现随机噪声。so easy..

写一个电路,有多个timing path, 送给它一个比较高的时钟,强制让此电路产生亚稳态,多比特的结果异或之后送到一个伪随机数发生器。

直接写个大组合逻辑的path与一个没有组合逻辑的东西做逻辑
时钟约低点 但是时钟输入的时候给高点应该可以弄出来吧

   跪求大神指导



   这5年前的大神,估计都不知道到哪去了把

Tausworthe算法



  配置rom?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top