Introduction
If you want to determine the behavior of an access to an undefined slave area in Platform Designer (formerly Qsys), it is recommended to use Default Slave as described below. If you do not use Default Slave, the access destination will not be defined and where the access goes will be undefined.
-
[Intel® Quartus® Prime Standard Edition User Guide Platform Designer]
Accessing Undefined Memory Regions - [ Where do transactions to undefined addresses get routed to in QSys?]
There are two ways to use the Default Slave:
- 1. How to use a specific component as the Default Slave
- 2. How to automatically add a Default Slave in the tool settings
Note:
In the first method, you can freely determine the logic to be used for the Default Slave, so you can customize the response when an undefined area is accessed.
In the second method, the logic of the Default Slave is automatically connected, and the behavior differs depending on the interface.
- In the case of AXI, the following results are obtained
- Write access: DECEER response with BRESP
- Read access: DECEER response on RRESP
- In the case of Avalon, the result is as follows.
- Write access: access completes successfully (data is thrown away)
- Read access: All 'F' data returned
Below are the methods for adding a Default Slave for each of these methods.
1. How to use a specific component as the Default Slave
- Position the mouse pointer over the title bar in the System Contents tab of the Platform Designer.
- Then right-click and select Show Default Slave Column from the pull-down menu.
- The Show Default Slave column will be added and the checkboxes will appear unchecked for the Avalon-MM Slave component.
- For example, if the Default Slave column for the Avalon-MM slave component named PIO_2 is checked, the component's address map (the address space indicated by the Base and End columns) will disappear and both will be labeled default.
This means that if an access to an undefined address is issued, the access will be issued to the component specified above.
2. How to automatically add a Default Slave in the tool settings
- Click the Interconnect Requirements tab.
- Click on the Interconnect Requirements tab, click on the Add button, and add the following parameters.
- Identifier: $system
- Setting: Automate default slave insertion
- Value: TRUE
If access is issued to an undefined address, access will be issued to the Default Slave that is automatically added to the interconnect.