当前位置: 首页 > news >正文

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.lryc.cn/news/272875.html

相关文章:

  • 【设计模式】二十一.行为型模式之状态模式
  • 微服务实战系列之Dubbo(下)
  • 《剑指offer》数学第二题:求1+2+3+...+n
  • 阿里云服务器3M固定带宽速度快吗?
  • 美易官方:新年伊始美企狂发450多亿美元债券
  • [云原生] Go web工作流程
  • 【PostgreSQL】约束-主键
  • IDEA 控制台中文乱码问题解决方法(UTF-8 编码)
  • ssm基于BS的仓库在线管理系统的设计与实现论文
  • 鸿蒙HarmonyOs:为什么不支持热更新?
  • 修改 Ubuntu 的配置
  • 虹科方案|从困境到突破:TigoLeap方案引领数据采集与优化
  • 【教学类-43-02】20231226 九宫格数独2.0(n=9)(ChatGPT AI对话大师生成 回溯算法)
  • 麒麟Kylin服务器版-破解root密码
  • cnPuTTY 0.80.0.1—PuTTY Release 0.80中文版本简单说明~~
  • 向爬虫而生---Redis 拓宽篇1 < pipeline传输效率>
  • Unity Hub 无法激活许可证
  • 数据分析求职-如何准备
  • 新手能掌握 PyTorch 的填充技术:深入理解反射、复制、零值和常数填充
  • 地震烈度速报与预警工程成功案例的经验分享 | TDengine 技术培训班第一期成功落地
  • 集群部署篇--Redis 集群动态伸缩
  • excel中解决多行文本自动调整行高后打印预览还是显示不全情况
  • 策略模式+责任链模式配合Nacos实现参数校验链
  • ‘react-native‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
  • c语言:求最小公倍数|练习题
  • 嵌入式系统(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位
  • NLP基础——中文分词
  • 阿里云服务器Alibaba Cloud Linux 3镜像版本大全说明
  • WebGIS开发的常见框架及优缺点
  • ansible 配置jspgou商城上线(MySQL版)