【Verilog】随机数产生电路
1、伪随机序列
如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。
伪随机序列又称为伪随机码,是一组人工生成的周期序列。它不仅具有随机序列的一些统计特性和高斯噪声所有的良好的自相关特征,而且具有某种确定的编码规则,同时又便于重复产生和处理,因而在通信领域应用广泛。
伪随机序列的产生方式很多,通常产生的伪随机序列的电路为一反馈移位寄存器。它又可分为线性反馈移位寄存器和非线性反馈移位寄存器两类。由线性反馈移位寄存器产生出的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器序列,简称 m 序列,移位寄存器的长度为 n,则 m 序列的周期为 2n-1,没有全 0 状态。
其中,伪随机数发生器的初始状态需由微处理器通过D寄存器给出。
2.硬件电路
伪随机序列发生器的初始状态是由微处理器中 D寄存器提供的,而D寄存器的位数为 8 位,所以需要设计一种 8 位的伪随机序列发生器,它的本原多项式为:
F(x) = x8 + x4 + x3 + x2 + 1
伪随机序列发生器结构如下图所示:
Verilog代码:
module random_num(input clk,input rst,input en,input [7:0] d,output [7:0] ran_num);integer i;always @(posedge clk or posedge rst)begin:loopif (rst)ran_num <= 8'b0;else if(en)ran_num <= d;else beginfor(i=1;i<8;i=i+1)ran_num[i] <= ran_num[i-1];ran_num[0] <= ran_num[1] ^ (ran_num[2] ^ (ran_num[3] ^ ran_num[7])) ;end
endendmodule
仿真结果:
【Verilog】随机数产生电路相关推荐
- (23)System Verilog设计二分频电路
(23)System Verilog设计二分频电路 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog设计二分频电路 1.二分频电路基础知 ...
- Verilog 边沿检测电路
边沿检测电路是 Verilog 数字电路设计中较为常用的电路,主要作用是在 clk 的驱使下,检测另一个信号的上升/下降沿电路: 检测的原理是记录指定信号前一个时钟和当前时钟的信号,并做对比,看看是否 ...
- Verilog[奇校验电路]
奇校验电路原理 奇校验: 以此为例,输入信号为Symbol,包含7为信息码元和1位校验位. 发送端通过对校验位赋值,使输入信号中1数目为奇数. 在传输过程中信号可能会受到干扰导致码元翻转,为了判定是否 ...
- Verilog奇偶分频电路的总结
1.偶数分频 偶数倍分频相对简单,可以通过计数器对预分频的脉冲沿计数实现,如果要进行N倍(N为整数)偶数分频,可由预分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数 ...
- 根据Verilog状态机画门级电路
根据Verilog状态机画门级电路 第一次写博客,还不太熟悉工具的使用,记录一下自己的学习过程.账号还是几年前为了下载文档注册的,胡乱的起了个名字,发现名字改不了,呵呵. 工具会将状态机综合成什么?以 ...
- 一周掌握FPGA Verilog HDL语法 day 4
今天给大侠带来的是一周掌握FPGA Verilog HDL 语法,今天开启第四天. 一周掌握FPGA Verilog HDL语法 day 3 被平台综合了,如果想要看详细介绍的话,可以到公众号内部&q ...
- 爆肝4万字❤️零基础掌握Verilog HDL
文章目录 0.前言 1.Verilog HDL简介 1.1 什么是Verilog HDL 1.2 verilog发展历史ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ 1.3 为什么要使用verilog ...
- Verilog初级教程(1)认识 Verilog HDL
文章目录 背景 正文介绍 Verilog有什么用途? 如何验证Verilog设计的功能? Verilog设计模板 参考资料汇总 背景 集成电路的设计经历了从原理图绘制(工程师在纸上绘制晶体管及其连接, ...
- 【 Verilog HDL 】case, casez, casex 之干货总结
这几天在做一个无人机定位的项目,时间比较紧,自己也不太懂,所以就边忙别愁就没有了精力写博客了.可是想想这样也不好,还是抽出点时间写博客,即使写的比较简单也行,至少能解答自己的疑惑就够了. Verilo ...
最新文章
- 四种DCOM错误的区别,0x80080005 0x800706be 0x80010105 0x
- 用Python玩转PPT!
- python编程入门经典实例-编程语言入门经典100例【Python版】
- UBOOT 2011-3版本分析(初步感受)
- Jenkins连接TFS出现错误:“jenkins com.microsoft.tfs.core.exceptions.TECoreException”的问题收集...
- php删除尾部字符,php如何删除字符串末尾字符
- 【HTML】输入密码访问
- jenkins触发构建后一直重复构建
- bzoj 1433: [ZJOI2009]假期的宿舍
- Gbase与oracle数据库的区别
- 怎么修改html游戏存档,星露谷物语存档修改方法 如何修改游戏存档
- window10运行不了1stopt_1stopt点击运行没有反应求大佬指点
- 机器学习进阶 第一节 第一课
- 17-[案例1]奇虎导航案例
- 计算机系统适应社会不断发展,教师招聘《中学教育心理学》通关试题每日练(2020年11月27日-944)...
- TP6 WhereIn排序问题
- 用html5做课件,这么好玩!PPT竟然还能用来制作H5?
- python 循环写入excel sheet_python 使用xlsxwriter循环向excel中插入数据和图片的操作...
- c语言输入学号查找成绩,C语言程序设计按学号查询成绩
- PTA基础编程题目集
热门文章
- 报错: Cannot convert value of type ‘java.lang.String‘ to required type
- Createprocess 函数 调用出错以及解决
- arduino loar_Arduino入门教程及Arduino好玩儿的项目推荐
- vb获取html中的inout,使用带有OUT参数的VB6调用MySQL存储过程
- Mini USB接口定义的秘密
- 2022QS亚洲大学排名出炉!183所中国高校上榜,北大领先国内高校
- 长期跑步需要买个运动耳机吗、最好用的5款跑步耳机推荐
- proe二次开发配置
- 恐怖的银行信用卡复利
- keras_猫狗分类案例(三)_卷机神经网络的可视化(可视化卷积神经网络的中间输出)