侵权投诉

FPGA产生中伪随机数发生器分析

39度创意研究所 2020-11-21 11:49 次阅读

1. 概念

通过一定的算法对事先选定的随机种子(seed)做一定的运算可以得到一组人工生成的周期序列,在这组序列中以相同的概率选取其中一个数字,该数字称作伪随机数,由于所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了。这里的“伪”的含义是,由于该随机数是按照一定算法模拟产生的,其结果是确定的,是可见的,因此并不是真正的随机数。伪随机数的选择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地“随机”,随机种子的选择就显得非常重要,如果随机种子一样,那么同一个随机数发生器产生的随机数也会一样。

2. 由LFSR引出的产生方法

产生伪随机数的方法最常见的是利用一种线性反馈移位寄存器(LFSR),它是由n个D触发器和若干个异或门组成的,如下图:


其中,gn为反馈系数,取值只能为0或1,取为0时表明不存在该反馈之路,取为1时表明存在该反馈之路;n个D触发器最多可以提供2^n-1个状态(不包括全0的状态),为了保证这些状态没有重复,gn的选择必须满足一定的条件。下面以n=3,g0=1,g1=1,g2=0,g3=1为例,说明LFSR的特性,具有该参数的LFSR结构如下图:


假设在开始时,D2D1D0=111(seed),那么,当时钟到来时,有:

  D2=D1_OUT=1;

  D1=D0_OUT^D2_OUT=0;

  D0=D2_OUT=1;

即D2D1D0=101;同理,又一个时钟到来时,可得D2D1D0=001. ………………

画出状态转移图如下:


从图可以看出,正好有2^3-1=7个状态,不包括全0;

  如果您理解了上图,至少可以得到三条结论:

  1)初始状态是由SEED提供的;

  2)当反馈系数不同时,得到的状态转移图也不同;必须保证gn===1,否则哪来的反馈?

  3)D触发器的个数越多,产生的状态就越多,也就越“随机”;

3. verilog实现

基于以上原理,下面用verilog产生一个n=8,反馈系数为g0g1g2g3g4g5g6g7g8=101110001的伪随机数发生器,它共有2^8=255个状态,该LFSR的结构如下:


verilog源代码如下:

module RanGen(
    input               rst_n,    /*rst_n is necessary to prevet locking up*/
    input               clk,      /*clock signal*/
    input               load,     /*load seed to rand_num,active high */
    input      [7:0]    seed,     
    output reg [7:0]    rand_num  /*random number output*/
);


