作者hmlin (hsiumin)
看板comm_and_RF
标题Re: [问题] verilog的问题???
时间Fri May 2 23:52:53 2008
※ 引述《baoerking (basketball)》之铭言:
: 小弟看了一下大大给的testbench,发现跟我用
: wave给的波形都一样,结果却大大的不同,小弟
: 想了一下,想请问大大,如果要出现0跟1的变动
: ,不就nrst也要0跟1变动才能出现。如果nrst只
: 有一段1一段0还会出现010101的现像吗?
: 小弟觉得是quartus本身的问题,只是不知为什麽
如果没有在sequence circuit 使用non blocking assignment
always @(posedge clk or negedge rstz)
a = clk;
特别是上面的情况下 就会发生R/W race condition
因为 当clk posedge的时候 把clk 填进a, 问题是simulator
不是电路平行执行 而是像C一样 一条一条的执行 这时候到底是
clk先被写到1'b1, 还是clk 先被读到posedge?
所以就会发生Race, 执行的结果 depend on simulator 怎麽设计的
所以quartus , ncverilog两个跑起来不依样 甚至同个simulator
改变写法 结果也不依样 这也很正常
详细情况可以参考依本书
Writing Testbenches: Functional Verification of HDL Models,
Second Edition (Hardcover) by Janick Bergeron
--
my webpage:
http://www.wretch.cc/album/hsiumin
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.76.194