Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12408 Discussions

How the software infers the burst counts over the Avalon-MM interface?

Altera_Forum
Honored Contributor II
842 Views

Hello, 

Description: I’m working under a project, which includes my custom IP to communicate over the Avalon-MM interface with NIOS-II /f. My custom IP is structural design and contains following components: Avalon-MM Slave bus, custom single dual-port block memory (separate writes and reads, and set for M10K). The writes supposed to transfer 32-bit data to the 24-bit single clock dual-port block RAM from the NIOS by software, and reads from an external device, such as our custom VGA controller. The custom Avalon-MM implemented in VHDL and has following ports: ADDRESS, CHIP SELECT, BURST COUNT, WRITE DATA, WRITE, READ DATA, READ, WAIT REQUEST, RESPONSE and READ DATA VALID. The VGA Controller just simply reads the data from the block RAM (no Avalon interface). The FPGA target is Cyclone-V, device: 5CSEMA5F31C6; Quartus II Subscription Edition v 15.0; Windows 7. 

Question 1: How the software infers the burst counts over the Avalon-MM interface? I assume, it could be by “for’ or “while” loops in C code. Is that correct? Of course, the custom component and the NIOS have to support burst count modes. This is the one approach I can implement my design to write data into the single clock dual-port block RAM. 

Question 2: Is it worth to implement the writes into the RAM is to create the second Avalon-MM interface such as CSR (Control and Status Register), similar to the DMA or SGDMA? That would include destination address, data length, control and status registers with certain address offsets.  

Question 3: Where I can get the Avalon-MM Slave bus template? Altera wiki doesn’t work for me, there are Verilog-based design and it contains a lot of unnecessary info. I need VHDL. 

Question 4: What would you recommend in my case? Approach described in question 1 or 2? 

Kind Regards, 

Val
0 Kudos
0 Replies
Reply