作者felghana (adol)
看板Electronics
标题Re: [问题] veriog撰写问题
时间Fri Aug 7 00:25:06 2009
: reg incr_d;
: always @ ( posedge reset or posedge clk )
: if ( reset ) incr_d <= 1'b0;
: else incr_d <= incr;
: wire incr_p = incr & ~incr_d;
: reg decr_d;
: always @ ( posedge reset or posedge clk )
: if ( reset ) decr_d <= 1'b0;
: else decr_d <= decr;
: wire decr_p = decr & ~decr_d;
: reg [12:0] mod_n;
: always @ ( posedge reset or posedge clk )
: if ( reset ) mod_n <= 13'h000;
: else if ( incr_p ) mod_n <= mod_n + 13'h00a;
: else if ( decr_p ) mod_n <= mod_n - 13'h00a;
讲一下我对这个电路的想法好了 各位大大看有没有错
1.假定某一时间incr=1 那麽incr_p也会立刻变为1
2.当离这个时间最接近的那一次posedge clk发生的瞬间
会同时进入三个always block 因此incr_d=1造成incr_p=0
3.同时间第三个always block也要根据incr_p的值来决定进入哪个判断式
我的疑问就是 这样2和3同时发生 能确定一定会跑mod_n <= mod_n + 13'h00a 吗?
到底是incr_p先变为0 再做判断
还是incr_p还没变为0时 就做完判断了
我的电路要後者才是正确的
不知道我有哪边想错? 还请指教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.114.128.176
※ 编辑: felghana 来自: 58.114.128.176 (08/07 00:49)
1F:→ WizardRush:假如把code+testbench丢到verdi run一下 就不会有这麽 08/07 01:06
2F:→ WizardRush:多烦恼了 08/07 01:06
3F:→ WizardRush:可惜你似乎没有学过cadtool.. 08/07 01:06