14.7-时序反馈移位寄存器建模

时序反馈移位寄存器建模

      • 1,阻塞赋值实现的LFSR,实际上并不具有LFSR功能
        • 1.1.1,RTL设计,阻塞赋值
        • 1.1.2,tb测试代码
        • 1.1.3,波形仿真输出,SIM输出,没实现LFSR
        • 1.2.1,RTL设计,非阻塞赋值
        • 1.2.2,RTL设计,非阻塞赋值
        • 1.2.3,波形功能实现,LFSR
      • 三级目录

1,阻塞赋值实现的LFSR,实际上并不具有LFSR功能

线性反馈移位寄存器(LFSR),是带反馈回路的时序逻辑。
反馈回路给习惯于顺序阻塞赋值描述时序逻辑的设计人员带来了麻烦。

1.1.1,RTL设计,阻塞赋值
//
module		lfsrb1(q3, clk, pre_n);
output		q3;
input		clk, pre_n;
reg			q1, q2, q3;
wire		n1;assign		n1 = q1 ^ q3;always@(posedge clk or negedge pre_n)if(!pre_n)		beginq3	= 1'b1;q2	= 1'b1;q1	= 1'b1;endelse	beginq3	= q2;q2	= n1;q1	= q3;endendmodule
1.1.2,tb测试代码
module	test_lfsrb1;
reg		clk, pre_n;
wire	q3;lfsrb1	u1_lfsrb1(
.q3			(q3		),
.clk		(clk	),
.pre_n		(pre_n	)
);always #5	clk = ~clk;		// T = 10initial		begin
clk 	= 1'b1;
pre_n	= 1'b0;#100
pre_n	= 1'b1;
endendmodule
1.1.3,波形仿真输出,SIM输出,没实现LFSR

在这里插入图片描述

1.2.1,RTL设计,非阻塞赋值
module	test_lfsrb1;
reg		clk, pre_n;
wire	q3;lfsrb1	u1_lfsrb1(
.q3			(q3		),
.clk		(clk	),
.pre_n		(pre_n	)
);always #5	clk = ~clk;		// T = 10initial		begin
clk 	= 1'b1;
pre_n	= 1'b0;#100
pre_n	= 1'b1;
endendmodule

除非使用中间暂存变量,否则上例所示的赋值是不可能实现反馈逻辑的。

1.2.2,RTL设计,非阻塞赋值
mmodule		lfsrb1(q3, clk, pre_n);
output		q3;
input		clk, pre_n;
reg			q1, q2, q3;
wire		n1;assign		n1 = q1 ^ q3;always@(posedge clk or negedge pre_n)if(!pre_n)		beginq3	<= 1'b1;q2	<= 1'b1;q1	<= 1'b1;endelse	beginq3	<= q2;q2	<= n1;q1	<= q3;endendmodule
1.2.3,波形功能实现,LFSR

在这里插入图片描述

三级目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/595469.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

imgaug库指南(二):从入门到精通的【图像增强】之旅

文章目录 引言前期回顾代码示例小结结尾 引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应…

【零基础入门TypeScript】TypeScript - 概述

目录 什么是 TypeScript&#xff1f; TypeScript 的特点 TypeScript 和 ECMAScript 为什么使用 TypeScript&#xff1f; TypeScript 的组件 声明文件 JavaScript 是作为客户端语言引入的。Node.js 的发展也标志着 JavaScript 成为一种新兴的服务器端技术。然而&#xff0…

婴儿专用洗衣机哪个牌子比较好?高性价比婴儿洗衣机推荐

随着家中新生命的降临&#xff0c;一大批婴儿专用的物品也陆续进入到家中&#xff0c;虽然有很多东西确实能在育儿之路上提供很多帮助&#xff0c;不过也有一些东西“很坑”。婴儿洗衣机这一产品是专为有婴幼儿的家庭或者有特殊需求的人士所研发的&#xff0c;它的容量以及体积…

【教学类-43-15】 20240103 (5宫格数独:内存数据不够计算) 不重复的基础模板数量:未知

背景需求&#xff1a; 测试5宫格有多少种不重复的基础模板&#xff08;只测试所有的25数字一组有多少个&#xff09; # 测试11*11格&#xff0c;2*2一共4套3*3 宫格目的&#xff1a;数独14 5宫格有不同的基础模板 作者&#xff1a;阿夏 时间&#xff1a;2024年01月04日 13:…

unity学习笔记----游戏练习04

一、开发阳光生产功能 向日葵的生产过程需要动画和时间 1.生产动画 选中Sunflower&#xff0c;然后选中窗口再选中 创建新的剪辑开始制作动画&#xff0c;向日葵生产动画的过程是一个从暗到亮然后持续一段时间再到暗的过程。因此只需要在对应的时间改变颜色即可。 为了保证是…

使用IDEA创建使用 JDK8 的 2.x.x 版本的 Spring Boot 项目以及 Spring Boot 项目如何修改JDK版本

目录 一、在阿里云上官网上创建项目 二、将 IDEA 中创建项目的源地址修改为阿里云官网 三、创建 3.x.x 的项目之后修改配置降低至 2.7.x 版本和使用 JDK8&#xff08;修改 Spring Boot 的 JDK 版本同理&#xff09; 从上面的 Spring Boot 官网的截图中可以发现&#xff0c;自…

爬取豆瓣电影top250的电影名称(完整代码与解释)

