Verilog系列:仿真中遇到glbl.v

在做Xilinx FPGA仿真的过程中,经常会遇到找不到glbl.v文件的情况,本文整理一些资料对glbl.v如何仿真简要介绍.

1.关于glbl.v

Xilinx FPGA片内资源上都有用于寄存器的置位和复位的专用电路单元,这个电路单元会在电路配置完毕后产生一个脉冲(自动产生的,且无需编写代码指定,这点与SoC设计时需要指定复位置位不同),所有的片上的寄存器和latch都会通过全局GSR(Global Set-Reset)线网收到这个脉冲从而使寄存器和latch置位或者复位,从而处于一个稳定的状态.如果在前仿真的时候没有指定GSR,那么前仿真的结果可能与后仿真的结果不一致,从而导致仿真结果可能不一致.可见, glbl.v常用来定义全局复位/置位、全局三态信号和DUT的连接,并且用来为设计提供有效地复位信号,对设计中使用到的全局信号进行初始化.在仿真起始的100ns,glbl将自动产生全局复位/置位.

NOTE: The"glbl.v" module connects the Global Set/Reset and Global Tristatesignals to the design. In order to properly reset the design in a Verilogsimulation, the "glbl.v" module must be compiled and loaded alongwith the design. The "glbl.v" automatically pulses Global Set/Reset(GSR) for the first 100 ns of the simulation.

2.存在glbl.v文件的编译

此处以ModelSim仿真器为例,VCS和NC步骤类似,不再赘述.

a)         新建库work

b)         编译Xilinx的仿真库(在软件的安装路径下可以找到)到work中;

c)         编译glbl.v到新建的work中;

d)         编译设计的所有源文件以及Testbench文件到work中;

e)         ModelSimload设计,并且使用-L指向刚才编译的库work

具体操作如下:

a)         vlib work

b)         vlog $env(XILINX)/*.v

c)         vlog glbl.v

d)         vlog source.v tb.v

e)         vsim -t ps -L work work.tb work.glbl

任何设计在编译的时候首先需要把设计中需要的文件编译到指定的库中,特别是这种glbl.v文件,由于其结构类似于Testbench,故在进行仿真时需要同时指定vsim Testbenchglbl.

【参考文献】

全部评论
准备好的人把握机会
点赞 回复 分享
发布于 2022-09-14 16:21 河南

相关推荐

07-22 11:35
门头沟学院 Java
谁知道这是为什么吗,有没有懂的佬给讲讲
理智的小饼干又熬夜了:鹅打电话问我参不参加后台提前批,说是有的但还没放官网
点赞 评论 收藏
分享
07-25 11:12
重庆大学 C++
既然这么缺人,为什么挂我呢
希望被offer砸中...:其实不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务