Avalon BFM burst operation.

Status
Not open for further replies.

muthu7495

Junior Member level 1
Joined
Apr 18, 2017
Messages
16
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
147
Hi all,
I need information about burst write operation in avalon bfm. Below i mentioned the task which i am using.
In that burst_size is 3 and burst_count in each burst is 2.So totally 6 data transaction will happen.But In my case i am getting only three data transacation and
and address is also not incrementing(Adress is zero for all transaction).

Please if any one knows about the burst transaction in altera avalon bfm help me .


////////////////////////////////Task //////////////////////////////////////

task data_init(output bit[511:0] data [int]);
for(int i=0; i<6; i++)
data = {$random(), $random()};
endtask

task avalon_write ([34:0] addr, bit[511:0] data [int]);
// Construct the BFM request
`BFM.set_command_request(REQ_WRITE);
`BFM.set_command_idle(0, 0);
`BFM.set_command_init_latency(0);
`BFM.set_command_address(addr);

`BFM.set_command_burst_size(3);
`BFM.set_command_burst_count(2);

for(int i=0; i<6; i++)
begin
`BFM.set_command_data(data, i);
`BFM.set_command_byte_enable(48'hffff_ffff_ffff,i);
end
// Queue the command
`BFM.push_command();

// Wait until the transaction has completed
while (`BFM.get_response_queue_size() != 1)
@(posedge `BFM.clk);

// Dequeue the response and discard
`BFM.pop_response();
endtask

bit[511:0] data[int];
/////////////////////////////

initial
begin
data_init(wdata);
avalon_write('d0,wdata);
end
///////////////////////////////


Thanks
Venkat
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…