在爬取豆瓣电影top250的电影名称之前&#xff0c;需要在安装两个第三方库requests和bs4&#xff0c;方法是在终端输入&#xff1a; pip install requestspip install bs4 截几张关键性图片&#xff1a; 豆瓣top250电影网页 运行结果 测试html文件标签的各个方法的作用&#xf…

wy的leetcode刷题记录_Day71

wy的leetcode刷题记录_Day71 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间&#xff1a;2024-1-3&#xff08;补&#xff09; 前言 目录 wy的leetcode刷题记录_Day71声明前言2487. 从链表中移除节点题目介绍思路代码收获 509. 斐波那契数题目介绍思…

低压浪涌保护防雷器的应用方案

浪涌是指电力系统中出现的瞬时过电压或过电流&#xff0c;它们的持续时间很短&#xff0c;但幅值很高&#xff0c;可能达到几千伏或几千安。浪涌的主要来源有两种&#xff1a;一是雷电冲击&#xff0c;二是电力系统的切换操作。浪涌会对电气设备造成严重的损坏&#xff0c;甚至…

跨境电商源码技术大揭秘:9个最常见的问题及解决方案

跨境电商发展迅猛&#xff0c;源码技术成为关键。作为跨境电商源码领域的专家&#xff0c;我将向大家揭秘9个最常见的问题及解决方案&#xff0c;帮助您更好地应对挑战&#xff0c;实现技术优化。 问题一&#xff1a;跨境电商源码性能瓶颈如何解决&#xff1f; 跨境电商源码性…

【数据库原理】(7)关系数据库的完整性约束

关系模型的完整性规则是为了确保数据的唯一性和数据之间的关系的准确性。 有三类完整性约束:实体完整性、参照完整性和用户定义完整性。 其中实体完整性和参照完整性是必须满足的完整性约束条件,应该由关系系统自动支持。 实体完整性 实体完整性的核心概念 唯一性&#xf…

陪诊系统|北京陪诊小程序提升陪诊服务效果

随着科技的不断发展&#xff0c;人们对于医疗服务的需求也越来越高。在过去&#xff0c;陪诊师和陪诊公司通常需要通过电话或传真等传统方式与医院进行沟通和安排。然而&#xff0c;现在有了陪诊小程序&#xff0c;这些问题得到了解决。本文将介绍陪诊小程序的开发流程和功能&a…

【python高级用法】线程

前言 Python通过标准库的 threading 模块来管理线程。这个模块提供了很多不错的特性&#xff0c;让线程变得无比简单。实际上&#xff0c;线程模块提供了几种同时运行的机制&#xff0c;实现起来非常简单。 线程模块 线程对象Lock对象RLock对象信号对象条件对象事件对象 简单…

Java学习——设计模式——介绍

文章目录 设计模式介绍UML的类图表示类与类之间关系的表示关联关系聚合关系组合关系依赖关系继承关系实现关系 设计模式介绍 设计模式design patterns&#xff0c;指在软件设计中&#xff0c;被反复使用的一种代码设计经验。使用设计模式的目的是为了可重用代码&#xff0c;提…

纯前端上传word,xlsx,ppt,在前端预览并下载成图片(预览效果可以,下载图片效果不太理想)

纯前端上传word,xlsx,ppt,在前端预览并下载成图片&#xff08;预览效果可以&#xff0c;下载图片效果不太理想&#xff09; 一.安装依赖二、主要代码 预览效果链接: https://github.com/501351981/vue-office 插件文档链接: https://501351981.github.io/vue-office/examples/d…

pth.tar的保存和读取

一、简介 在PyTorch中&#xff0c;.pt、.pth和.pth.tar都是保存训练好的模型的文件格式。主要区别在于&#xff1a; .pt是PyTorch1.6及以上版本中引入的保存格式&#xff0c;可以保存整个模型&#xff0c;包括模型结构、模型参数以及优化器状态等信息&#xff0c;是一个二进制文…

【C++入门到精通】function包装器 | bind() 函数 C++11 [ C++入门 ]

阅读导航 引言一、function包装器1. 概念2. 基本使用3. 逆波兰表达式求值&#xff08;1&#xff09;普通写法&#xff08;2&#xff09;使用包装器以后的写法 二、bind() 函数温馨提示 引言 很高兴再次与大家分享关于 C11 的一些知识。在上一篇文章中&#xff0c;我们讲解了 c…

【Linux系统编程二十六】:线程控制与线程特性(Linux中线程库/线程创建/线程退出/线程等待)

【Linux系统编程二十六】&#xff1a;线程控制与线程特性 一.Linux线程库pthread1.线程控制块2.线程tid3.线程栈 二.线程控制1.线程创建2.线程退出3.线程等待 三.线程的特性1.独立栈2.局部存储3.线程可分离 一.Linux线程库pthread 在Linux中&#xff0c;是没有明确的线程概念的…

19个地信专业可以投的岗位汇总【GIS求职秘籍】

今天给大家详细科普一下&#xff0c;GIS专业的同学毕业以后还能从事哪些岗位的工作。 &#xff08;这期不包含学校老师等事业编岗位&#xff09; 一、GIS数据采集和处理 GIS数据采集和处理在这里分为一个大类&#xff0c;包含前期测绘外业的实地采集&#xff0c;后续的数据加…

石化行业设备管理系统的作用

石化行业是全球经济中不可或缺的重要组成部分&#xff0c;它涵盖了石油、天然气、化工等领域。在这个高风险和高安全要求的行业中&#xff0c;设备的可靠性和安全性至关重要。为了有效管理和维护设备&#xff0c;石化公司越来越多地采用设备管理系统&#xff0c;以提高生产效率…