User manual

54 www.xilinx.com SPI-4.2 v8.5 Getting Started Guide
UG154 March 24, 2008
Appendix B: Verilog Details
R
begin
TCSnkDip2ErrRequest <= 1'b1;
SnkDip2ErrRequestCnt <= {$random(`RANDOM_SEED + $time)} % 9;
end
end
//Sends a random sized packet to a random channel
if (RandTask == 0)
begin
tasks.send_packet({$random(`RANDOM_SEED + $time)} % (`NUM_CHANNELS
- 1), ($random(`RANDOM_SEED + $time) % 255) + 1'b1);
end
//Sends a random sized packet to a random channel. Also SOP, EOP, and
//Err are randomized
else if (RandTask == 1)
begin
tasks.send_user_data({$random(`RANDOM_SEED + $time)} % 2,
{$random(`RANDOM_SEED + $time + $random(`RANDOM_SEED))} % 2,
{$random(`RANDOM_SEED + $time + $random(`RANDOM_SEED + $time))} % 2,
{$random(`RANDOM_SEED + $time)} % (`NUM_CHANNELS - 1),
($random(`RANDOM_SEED + $time) % 255) + 1'b1);
end
//Sends a random number of idles to the Sink Core
else if (RandTask == 2)
begin
tasks.send_idles(({$random(`RANDOM_SEED + $time)} % 10) + 1);
end
//Sends a random number of training patterns to the sink core
else if (RandTask == 3)
begin
tasks.send_training(({$random(`RANDOM_SEED + $time)} % 10) + 1);
end
else
begin
@ (posedge RDClk2x);
$display("Out of Range: %0d", $time);
end
end