always@(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        rand_num    <=8'b0;
    else if(load)
        rand_num <=seed;    /*load the initial value when load is active*/
    else
        begin
            rand_num[0] <= rand_num[7];
            rand_num[1] <= rand_num[0];
            rand_num[2] <= rand_num[1];
            rand_num[3] <= rand_num[2];
            rand_num[4] <= rand_num[3]^rand_num[7];
            rand_num[5] <= rand_num[4]^rand_num[7];
            rand_num[6] <= rand_num[5]^rand_num[7];
            rand_num[7] <= rand_num[6];
        end
            
end
endmodule

仿真波形:


以1111 1111为种子,load信号置位后,开始在255个状态中循环,可将输出值255、143、111……作为伪随机数。

编辑:hfy


收藏 人收藏
分享:

评论

相关推荐

FPGA知识详解之基础篇的技术分享

上海润欣科技股份有限公司创研社 1.Verilog基础语法 1.1 可综合模块 以module为单元....
的头像 润欣科技Fortune 发表于 11-30 11:37 34次 阅读
FPGA知识详解之基础篇的技术分享

FPGA技术分享:FPGA杂记之基础篇

上海润欣科技股份有限公司创研社 Verilog基础语法 1.1 可综合模块 以module为单元,具....
的头像 润欣科技Fortune 发表于 11-30 11:31 22次 阅读
FPGA技术分享:FPGA杂记之基础篇

采用FPGA芯片EPM7032和VHDL语言实现自动交通系统的应用方案

随着微电子技术的迅猛发展,可编程逻辑器件从20世纪70年代发展至今,其结构、工艺、集成度、功能、速度....
发表于 11-30 10:10 35次 阅读
采用FPGA芯片EPM7032和VHDL语言实现自动交通系统的应用方案

紫光同创:正在研发28nm、40nm系列新产品

近日,紫光同创在接受天风证券调研时对外表示,公司FPGA产品已经应用于通信领域,主要应用场景有2G语....
的头像 我快闭嘴 发表于 11-30 09:25 54次 阅读
紫光同创:正在研发28nm、40nm系列新产品

FPGA设计的8大重要知识点

要求一个同时具备设计面积最小、运行频率最高是不现实的。更科学的设计目标应该是在满足设计时序要求(包括....
的头像 FPGA之家 发表于 11-29 10:58 172次 阅读
FPGA设计的8大重要知识点

英特尔软件布局的三大策略

几年前,英特尔启动了“以数据为中心”的转型,这是一场自我革命的战役,而战役背后的六大秘密武器起到了关....
的头像 我快闭嘴 发表于 11-28 10:55 1094次 阅读
英特尔软件布局的三大策略

基于Verilog硬件描述语言实现SHA-1算法的设计

单向散列函数是密码学中一种重要的工具,它可以将一个较长的位串映射成一个较短的位串,同时它的逆函数很难....
的头像 电子设计 发表于 11-28 10:16 430次 阅读
基于Verilog硬件描述语言实现SHA-1算法的设计

FPGA在医疗设备中有什么样的作用

FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,....
的头像 Wildesbeast 发表于 11-28 10:01 305次 阅读
FPGA在医疗设备中有什么样的作用

使用多种EDA工具实现FPGA设计流程的详细资料说明

本文介绍了FPGA的完整设计流程,其中包括电路设计与输入、功能仿真、综合优化、综合后仿真、实现与布局....
发表于 11-27 17:57 53次 阅读
使用多种EDA工具实现FPGA设计流程的详细资料说明

你要的C6678+K7视频采集处理方案,这里全都有!内含源码!!!

在Kintex-7 FPGA上搭建MicroBlaze软核,并由MicroBlaze配置PAL视频模....
发表于 11-27 17:01 226次 阅读
你要的C6678+K7视频采集处理方案,这里全都有!内含源码!!!

高云半导体:打破国产汽车级FPGA芯片的空白

2021中国IC风云榜“年度新锐公司”征集现已启动!入围标准要求为营收过亿元的未上市、未进入IPO辅....
的头像 我快闭嘴 发表于 11-27 15:09 342次 阅读
高云半导体:打破国产汽车级FPGA芯片的空白

FPGA基础篇:Verilog基础语法

可综合模块最终生成的bit文件会烧录进芯片运行,而仿真模块编译过后是在仿真软件(例如modelsim....
发表于 11-27 14:27 200次 阅读
FPGA基础篇:Verilog基础语法

在医疗设备中,FPGA能用在什么地方

FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,....
的头像 Les 发表于 11-27 11:29 417次 阅读
在医疗设备中,FPGA能用在什么地方

电源管理芯片市场再起风云

近日,IC设计厂商联发科通过旗下立锜斥资8500万美元收购英特尔旗下Enpirion电源管理芯片产品....
的头像 我快闭嘴 发表于 11-27 10:52 400次 阅读
电源管理芯片市场再起风云

Xilinx FPGA设计进阶(提高篇)

发表于 11-27 10:00 101次 阅读
Xilinx FPGA设计进阶(提高篇)

FPGA器件在医疗领域的应用分类

FPGA(现场可编辑门阵列)作为赛灵思(Xilinx)的一项重要发明,以其可编程和灵活性著称。起初,....
发表于 11-27 09:38 241次 阅读
FPGA器件在医疗领域的应用分类

电路设计经常会出现的八大误区详细说明

我们常常会发现,自己想当然的一些规则或道理往往会存在一些差错。电子工程师在电路设计中也会有这样的例子....
发表于 11-27 08:00 97次 阅读
电路设计经常会出现的八大误区详细说明

ACAP的主要架构创新解析

2019年“国际研讨会”上,发表了两篇长论文,详细介绍了“自适应计算加速平台”ACAP的系统架构和技术细节。本文将对ACAP...
发表于 11-27 07:30 0次 阅读
ACAP的主要架构创新解析

芯华章发布高性能多功能可编程适配解决方案“灵动”

2020年11月26日,EDA(电子设计自动化)智能软件和系统领先企业芯华章今日发布高性能多功能可编....
的头像 我快闭嘴 发表于 11-26 12:27 366次 阅读
芯华章发布高性能多功能可编程适配解决方案“灵动”

一种基于DSP与FPGA实现场发射平板显示器视频信号处理系统的方案

发表于 11-26 11:42 404次 阅读
一种基于DSP与FPGA实现场发射平板显示器视频信号处理系统的方案

基于APEX20K和ARM7 TDMI-S微处理器实现通用智能传感器IP核的设计

设置数据通信接口主要是考虑芯片还可以同外部CPU或网络构成更加复杂的测控系统。为了方便芯片的设计,节....
的头像 电子设计 发表于 11-26 10:11 997次 阅读
基于APEX20K和ARM7 TDMI-S微处理器实现通用智能传感器IP核的设计

基于FPGA Virtex-4器件实现直接时钟控制技术方案的设计

大多数存储器接口都是源同步接口,从外部存储器器件传出的数据和时钟/ 选通脉冲是边沿对齐的。在 Vir....
发表于 11-26 10:01 195次 阅读
基于FPGA Virtex-4器件实现直接时钟控制技术方案的设计

如何移植一个CNN神经网络到FPGA中?

训练一个神经网络并移植到Lattice FPGA上,通常需要开发人员既要懂软件又要懂数字电路设计,是个不容易的事。好在FPGA厂...
发表于 11-26 07:46 0次 阅读
如何移植一个CNN神经网络到FPGA中?

请问FPGA在人工智能时代有哪些独特的优势?

  什么是暗硅效应   FPGA:解决暗硅效应的有效途径   使用FPGA的独特优势是什么   什么是Catapult项目   ...
发表于 11-26 06:36 0次 阅读
请问FPGA在人工智能时代有哪些独特的优势?

快速简单的FPGA异构计算

发表于 11-25 18:00 40次 阅读
快速简单的FPGA异构计算

基于可编程逻辑器件和IPX2805实现SPI4.2接口电路的设计

SPI-4.2(System Packet Interface)是 OIF(Optical Inte....
发表于 11-25 17:19 523次 阅读
基于可编程逻辑器件和IPX2805实现SPI4.2接口电路的设计

FPGA加速的厉害之处在哪里?

轰轰烈烈的双十一落下了帷幕,2020年的双十一成绩依旧斐然。天猫11月11日0点刚过,天猫双11的订....
的头像 EDA365 发表于 11-25 11:17 274次 阅读
FPGA加速的厉害之处在哪里?

MCU在边缘和节点设计中实现AI功能的三种方法详细说明

AI:Artificial Intelligence,即人工智能。 AI 与我们息息相关,手机导航、....
发表于 11-25 09:39 28次 阅读
MCU在边缘和节点设计中实现AI功能的三种方法详细说明

fpga程序烧写问题

各位大佬,我自己做的一个板子用的是ep4ce15m8i7芯片,在使用JTAG烧写的时候提示Error (209014): CONF_DONE pin ...
发表于 11-25 08:44 125次 阅读
fpga程序烧写问题

基于ARM和FPGA的微加速度计数据采集设计方案

加速度计是一种应用十分广泛的惯性,它可以用来测量运动系统的加速度。目前的加速度计大多采用微机电技术(MEMS)进行设计和...
发表于 11-25 06:17 0次 阅读
基于ARM和FPGA的微加速度计数据采集设计方案

FPGA技术的学习课件免费下载

硬件版图如何设计选择哪些芯片1,常用芯片的功能和电气特性都很熟悉设计电路原理图2,个别功能不知道需要....
发表于 11-24 18:08 114次 阅读
FPGA技术的学习课件免费下载

Intel付得起xPU的巨额尾款吗?

一波还未平息,一波再起,Intel继续扩张其xPU阵营! 上回,笔者说道Intel正在利用xPU+o....
的头像 璟琰乀 发表于 11-24 16:52 404次 阅读
Intel付得起xPU的巨额尾款吗?

华为FPGA设计规范

发表于 11-24 14:42 202次 阅读
华为FPGA设计规范

基于可编程逻辑器件实现八位微处理器软核的设计

SoC(SystemonaChip)以其高集成度,低功耗等优点越来越受欢迎。开发人员不必从单个逻辑门....
发表于 11-24 14:37 401次 阅读
基于可编程逻辑器件实现八位微处理器软核的设计

基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介

基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介 TLK7-EVM评估板简介创龙科技TLK7-EVM是一款...
发表于 11-24 11:31 202次 阅读
基于Xilinx Kintex-7系列FPGA高端设计的TLK7-EVM评估板简介

串口通信无法正常进行

求助!!! 如图,打算在Xilinx SDK中通过串口打印信息,以简单验证代码正确性,但是不知道为什么我明明没有连接端口,Ter...
发表于 11-24 10:48 202次 阅读
串口通信无法正常进行

基于FPGA器件实现有限冲激响应滤波器的方案设计

一个模拟集成运算放大器可实现一个二阶滤波器,高阶滤波器可由二阶滤波器串联而成。然而,无源元器件实现滤....
发表于 11-23 16:18 336次 阅读
基于FPGA器件实现有限冲激响应滤波器的方案设计

开关应用中的瞬变和EMI噪声怎么样才能减轻

设计电源是一件复杂的事情。如今,电能的来源多种多样,我们也越来越不能忽视对这些宝贵能源进行有效的管理....
发表于 11-23 14:34 21次 阅读
开关应用中的瞬变和EMI噪声怎么样才能减轻

如何实现FPGA构建环境的自动化

与此同时,MLE 也面向 PetaLinux 和赛灵思软件开发套件 (XSDK) 发布了一套易用型 ....
的头像 电子发烧友网工程师 发表于 11-20 16:47 277次 阅读
如何实现FPGA构建环境的自动化

FPGA有五大热点市场,65nm产品组合发挥效益

业界涌现的大量发展趋势暗示着我们已经发展到了一个关键点。例如,在通信领域,世界上很多系统和基础设备公....
的头像 电子发烧友网工程师 发表于 11-20 16:43 254次 阅读
FPGA有五大热点市场,65nm产品组合发挥效益

从SWOT分析当前国内发展FPGA的前景

总体来看,虽然目前中国在FPGA这个领域比国外的主流厂商还存在很大差距,但是考虑到中国经济的发展和综....
的头像 电子发烧友网工程师 发表于 11-20 16:30 317次 阅读
从SWOT分析当前国内发展FPGA的前景

FPGA从幕前走向幕后成为辅助运算的角色

而与FPGA相对的,就是不可编程的芯片方案,这也是市场的主流形式,就是所谓的ASIC(Applica....
的头像 电子发烧友网工程师 发表于 11-20 16:24 320次 阅读
FPGA从幕前走向幕后成为辅助运算的角色

《基于FPGA的IIC设计》

A0,A1,A2 为 24LC64 的片选信号,由于 IIC 总线可以挂载多个 IIC 接口器件,所....
的头像 电子发烧友网工程师 发表于 11-20 16:21 270次 阅读
《基于FPGA的IIC设计》

基于FPGA的视觉、听觉诱发电位系统的设计

本文中的诱发脑电位在医学诊断和治疗领域有着重要的地位,如今,随着理论的成熟和科技的进步,越来越多的技....
的头像 电子发烧友网工程师 发表于 11-20 16:17 242次 阅读
基于FPGA的视觉、听觉诱发电位系统的设计

Xilinx始终保持着全球FPGA的霸主地位,难以撼动!

由于Xilinx器件是只需要进行编程的标准部件,客户不需要像采用固定逻辑芯片时那样等待样品或者付出巨....
的头像 OpenFPGA 发表于 11-20 11:47 437次 阅读
Xilinx始终保持着全球FPGA的霸主地位,难以撼动!

FPGA零基础并不是你想的那样,门槛不低

FPGA是有门槛的,零基础并不是你想的那样,而且门槛不低的! 本篇给非电子类专业或者非技术行出身想要....
的头像 电子发烧友网工程师 发表于 11-20 09:58 313次 阅读
FPGA零基础并不是你想的那样,门槛不低

为什么FPGA主频比CPU慢,但却可以用来帮CPU做加速

我们知道,FPGA的频率一般只有几百MHz,而CPU的频率却高达数GHz。那么,有不少网友心中就有一....
的头像 电子发烧友网工程师 发表于 11-20 09:56 249次 阅读
为什么FPGA主频比CPU慢,但却可以用来帮CPU做加速

5G时代,英特尔如何助力网络转型

11月18日,2020英特尔FPGA技术大会(IFTD)以线上沟通形式召开,大会期间英特尔推出FPG....
的头像 电子发烧友网工程师 发表于 11-20 09:51 369次 阅读
5G时代,英特尔如何助力网络转型

fpga开发流程攻略与fpga器件选型七大原则分享

主要的FPGA供应商有赛灵思公司、Altera公司、Lattic公司和Actel公司等,FPGA的发....
发表于 11-19 15:39 749次 阅读
fpga开发流程攻略与fpga器件选型七大原则分享

如何才能减轻开关应用中的瞬变和EMI噪声

设计电源是一件复杂的事情。如今,电能的来源多种多样,我们也越来越不能忽视对这些宝贵能源进行有效的管理....
发表于 11-19 15:23 39次 阅读
如何才能减轻开关应用中的瞬变和EMI噪声

英特尔数字化战略落地加速!重磅发布eASIC N5X和FPGA开发堆栈

11月18日上午,在英特尔FPGA技术大会上,英特尔发布了AI领域的两款重磅产品,一是最新的英特尔开....
的头像 章鹰 发表于 11-19 14:49 2243次 阅读
英特尔数字化战略落地加速!重磅发布eASIC N5X和FPGA开发堆栈

英特尔今日起发布开放式 FPGA 堆栈

除了刚刚介绍的 eASIC N5X 解决方案,英特尔还在今天的 FPGA 技术日活动上宣布了开放式 ....
的头像 如意 发表于 11-18 17:29 454次 阅读
英特尔今日起发布开放式 FPGA 堆栈

使用FPGA实现乒乓球游戏的论文说明

 ball 是模拟乒乓球行进路径的发光管亮灯控制模块,在游戏中,以一排发光管交替发光指示乒乓球的行进....
发表于 11-18 17:18 61次 阅读
使用FPGA实现乒乓球游戏的论文说明

2020全球高科技领袖论坛——全球CEO峰会&全球分销与供应链领袖峰会

全球电子成就奖(WEAA)旨在评选并表彰对推动全球电子产业创新做出杰出贡献的企业和管理者,对获奖公司....
的头像 Microchip微芯 发表于 11-18 16:08 434次 阅读
2020全球高科技领袖论坛——全球CEO峰会&全球分销与供应链领袖峰会

全新英特尔开放式FPGA开发堆栈使定制平台开发变得更轻松

通过可拓展的硬件,以及可访问的git源代码库的软件框架,英特尔®开放式FPGA开发堆栈(英特尔®OF....
发表于 11-18 15:35 736次 阅读
全新英特尔开放式FPGA开发堆栈使定制平台开发变得更轻松

FPGA电源设计部分电路原理图解析

U22是电可擦除ROM,用于存放AS下载后的数据,使得FPGA的程序段掉电也能得以保存,DATA端是....
的头像 陈翠 发表于 11-18 11:25 285次 阅读
FPGA电源设计部分电路原理图解析

赛灵思推出ZynqRFSoC DFE,四大特点满足5G复杂需求

为了满足不断演进的5G NR无线应用标准和5G多样化的需求,赛灵思推出 ZynqRFSoC DFE。
的头像 牵手一起梦 发表于 11-17 16:19 363次 阅读
赛灵思推出ZynqRFSoC DFE,四大特点满足5G复杂需求

浅谈Imagination在手机GPU IP市场的影响力

随着智能驾驶和自动驾驶等应用越发火热,汽车AI芯片市场在最近几年进入了高速发展期。无论是NXP和瑞萨....
的头像 我快闭嘴 发表于 11-17 16:13 446次 阅读
浅谈Imagination在手机GPU IP市场的影响力

Intel旗下Enpirion电源管理芯片产品线出售

现在,联发科发布公告称,将透过子公司立锜并购Intel旗下Enpirion电源管理芯片产品线相关资产....
的头像 牵手一起梦 发表于 11-17 15:26 343次 阅读
Intel旗下Enpirion电源管理芯片产品线出售

基于可编程逻辑器件实现多电平正交幅度调制系统的设计

所谓正交振幅调制,就是用两个独立的基带波形对两个相互正交的同频载波进行抑制载波的双边带调制,利用这种....
发表于 11-16 22:58 531次 阅读
基于可编程逻辑器件实现多电平正交幅度调制系统的设计

TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP411设备是一个带有内置本地温度传感器的远程温度传感器监视器。远程温度传感器,二极管连接的晶体管通常是低成本,NPN或PNP型晶体管或二极管,是微控制器,微处理器或FPGA的组成部分。 远程精度为±1 °C适用于多个设备制造商,无需校准。双线串行接口接受SMBus写字节,读字节,发送字节和接收字节命令,以设置报警阈值和读取温度数据。 TMP411器件中包含的功能包括:串联电阻取消,可编程非理想因子,可编程分辨率,可编程阈值限制,用户定义的偏移寄存器,用于最大精度,最小和最大温度监视器,宽远程温度测量范围(高达150°C),二极管故障检测和温度警报功能。 TMP411器件采用VSSOP-8和SOIC-8封装。 特性 ±1°C远程二极管传感器 ±1°C本地温度传感器 可编程非理想因素 串联电阻取消 警报功能 系统校准的偏移寄存器 与ADT7461和ADM1032兼容的引脚和寄存器 可编程分辨率:9至12位 可编程阈值限...
发表于 09-19 16:35 223次 阅读
TMP411 ±1°C Programmable Remote/Local Digital Out Temperature Sensor

TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器

TMP468器件是一款使用双线制SMBus或I 2 C兼容接口的多区域高精度低功耗温度传感器。除了本地温度外,还可以同时监控多达八个连接远程二极管的温度区域。聚合系统中的温度测量可通过缩小保护频带提升性能,并且可以降低电路板复杂程度。典型用例为监测服务器和电信设备等复杂系统中不同处理器(如MCU,GPU和FPGA)的温度。该器件将诸如串联电阻抵消,可编程非理想性因子,可编程偏移和可编程温度限值等高级特性完美结合,提供了一套精度和抗扰度更高且稳健耐用的温度监控解决方案。 八个远程通道(以及本地通道)均可独立编程,设定两个在测量位置的相应温度超出对应值时触发的阈值。此外,还可通过可编程迟滞设置避免阈值持续切换。 TMP468器件可提供高测量精度(0.75°C)和测量分辨率(0.0 625°C)。该器件还支持低电压轨(1.7V至3.6V)和通用双线制接口,采用高空间利用率的小型封装(3mm×3mm或1.6mm×1.6mm),可在计算系统中轻松集成。远程结支持-55°C至+ 150°C的温度范围。 特性 8通道远程二极管温度传感器精度:±0.75&...
发表于 09-18 16:05 148次 阅读
TMP468 具有引脚可编程的总线地址的高精度远程和本地温度传感器