- 主题:register异步reset问题求教
你仿真代码没看全吧。
negedge reset_n or posedge clock 的always block里面第一句通常都是if(!reset_n) .....
通常情况下,即便没有复位的下降沿,复位回到高电平之前都会有时钟,然后上面的那个if就会起作用……
【 在 flyskyseu (flyskyseu) 的大作中提到: 】
:
: register的异步reset,在verilog敏感信号中一般写成 negedge reset_n,但是在foundary给的datasheet中异步reset是电平有效而不是边沿有效的。
: 这样仿真可能会有问题,如果reset_n从一上电开始就是低电平的,就可能导致register没有被reset,这个问题大家一般怎么解?
: 真实电路中的异步reset是边沿触发的还是电平触发的?
--
FROM 72.217.89.38
我的情况就是reset_n为低的时候没有clock
【 在 chenpp 的大作中提到: 】
: 你仿真代码没看全吧。
: negedge reset_n or posedge clock 的always block里面第一句通常都是if(!reset_n) .....
: 通常情况下,即便没有复位的下降沿,复位回到高电平之前都会有时钟,然后上面的那个if就会起作用……
--
FROM 221.224.87.*
难道vcs一开始不是所有信号都是x,然后激励才会生效到驱动信号上。
所以最前面应该会有个x到0的跳变的。
【 在 flyskyseu 的大作中提到: 】
: 我的情况就是reset_n为低的时候没有clock
--
FROM 114.247.226.*
你去看看flop的cmos电路就知道了。异步复位的只要rstn为0就有效了,没什么需要个下降沿之说。这些flop都是nmos、pmos搭出来的,看看电路图很清楚的。
--
FROM 58.247.170.*
如果写always@(posedge clk or rst_n),即使复位释放时没有时钟,Q端也会错误的动起来
有这个疑问的是不知道这个吧:如果写initial rst_n=0,仿真一开始就有一个negedge rst_n
【 在 flyskyseu 的大作中提到: 】
: register的异步reset,在verilog敏感信号中一般写成 negedge reset_n,但是在foundary给的datasheet中异步reset是电平有效而不是边沿有效的。
: 这样仿真可能会有问题,如果reset_n从一上电开始就是低电平的,就可能导致register没有被reset,这个问题大家一般怎么解?
: 真实电路中的异步reset是边沿触发的还是电平触发的?
--
FROM 111.198.253.*
额,这不是基础吗?标准的寄存器复位就是电平触发
一般仿真的时候自己做个复位操作就ok
【 在 flyskyseu 的大作中提到: 】
: 那真实电路中的异步reset是边沿触发的还是电平触发的?
--
FROM 112.65.61.*
Verilog里面的复位写法是先沿触发,再判断电平,是一回事吗?
【 在 WebGL 的大作中提到: 】
: 额,这不是基础吗?标准的寄存器复位就是电平触发
: 一般仿真的时候自己做个复位操作就ok
--
FROM 183.192.9.*
你这连同步复位和异步复位都没分清楚
异步复位是没看clock的
【 在 chenpp (本人男) 的大作中提到: 】
: 你仿真代码没看全吧。
: negedge reset_n or posedge clock 的always block里面第一句通常都是if(!reset_n) .....
: 通常情况下,即便没有复位的下降沿,复位回到高电平之前都会有时钟,然后上面的那个if就会起作用……
: ...................
--
FROM 101.87.109.*
.……异步复位触发器用verilog应该咋写……
【 在 Xaoyao () 的大作中提到: 】
: 你这连同步复位和异步复位都没分清楚
: 异步复位是没看clock的
:
:
--
FROM 172.58.21.46
我认为你说的有道理,从x到0就是一个negedge
【 在 diploma () 的大作中提到: 】
:
: 难道vcs一开始不是所有信号都是x,然后激励才会生效到驱动信号上。
: 所以最前面应该会有个x到0的跳变的。
:
--
FROM 101.86.177.*