- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I have 256 bit input data and 64 bit address in input side of mm_interconnect. In output side 256 bit data and 30 bit address. How this altera_mm_ interconnect transfer the data for 2 beat transfer. Will it club two 256 bit data and generate one 512 bit write data in output side or Based on byte_enable signal will it send two 256 bit data. Please someone explain functionality of this.I could not find any spec pdf releated to this. Thanks VenkatLink Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Transfer sizes are based on the data width, not the addressing. So if your data is 256 bits on both the master and slave sides, it will take two cycles to perform two writes, barring any latency options or pipeline settings.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Transfer sizes are based on the data width, not the addressing. So if your data is 256 bits on both the master and slave sides, it will take two cycles to perform two writes, barring any latency options or pipeline settings. --- Quote End --- Thanks for your reply. I mentioned wrong data width in output side.Actually input data width is 256 bit output data width is 512. So will it club two 256 data and send one packet of 512 bit for 2 beat burst transfer. In my simulation it is not clubbing. For every beat it is generating 512 bit data. Data - 'h55 ,'h66 (which i am sending) Beat Address (Input of interconnect) Address (output of interconnect) Data(Input of Interconnect) Data(output of Interconnect 512 bit) |MSB(256 bit) | LSB (256 bit)| 0 64'b0000_0010_0000_0000(Base address ) 30'h0 256'h55 'h | all zeros | 000000055| 1 30'h0 256'h66 'h | 000066 | all zeros | So the final value of address zero in slave side is 512'h 000066_00000000000000000000.. The data 55 is lost . Interconnect is generating this type of write.It is not clubbing the two 256 bit data. Is it bug in interconnect or any other mask signal is needed for this transaction(like byteenable). Thanks & Regards Muthuvenkatesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm not sure I understand what you mean by "clubbing" the data. I presume you mean "combining." And I presume you mean the "input" side is the master" and the "output" side is the slave.
For a narrower master writing to a wider slave, it will only write to the lower byte lanes unless you increase the address. Byte enables are added automatically inside the interconnect (you don't have to add them yourself). So your first transfer is correct. For your second transfer, you have to increase the address by 32 (256 bits / 8) to access the upper 256 bits at the slave since masters use byte addressing by default. See page 36 of the Avalon spec: https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/manual/mnl_avalon_spec.pdf- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- I'm not sure I understand what you mean by "clubbing" the data. I presume you mean "combining." And I presume you mean the "input" side is the master" and the "output" side is the slave. For a narrower master writing to a wider slave, it will only write to the lower byte lanes unless you increase the address. Byte enables are added automatically inside the interconnect (you don't have to add them yourself). So your first transfer is correct. For your second transfer, you have to increase the address by 32 (256 bits / 8) to access the upper 256 bits at the slave since masters use byte addressing by default. See page 36 of the Avalon spec: https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/manual/mnl_avalon_spec.pdf --- Quote End --- Here i am doing burst transfer(burst count 2) so that i am passing only base address.Is it necessary to increase address in burst operation also in avalon ? /////////////////////////Task Which I am using ///////////////////// task automatic mm_send_cfg_write; input [63:0] addr; input bit[255:0] data[int]; `MM_BFM.set_command_address(addr); `MM_BFM.set_command_burst_size(2); `MM_BFM.set_command_burst_count(2); `MM_BFM.set_command_init_latency(0); `MM_BFM.set_command_request(REQ_WRITE); for(int i=0;i<2;i=i+1) begin `MM_BFM.set_command_data(data[i],i); `MM_BFM.set_command_byte_enable(32'hffff_ffff, i); end `MM_BFM.set_command_idle(0,0); `MM_BFM.set_command_timeout(0); `MM_BFM.push_command(); @(`MM_BFM.signal_write_response_complete ); `MM_BFM.pop_response(); endtask Thanks Venkat
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Assuming this is a custom slave, it has to handle the bursting correctly. Only the first address is presented in a burst. Your slave has to understand where to write the second data. Again see the Avalon spec pages 31-32.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Assuming this is a custom slave, it has to handle the bursting correctly. Only the first address is presented in a burst. Your slave has to understand where to write the second data. Again see the Avalon spec pages 31-32. --- Quote End --- Thanks for your guidance. As per avalon burst write/read protocol only i am giving the inputs.Stimulus part is fine. But interconnect is not combining the input data. My master(256bit) is narrower than slave(512bit).It should combine the two 256 bit input data and send one packet of 512 bit. Inside the interconnect we have one module altera_merlin_width_adapter.In that PACKING(Single bit) is one parameter for that module.Now that PACKING is zero. Is it related to my issue.Do you have any idea about that? Thanks Venkat

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page