Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21585 ディスカッション

Why is the maximum burst count 2 ** (AV_BURSTCOUNT_W-1)

Altera_Forum
名誉コントリビューター II
1,447件の閲覧回数

In altera_avalon_mm_master_bfm, when the burst count is greater than 2 ** (AV_BURSTCOUNT_W-1), it will generate a warning. Suppose AV_BURSTCOUNT_W is 4, then the maximum burst count is 15 instead of 8, is this a bug in altera_avalon_mm_master_bfm ? 

 

Here is the relevant code: 

 

if (burst_count < 1) begin 

$sformat(message,  

"%m: Illegal Burst Count value: %0d - must be >= 1", 

burst_count); 

print(VERBOSITY_WARNING, message); 

end else if (burst_count > 2**(AV_BURSTCOUNT_W-1)) begin 

$sformat(message,  

"%m: Illegal Burst Count value: %0d - must be <= %0d", 

burst_count, 2**(AV_BURSTCOUNT_W-1)); 

print(VERBOSITY_WARNING, message); 

end
0 件の賞賛
2 返答(返信)
Altera_Forum
名誉コントリビューター II
500件の閲覧回数

The maximum burst count is 2**(N-1) because that is what Altera defined it to be in the avalon interface specifications (http://www.altera.com/literature/manual/mnl_avalon_spec.pdf). 

 

This definition is somewhat arbitrary. I would guess Altera chose 2**(N-1) instead of (2**N) - 1 so that the max burst count is an even power of 2. 

 

To guarantee compatibility between components, you need to adhere to the specification.
Altera_Forum
名誉コントリビューター II
500件の閲覧回数

OK,I understand, thank you

返信