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

黄江东莞网站建设部队网站设计

黄江东莞网站建设,部队网站设计,wordpress列表提取文章第一张图,龙江网站建设FPGA同步复位、异步复位、异步复位同步释放仿真 xilinx VIVADO仿真 行为仿真 综合后功能仿真,综合后时序仿真 实现后功能仿真,实现后时序仿真 目录 前言 一、同步复位 二、异步复位 三、异步复位同步释放 总结 前言 本文将详细介绍FPGA同步复位、异…

FPGA同步复位、异步复位、异步复位同步释放仿真

xilinx VIVADO仿真

行为仿真

综合后功能仿真,综合后时序仿真

实现后功能仿真,实现后时序仿真

目录

前言

一、同步复位

二、异步复位

三、异步复位同步释放

总结


前言

        本文将详细介绍FPGA同步复位、异步复位、异步复位同步释放,并用实际的例子在VIVADO上面完成这三种复位的仿真,仿真包括行为仿真、综合后功能仿真、综合后时序仿真、实现后功能仿真、实现后时序仿真五种仿真。同时也将给出RTL、综合、实现后的电路图。仿真和电路图可以帮助我们彻底搞清楚这三种复位。


提示:以下是本篇文章正文内容,下面案例可供参考

一、同步复位

        同步复位指的是在时钟边沿(有效沿)检测到复位信号后,执行复位操作。

设计源文件和仿真源文件如下:

//*******************同步复位*******************
module	reset_research(input		clk	 ,	//时钟input		rst_n,	//复位,低电平有效input		in	 ,	//输入信号output reg	out	 	//输出信号
);always@(posedge clk)beginif(!rst_n)out <= 1'b0;		//复位将输出置零elseout <= in;			//其他时候将输入赋值给输出
end	endmodule
module tb_reset_research;parameter PERIOD  = 20;
reg   clk  = 0 ;
reg   rst_n= 1 ;
reg   in   = 1 ;
wire  out  ;    initial
beginforever #(PERIOD/2)  clk=~clk;
endreset_research  u_reset_research 
(.clk   ( clk     ),.rst_n ( rst_n   ),.in    ( in      ),.out   ( out     )
);initial
begin#25 rst_n<=0;#10 rst_n<=1;#35 rst_n<=0;#10 rst_n<=1;#20 rst_n<=0;#10 rst_n<=1;#45 rst_n<=0;#5 rst_n<=1;#100$finish;
endendmodule

RTL级电路如下:

行为仿真结果如下:

综合后的电路图如下:

综合后功能仿真

综合后时序仿真

实现后的电路图如下:

实现后功能仿真

实现后时序仿真

        由于输入的复位信号没有同步到当前时钟域下,VIVADO实现无法做时序分析。

二、异步复位

        异步复位指的是无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。

设计源文件如下,仿真源文件和同步复位一样。

//*******************异步复位*******************
module	reset_research(input		clk	 ,	//时钟input		rst_n,	//复位,低电平有效input		in	 ,	//输入信号output reg	out	 	//输出信号
);always@(posedge clk or negedge rst_n)beginif(!rst_n)out <= 1'b0;		//复位将输出置零elseout <= in;			//其他时候将输入赋值给输出
end	endmodule

RTL级电路如下:

行为仿真结果如下:

综合后的电路图如下:

综合后功能仿真

综合后时序仿真

实现后的电路图如下:

实现后功能仿真

实现后时序仿真

   由于输入的复位信号没有同步到当前时钟域下,VIVADO实现无法做时序分析。

三、异步复位同步释放

        异步复位同步的根本思想,是将异步信号同步化。

设计源文件如下,仿真源文件和前两种复位的一样。

