yigeren0405 发表于 2011-6-21 15:29:22

异步清零、置位D触发器

关于异步清零、置位D触发器
小弟设计的一个程序如下
always @ (posedge clk or negedge set or negedge reset)

       begin
            if(!reset) begin q<=0;qn<=1;end//异步清0,低有效
            else if(!set) begin q<=1;qn<=0;end //异步置1,低有效
            else begin q<=d;qn<=~d;end
       end
按理说,当reset下降沿时,q应该会立刻置为1才对,可是为什么在功能仿真时缺没有立刻置位呢?
http://cache.amobbs.com/bbs_upload782111/files_41/ourdev_650855IM1INH.jpg
(原文件名:未命名.jpg)
望大侠们赐教

tortoisechan 发表于 2011-6-21 20:51:47

下降沿的时候reset还是为低的,所以屏蔽SET信号。

yigeren0405 发表于 2011-6-23 17:12:34

可是reset明明是下降沿有效的啊,为什么为低的话也会屏蔽了set信号?

freud 发表于 2011-6-23 21:11:42

reset为低的时候还是会走上面那个分支,和always里的条件没啥关系,因为是异步的

yigeren0405 发表于 2011-6-25 10:10:46

那要是按楼上的说法,要实现异步清零、置位应该怎么改呢?谢谢了

tigeroser 发表于 2012-5-2 20:43:17

5 1放假时记得仿真出来了,现在怎么想也想不出来,好像没保存。主要不想用那个D触发器输出来判断相位超前还是滞后的方案、、、
页: [1]
查看完整版本: 异步清零、置位D触发器