- 主题:register异步reset问题求教
register的异步reset,在verilog敏感信号中一般写成 negedge reset_n,但是在foundary给的datasheet中异步reset是电平有效而不是边沿有效的。
这样仿真可能会有问题,如果reset_n从一上电开始就是低电平的,就可能导致register没有被reset,这个问题大家一般怎么解?
真实电路中的异步reset是边沿触发的还是电平触发的?
--
修改:flyskyseu FROM 221.224.87.*
FROM 221.224.87.*
那真实电路中的异步reset是边沿触发的还是电平触发的?
【 在 attle 的大作中提到: 】
: datasheet 有的时候是错的,尤其是smic...
: verilog model 通常是对的,仿一下吧
--
FROM 221.224.87.*
那仿真register没有被reset的问题怎么解?
【 在 ericking0 的大作中提到: 】
: 刚好相反,对rstn而言,datasheet是对的,
: 从实际的大部分的dff电路看,rstn就是电平有效,异步复位,同步解复位,
: 如果真的是边沿有效的话,POR上电过程中只有一个上升沿,怎么复位啊?
: ...................
--
FROM 221.224.87.*
现在就是vcs 2016看到这样的问题
【 在 PrimeTime 的大作中提到: 】:
仿真器一般没这问题,都是电平reset的,并不是你猜的这样
【 在 flyskyseu (flyskyseu) 的大作中
--
FROM 49.92.145.*
实在不行在一开始force一个pulse
【 在 ericking0 的大作中提到: 】:
我做模拟的野路子,顺手写一些通路滤波器和模拟电路的控制状态机;
我当时问了一圈没问到啥办法,就自己在前面加了一个rstn
--
FROM 49.92.145.*
我的情况就是reset_n为低的时候没有clock
【 在 chenpp 的大作中提到: 】
: 你仿真代码没看全吧。
: negedge reset_n or posedge clock 的always block里面第一句通常都是if(!reset_n) .....
: 通常情况下,即便没有复位的下降沿,复位回到高电平之前都会有时钟,然后上面的那个if就会起作用……
--
FROM 221.224.87.*