//异步复位同步释放(如果复位信号从IO进来,这样可以消除异步复位的亚稳态问题)
module	reset_research(input		clk	 ,	//时钟input		rst_n,	//复位,低电平有效input		in	 ,	//输入信号output reg	out	 	//输出信号
);reg new_rst_n_d0;
reg new_rst_n;
always @(posedge clk or negedge rst_n)
beginif(!rst_n)beginnew_rst_n_d0<=0;new_rst_n<=0;endelsebeginnew_rst_n_d0<=1;new_rst_n<=new_rst_n_d0;end
end
//使用同步后的复位信号进行异步复位
always@(posedge clk or negedge new_rst_n)beginif(!new_rst_n)out <= 1'b0;		//复位将输出置零elseout <= in;			//其他时候将输入赋值给输出
end	endmodule

RTL级电路如下:

行为仿真结果如下:

综合后的电路图如下:

综合后功能仿真

综合后时序仿真

实现后的电路图如下:

实现后功能仿真

实现后时序仿真

   由于输入的复位信号同步到了当前时钟域下,VIVADO实现可以做时序分析。


总结

        从以上结果,我们可以得出以下结论:

VIVADO的器件默认是高电平复位,验证中代码使用的低电平复位,接入到FF时会在前面加一个LUT,所以日常编程如果用到复位,高电平复位可以节约逻辑资源和布线资源,这样之后有可能提高整个系统最高可运行的时钟频率,因为资源消耗少,有可能建立时间裕量和保持时间裕量会增加。

异步复位同步释放便于软件进行时序分析,能通过软件分析结果得出时序是否收敛,其他两种复位软件无法进行时序分析,无法得知设计的电路时序是否收敛。

每一种复位中,综合实现后的功能仿真对得上,综合实现后的时序仿真也对得上,只是延时不同,但是由于时序仿真考虑了延时,所以时序仿真的结果与功能仿真的结果可能会出现偏差,如本文便出现了这种情况,当然也可能是仿真激励条件过于刁钻了。实际应用中的时序电路要确保所有信号同步于时钟边沿,对于异步信号,需要同步化,这样能提高电路的可靠性。

综上,复位会消耗资源,所以能不用复位就不用复位,如果要用复位,外部的复位信号使用的方式应该是异步复位同步释放。

http://www.dtcms.com/a/578828.html

相关文章:

  • 网站子域名 更换优化营商环境建议
  • DWG选型指南:VJMAP原生兼容与GISBox轻量化发布的优劣势对比
  • Nginx的使用教程以及用途
  • 个人网站开发项目报告什么是网站
  • 呼伦贝尔寰宇网站建设网站界面设计方案
  • 青少年机器人技术等级考试理论综合试卷(一级)2018年12月
  • SnapShot备份还原丨系统引导修复
  • 典型岛屿问题全解析:DFS 与 BFS 的思路与代码实现(ACM输入输出)
  • 欢迎访问陕西省交通建设集团公司网站阿里巴巴网站优化怎么做
  • 山东网站建设企业公司修改wordpress文章发布时间
  • 浙江汉农建设有限公司网站wordpress和dede区别
  • 硬件工程师-基础知识电阻(三)
  • 杭州web前端开发目前流行的CSS样式库
  • 详解不同场景下的服务降级手段
  • BuildingAI 充值中心页面详细开发计划
  • 网站封了给个能用的朗读者外国人做的汉字网站
  • C语言中的sizeof和strlen
  • Y迷宫刺激器 MG-3S型Y迷宫刺激器
  • 弹幕网站开发代码公众号网页源码
  • 微信外链网站开发网络推广运营推广
  • 矩阵的运算(二)
  • 专业的单位网站开发开发企业管理网站建设
  • 泰安网站建设制作电话号码机械设备怎样做网络推广
  • 移动硬盘灯亮但不读取无法识别的解决方法
  • 制作销售网站有哪些规划一个电子商务网站
  • flash+xml地图网站奉贤做网站价格
  • 微信小程序开发:详细解读onLoad生命周期函数
  • 太平洋手机上海网站制作 优化
  • 使用chrony配置时间同步
  • 管理公司网站一般做什么做网站需要源码