Intel® FPGA SDK for OpenCL™ Pro Edition: Custom Platform Toolkit User Guide
                    
                        ID
                        683085
                    
                
                
                    Date
                    3/28/2022
                
                
                    Public
                
            
                
                    
                        1. Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit User Guide
                    
                    
                
                    
                        2. Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit Reference Material
                    
                    
                
                    
                    
                        3. Intel FPGA SDK for OpenCL Pro Edition Custom Platform Toolkit Archives
                    
                
                    
                    
                        4. Document Revision History for Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit User Guide
                    
                
            
        
                        
                        
                            
                            
                                1.1. Prerequisites for the Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform Toolkit
                            
                        
                            
                                1.2. Overview of the Intel® FPGA SDK for OpenCL™ Pro Edition Custom Platform
                            
                            
                        
                            
                                1.3. Custom Platform Automigration for Forward Compatibility
                            
                            
                        
                            
                                1.4. Creating an Intel® FPGA SDK for OpenCL™ Custom Platform
                            
                            
                        
                            
                            
                                1.5. Applying for the Intel® FPGA SDK for OpenCL™ Pro Edition Preferred Board Status
                            
                        
                            
                            
                                1.6. Shipping Recommendations
                            
                        
                    
                
                                    
                                    
                                        
                                        
                                            2.3.1. aocl_mmd_get_offline_info
                                        
                                        
                                    
                                        
                                        
                                            2.3.2. aocl_mmd_get_info
                                        
                                        
                                    
                                        
                                        
                                            2.3.3. aocl_mmd_open
                                        
                                        
                                    
                                        
                                        
                                            2.3.4. aocl_mmd_close
                                        
                                        
                                    
                                        
                                        
                                            2.3.5. aocl_mmd_read
                                        
                                        
                                            
                                                Syntax
                                            
                                                Function Arguments
                                            
                                                Return Value
                                            
                                        
                                    
                                        
                                        
                                            2.3.6. aocl_mmd_write
                                        
                                        
                                    
                                        
                                        
                                            2.3.7. aocl_mmd_copy
                                        
                                        
                                    
                                        
                                        
                                            2.3.8. aocl_mmd_set_interrupt_handler
                                        
                                        
                                    
                                        
                                        
                                            2.3.9. aocl_mmd_set_device_interrupt_handler
                                        
                                        
                                    
                                        
                                        
                                            2.3.10. aocl_mmd_set_status_handler
                                        
                                        
                                    
                                        
                                        
                                            2.3.11. aocl_mmd_yield
                                        
                                        
                                    
                                        
                                        
                                            2.3.12. aocl_mmd_shared_mem_alloc
                                        
                                        
                                    
                                        
                                        
                                            2.3.13. aocl_mmd_shared_mem_free
                                        
                                        
                                    
                                        
                                            2.3.14. aocl_mmd_program
                                        
                                        
                                        
                                    
                                        
                                        
                                            2.3.15. aocl_mmd_reprogram
                                        
                                        
                                    
                                        
                                        
                                            2.3.16. aocl_mmd_hostchannel_create
                                        
                                        
                                    
                                        
                                        
                                            2.3.17. aocl_mmd_hostchannel_destroy
                                        
                                        
                                    
                                        
                                        
                                            2.3.18. aocl_mmd_hostchannel_get_buffer
                                        
                                        
                                    
                                        
                                        
                                            2.3.19. aocl_mmd_hostchannel_ack_buffer
                                        
                                        
                                    
                                        
                                        
                                            2.3.20. aocl_mmd_host_alloc
                                        
                                        
                                    
                                        
                                        
                                            2.3.21. aocl_mmd_free
                                        
                                        
                                    
                                        
                                        
                                            2.3.22. aocl_mmd_device_alloc
                                        
                                        
                                    
                                        
                                        
                                            2.3.23. aocl_mmd_shared_alloc
                                        
                                        
                                    
                                        
                                        
                                            2.3.24. aocl_mmd_shared_migrate
                                        
                                        
                                    
                                
                            2.3.5. aocl_mmd_read
 The aocl_mmd_read function is the read operation on a single interface. 
  
 
  Syntax
int aocl_mmd_read( int handle,
                   aocl_mmd_op_t op,
                   size_t len,
                   void* dst,
                   aocl_mmd_interface_t interface,
                   size_t offset ); 
  Function Arguments
- handle—A positive int value representing the handle to the board obtained from the aocl_mmd_open() call.
-  op—The operation object of type aocl_mmd_op_t used to track the progress of the operation. If op is NULL, the call must block, and return only after the operation completes. 
     Note:aocl_mmd_op_t is defined as follows: typedef void* aocl_mmd_op_t; 
- len—The size of the data, in bytes, that the function transfers. Declare len with type size_t.
- dst—The host buffer, of type void*, to which data is written.
-  interface—The handle to the interface that aocl_mmd_read is accessing. For example, to access global memory, this handle is the enum value aocl_mmd_get_info() returns when its requested_info_id argument is AOCL_MMD_MEMORY_INTERFACE. The interface argument is of type aocl_mmd_interface_t, and can take one of the following values: 
     Name Description AOCL_MMD_KERNEL Control interface into the kernel interface AOCL_MMD_MEMORY Data interface to device memory AOCL_MMD_PLL Interface for reconfigurable PLL 
- offset—The size_t byte offset within the interface at which the data transfer begins.
Return Value
If the read operation is successful, the return value is 0.
If the read operation fails, a negative return value indicates an error.