[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pci] task DO_REF in system.v
DO_REF seems the task that all tests use to drive PCI operations. I have
trouble understanding this simple task. Please help!
The following loop is in the beginning of this task:
// Cautiously wait for previous command to be done
for (waiting = test_accepted_l_int; waiting != 1'b0; waiting =
waiting)
begin
if (~pci_reset_comb && (test_accepted_l_int == 1'b0))
begin
if (~pci_reset_comb)
begin
@ (negedge pci_ext_clk or posedge pci_reset_comb) ;
end
`NO_ELSE;
end
else
begin
waiting = 1'b0; // ready to do next command
end
end
It does not seem to wait at all in any case. If test_accepted_l_int is 1
when entering this loop, the loop is terminated immediately after doing
waiting = 1'b0. If test_accepted_l_int is 0, the loop is simply skipped
due to the condition wait != 1'b0. Earlier in this file,
test_accepted_l_int is declared as triand and also pulled up so that its
value cannot be Z. Its value should not be X either.
Am I missing anything?
--
To unsubscribe from pci mailing list please visit http://www.opencores.org/mailinglists.shtml