vivado进行仿真时,GSR信号的理解和影响

轻丽酱_9457

轻丽酱_9457

2025-10-22

461人浏览

原创

本篇重点探讨在使用vivado进行仿真时,对gsr信号的理解及其可能带来的影响。

当我们在vivado中完成FPGA设计代码与测试激励的编写后,点击“Run Simulation”以启动modelsim等仿真工具进行验证。

此时,在波形窗口中除了能看到自己定义的信号外,还会观察到一个名为GSR的信号。该信号初始为1,大约在100ns时刻由高变低,呈现为一条虚线。

vivado进行仿真时,GSR信号的理解和影响

这个信号从何而来?

实际上,vivado在启动仿真流程时,会自动加载一个名为glbl.v的系统级模块文件。而GSR信号正是在这个全局模块中被声明并驱动的。

它会对仿真结果产生影响吗?

通常情况下,许多工程师会选择直接隐藏或忽略该信号,认为其存在与否不影响功能验证。然而,这种做法在某些场景下可能会掩盖潜在问题。

那么GSR到底有何作用?难道只是一个冗余信号?

直到一次进行时序仿真(post-layout simulation)时,发现了一个异常现象:

vivado进行仿真时,GSR信号的理解和影响

图中所示为两个信号a、b经过一个与门输出y的逻辑路径,且其前级是异步复位寄存器。在GSR仍为高电平期间,尽管a和b均已稳定为高电平,但y并未如预期输出高电平;而当GSR变为0之后,电路行为恢复正常。

这表明:问题很可能出在GSR上。

进一步查看时序仿真的网表文件可知,此时所仿真的并非原始RTL代码,而是综合、实现后由FPGA底层原语构成的门级网表。

(提示:后仿真使用的是映射到实际器件结构的网表文件)

科学计算器在线使用工具代码
科学计算器在线使用工具代码

html5 css3制作在线科学计算器ui布局,3D计算器面板,加减乘除数字计算器工具特效。

下载

深入查找相关元件模型(位于Xilinx的unisims库中),可以找到FDCE触发器的仿真模型定义。

vivado进行仿真时,GSR信号的理解和影响

继续查看FDCE内部实现细节:

vivado进行仿真时,GSR信号的理解和影响
vivado进行仿真时,GSR信号的理解和影响

可以看出,FDCE的行为受GSR信号控制——在GSR为高期间,无论D输入如何变化,Q输出都将被强制维持在初始状态(通常是0),直到GSR释放(拉低)后,寄存器才开始正常响应时钟和数据输入。

这就解释了前述bug的原因:即使用户复位已经释放,只要GSR仍处于激活状态(高电平),寄存器依然无法更新其输出。

该如何应对这种情况?

解决方案有两种思路:一是调整GSR拉低的时间点(不推荐),二是将有效激励信号的施加时间推迟至GSR释放之后。

建议做法:在进行仿真(尤其是时序仿真)时,确保所有关键信号(包括复位信号)的有效动作延迟至少100ns以上,即避开GSR的默认有效周期。

简要总结GSR的作用机制:它是FPGA内部的一个全局复位信号,用于在上电或配置完成后统一初始化所有寄存器。

在vivado仿真环境中,GSR信号的存在对于准确模拟FPGA真实启动过程至关重要。仿真器会在t=0时刻自动激活GSR一段时间(约100ns),以此模拟硬件上电后配置完成前的全局清零阶段。随后GSR自动释放,用户设计中的逻辑(包括用户自定义复位逻辑)才能真正开始运行。

因此,在波形中关注glbl.GSR的变化时机,以及各寄存器在此期间的状态转换,是验证系统启动顺序和复位可靠性的关键环节。

除非有特殊调试目的,否则不应随意屏蔽或修改GSR的默认行为,否则可能导致仿真与实际硬件行为不一致。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

0

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

180

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

60

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

80

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

60

25

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

2026.09.16

40

27

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

2026.09.11

380

28

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

2026.09.11

120

22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Pandas 官方文档与用户指南
Pandas 官方文档与用户指南

共0课时 | 0人学习

GDB 当前开发版文档
GDB 当前开发版文档

共0课时 | 0人学习

Valgrind研究论文资料
Valgrind研究论文资料

共0课时 | 0人学习