dimesdl.h

来自「基于4个mips核的noc设计」· C头文件 代码 · 共 658 行 · 第 1/3 页

H
658
字号

// DMA Close channel flags.
#define ddmaCLOSEWAITFORFINISH	0x00000000		// If used as a flag when closing the channel the close will wait for any active transfer to be completed before closing the channel.
#define	ddmaCLOSETERMINATE		0x00000001		// If used as a flag when closing the channel any active transfer will be terminated.

// DMA Transfer flags
#define ddmaBLOCKING			0x00000000		// DIME_DMA Transfers flag bits - Transfers block until complete
#define ddmaNONBLOCKING			0x00000001		// DIME_DMA Transfers flag bits - Transfers not blocked
#define ddmaPHYSICALADDR		0x00000002		// DIME_DMA Transfers flag bits - The local address is already a physical address
#define ddmaINITWORDADDR		0x00000004		// DIME_DMA Transfers flag bits - Initial word in data block is an address
// Returned values from a transfer
// These are the error returns for data transfers
#define ddmaOK					0x00000000
#define ddmaINVALID_HANDLE		0x00000001
#define ddmaTERMINATED			0x00000002
#define ddmaMEM_ERROR			0x00000003
#define ddmaTIMEDOUT			0x00000004
#define ddmaINPROGRESS			0x00000005
#define ddmaINTERRUPT_ERROR		0x00000006
#define ddmaINVALID_MEM_HANDLE	0x00000007
// These are legacy and should not be used
#define dtOK					0x00000000		// OBSELETE
#define dtINVALID_HANDLE		0x00000001		// OBSELETE
#define dtTERMINATED			0x00000002		// OBSELETE
#define dtMEM_ERROR				0x00000003		// OBSELETE
#define dtTIMEOUT				0x00000004		// OBSELETE
#define dtINPROGRESS			0x00000005		// OBSELETE
#define dtINTERRUPT_ERROR		0x00000006		// OBSELETE

CMANGLE NALLAEXPORT DIME_DMAHANDLE DIME_DMAOpen(DIME_HANDLE handle,DWORD DMAChannel,DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_DMAClose(DIME_HANDLE handle, DIME_DMAHANDLE DMAhandle,DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_DMAStatus(DIME_HANDLE handle, DIME_DMAHANDLE DMAChannel, DWORD CmdMode);
CMANGLE NALLAEXPORT DWORD DIME_DMAControl(DIME_HANDLE handle, DIME_DMAHANDLE DMAChannel, DWORD CmdMode, DWORD Value);
//DMA transfer functions.
CMANGLE NALLAEXPORT DWORD DIME_DMARead(DIME_HANDLE handle, DIME_DMAHANDLE DMAChannel, DWORD *DestData, DWORD SrcAddr, DWORD WordCount, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_DMAWrite(DIME_HANDLE handle, DIME_DMAHANDLE DMAChannel, DWORD *SrcData, DWORD DestAddr, DWORD WordCount, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_DMAReadToLockedMem(DIME_HANDLE handle, DIME_DMAHANDLE DMAChannel, DIME_MEMHANDLE DestData, DWORD SrcAddr, DWORD WordCount, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_DMAWriteFromLockedMem(DIME_HANDLE handle, DIME_DMAHANDLE DMAChannel, DIME_MEMHANDLE SrcData, DWORD DestAddr, DWORD WordCount, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_DataWriteSingle(DIME_HANDLE handle, DWORD *Data, volatile DWORD *Terminate, DWORD Timeout);
CMANGLE NALLAEXPORT DWORD DIME_DataReadSingle(DIME_HANDLE handle, DWORD *Data, volatile DWORD *Terminate, DWORD Timeout);
CMANGLE NALLAEXPORT DWORD DIME_DataRead(DIME_HANDLE handle, DWORD *Data, DWORD WordCount, volatile DWORD *Terminate, DWORD *CurrCount, DWORD Timeout);
CMANGLE NALLAEXPORT DWORD DIME_DataWrite(DIME_HANDLE handle, DWORD *Data, DWORD WordCount, volatile DWORD *Terminate, DWORD *CurrCount, DWORD Timeout);
CMANGLE NALLAEXPORT DWORD DIME_AddressWriteSingle(DIME_HANDLE handle, DWORD *Data, volatile DWORD *Terminate, DWORD Timeout);
CMANGLE NALLAEXPORT DWORD DIME_AddressReadSingle(DIME_HANDLE handle, DWORD *Data, volatile DWORD *Terminate, DWORD Timeout);

// Data Transfer Interface
CMANGLE NALLAEXPORT DWORD DIME_InterfaceFlagBusy(DIME_HANDLE handle);					// OBSELETE
CMANGLE NALLAEXPORT DWORD DIME_InterfaceFlagEmpty(DIME_HANDLE handle);					// OBSELETE
CMANGLE NALLAEXPORT DWORD DIME_InterfaceFlagVirtexReadEmpty(DIME_HANDLE handle);		// OBSELETE
CMANGLE NALLAEXPORT DWORD DIME_InterfaceFlagVirtexWriteFull(DIME_HANDLE handle);		// OBSELETE

// FPGA Configuration
// Defines for the return values of the ConfigDevice function
#define dcfgOK_NOSTATUS			0x00000000
#define dcfgINVLAID_CARD		0x00000001
#define dcfgINVALID_CARD		0x00000001
#define dcfgBIT_FILE			0x00000002
#define dcfgINTEG_FAIL			0x00000003
#define dcfgDL_IL_NOCRC			0x00000004
#define dcfgDL_IL_CRC			0x00000005
#define dcfgDL_IH_NOCRC			0x00000006
#define dcfg_DL_IH_CRC			0x00000007		//  - DO NOT USE
#define dcfgDL_IH_CRC			0x00000007	
#define dcfgDH_IL_NOCRC			0x00000008
#define dcfgDH_IL_CRC			0x00000009
#define dcfgOK_STATUS			0x0000000A
#define dcfgDH_IH_CRC			0x0000000B
#define dcfg_UNKNOWN			0x0000000C		//  - DO NOT USE
#define dcfgUNKNOWN				0x0000000C
#define dcfg_NOLIC				0x0000000D		// No licence for Multiconfiguration - DO NOT USE
#define dcfgNOLIC				0x0000000D		// No licence for Multiconfiguration
#define dcfg_DEV_BIT_MIS		0x0000000E		// Bitfile incorrect for Virtex device type - DO NOT USE
#define dcfgDEV_BIT_MIS			0x0000000E		// Bitfile incorrect for Virtex device type
#define dcfgERROR				0xFFFFFFFF		// Error Call DIME_GetError for details.
// These are the legacy defines for BootDevice return codes
#define cfgOK_NOSTATUS			0x00000000
#define cfgINVLAID_CARD			0x00000001
#define cfgBIT_FILE				0x00000002
#define cfgINTEG_FAIL			0x00000003
#define cfgDL_IL_NOCRC			0x00000004
#define cfgDL_IL_CRC			0x00000005
#define cfgDL_IH_NOCRC			0x00000006
#define cfg_DL_IH_CRC			0x00000007		//  - DO NOT USE
#define cfgDL_IH_CRC			0x00000007
#define cfgDH_IL_NOCRC			0x00000008
#define cfgDH_IL_CRC			0x00000009
#define cfgOK_STATUS			0x0000000A
#define cfgDH_IH_CRC			0x0000000B
#define cfg_UNKNOWN				0x0000000C		//  - DO NOT USE
#define cfgUNKNOWN				0x0000000C
#define cfg_NOLIC				0x0000000D		// No licence for Multiconfiguration - DO NOT USE
#define cfgNOLIC				0x0000000D		// No licence for Multiconfiguration
#define cfg_DEV_BIT_MIS			0x0000000E		// Bitfile incorrect for Virtex device type - DO NOT USE
#define cfgDEV_BIT_MIS			0x0000000E		// Bitfile incorrect for Virtex device type

// Config Flags
//Used in DIME_ConfigSetBitsMemory to indicate that ownership of the memory for the bitsream has been passed to this software.
#define dcfgEMBEDBITS			0x00000001	
//Used in both DIME_ConfigSetBitsMemory/BitsFilename to indicate that any memory allocated to this devices previous bitstream is to be freed.
#define dcfgFREEEMBEDBITS		0x00000002		  

//Save Card Definition Flags
#define dcfgEMBEDALLBITS		0x00000001		//Saves all device bitstreams into the card definition file.

//Configuration status and contol command modes.
#define dcfgMICROPJTAG			0x10000001

CMANGLE NALLAEXPORT DWORD DIME_ConfigStatus(DIME_HANDLE handle, DWORD ModuleNumber, DWORD ModuleDeviceNumber, DWORD CmdMode);
CMANGLE NALLAEXPORT DWORD DIME_ConfigControl(DIME_HANDLE handle, DWORD ModuleNumber, DWORD ModuleDeviceNumber, DWORD CmdMode, DWORD Value);
CMANGLE NALLAEXPORT DWORD DIME_ConfigOnBoardDevice(DIME_HANDLE handle, const char *FileName, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_MemConfigOnBoardDevice(DIME_HANDLE handle, DWORD *Bitstream, DWORD ByteLength, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_BootVirtexSingle(DIME_HANDLE handle, const char *FileName);	// OBSELETE
CMANGLE NALLAEXPORT DWORD DIME_ReadbackOnBoardDevice(DIME_HANDLE handle, const char *FileName, DWORD ByteLength, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_MemReadbackOnBoardDevice(DIME_HANDLE handle, DWORD *Bitstream, DWORD ByteLength, DWORD Flags);

CMANGLE NALLAEXPORT DWORD DIME_ConfigDevice(DIME_HANDLE handle, const char *FileName, DWORD ModuleNumber, DWORD ModuleDeviceNumber, DWORD *Progress,DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_MemConfigDevice(DIME_HANDLE handle, DWORD *Bitstream, DWORD ByteLength, DWORD ModuleNumber, DWORD ModuleDeviceNumber, DWORD *Progress, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_BootDevice(DIME_HANDLE handle, const char *FileName, unsigned int ModuleNumber, unsigned int ModuleDeviceNumber, DWORD *Progress); // OBSELETE
CMANGLE NALLAEXPORT DWORD DIME_ReadbackDevice(DIME_HANDLE handle, const char *FileName, DWORD ByteLength, DWORD ModuleNumber, DWORD ModuleDeviceNumber, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_MemReadbackDevice(DIME_HANDLE handle, DWORD *Bitstream, DWORD ByteLength, DWORD ModuleNumber, DWORD ModuleDeviceNumber, DWORD Flags);

CMANGLE NALLAEXPORT DWORD DIME_ConfigCard(DIME_HANDLE handle,DWORD *ModuleProgress,DWORD *DeviceProgress, DWORD *ConfigProgress);
CMANGLE NALLAEXPORT DWORD DIME_ConfigModule(DIME_HANDLE handle, DWORD ModuleNumber,DWORD *DeviceProgress, DWORD *ConfigProgress);
CMANGLE NALLAEXPORT DWORD DIME_ConfigSetBitsFilename(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber, const char *Filename, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_ConfigSetBitsMemory(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber, DWORD *Bits, DWORD ByteLength, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_ConfigSetBitsFilenameAndConfig(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber, const char *Filename, DWORD SetFlags, DWORD *Progress, DWORD ConfigFlags);
CMANGLE NALLAEXPORT DWORD DIME_ConfigSetBitsMemoryAndConfig(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber, DWORD *Bits, DWORD ByteLength, DWORD SetFlags, DWORD *Progress, DWORD ConfigFlags);
CMANGLE NALLAEXPORT const char *DIME_ConfigGetBitsFilename(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber);
CMANGLE NALLAEXPORT DWORD *DIME_ConfigGetBitsMemory(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber, DWORD *ByteLength);

CMANGLE NALLAEXPORT DWORD DIME_SetFilename(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber, const char *Filename);	// OBSELETE
CMANGLE NALLAEXPORT const char *DIME_GetFilename(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber); // OBSELETE
CMANGLE NALLAEXPORT DWORD DIME_SetFilenameAndConfig(DIME_HANDLE handle, DWORD ModuleNumber, DWORD DeviceNumber, const char *Filename, DWORD *Progress);	// OBSELETE

// Routines for handling the storage and retrieval of current system and card setups
CMANGLE NALLAEXPORT DWORD DIME_SaveSystemDefinition(DIME_HANDLE **handles, char **CardFilenames, const char *SysFilename, DWORD NumOfCards ,DWORD Flags);
CMANGLE NALLAEXPORT DIME_HANDLE *DIME_LoadSystemDefinition(const char *SysFilename, DWORD *CardCount, LOCATE_HANDLE **Locate_handles, DWORD Flags);

CMANGLE NALLAEXPORT DWORD DIME_SaveCardDefinition(DIME_HANDLE handle, const char *Filename, DWORD Flags);
CMANGLE NALLAEXPORT DWORD DIME_LoadCardDefinition(DIME_HANDLE handle, const char *Filename, DWORD Flags);

CMANGLE NALLAEXPORT DWORD DIME_SaveSystemConfig(DIME_HANDLE handle, const char *Filename);	// OBSELETE
CMANGLE NALLAEXPORT DWORD DIME_LoadSystemConfig(DIME_HANDLE handle, const char *Filename);	// OBSELETE

// JTAG Control
#define djtagCONFIGSPEED		0x10000000
// These constant are used as Values in control or as return values
#define djtagDEFAULTSPEED		0x20000000
#define djtagMAXSPEED1			0x20000001
#define djtagMAXSPEED2			0x20000002
#define djtagMAXSPEED5			0x20000003
#define djtagMAXSPEED10			0x20000004
#define djtagMAXSPEED20			0x20000005
#define djtagMAXSPEED30			0x20000006
#define djtagMAXSPEED40			0x20000007
#define djtagMAXSPEED50			0x20000008
#define djtagMAXSPEED60			0x20000009
#define djtagMAXSPEED70			0x2000000A
#define djtagMAXSPEED80			0x2000000B
#define djtagMAXSPEED90			0x2000000C
#define djtagMAXSPEED100		0x2000000D
CMANGLE NALLAEXPORT DWORD DIME_JTAGStatus(DIME_HANDLE handle,DWORD CmdMode);
CMANGLE NALLAEXPORT DWORD DIME_JTAGControl(DIME_HANDLE handle,DWORD CmdMode, DWORD Value);
CMANGLE NALLAEXPORT void DIME_JTAGTurboDisable(DIME_HANDLE handle);		// OBSELETE
CMANGLE NALLAEXPORT void DIME_JTAGTurboEnable(DIME_HANDLE handle);		// OBSELETE

// Card Info
#define dinfDISABLE				0x00000000			// Used as 'value' parameter in Info control function
#define dinfENABLE				0x00000001			// Used as 'value' parameter in Info control function
#define dinfDIME_MODE_GUI		0x11000001			// SYS:  This is definition that is used to contol the dialogue boxes 
#define dinfDIME_JTAG_CHECK		0x11000002			// SYS:  determine whether a jtag integrity scan check is performed 
#define dinfDIME_SWMBTS			0x11000003			// SYS:  Returns SWMBInfo structure that contains MBTypes and a description of each type.
#define dinfMULTICONFIGLICENCE	0x12000001			// CARD: Returns True if Multiconfig enabled
#define dinfNUMBERMODULES		0x12000002			// CARD: Returns number of modules on card
#define dinfNUMBERSLOTS			0x12000003			// CARD: Returns number of slots available on card
#define dinfSLOTSUSED			0x12000004			// CARD: Returns a DWORD with bits set inidicating presence of module
#define dinfMOTHERBORDTYPE		0x12000005			// CARD: Returns a value indicating the motherboard type, see mbt*
#define dinfMOTHERBOARDTYPE		0x12000005			// CARD: Returns a value indicating the motherboard type, see mbt*
#define dinfFAILEDMDF			0x12000006			// CARD: Returns a pointer to a string of the MDF Filename that failed
#define dinfCARDMAXJTAGSPEED	0x12000007			// CARD: Returns the maximum speed to run the JTAG at on the card
#define dinfSERIALNUMBER		0x12000008			// CARD: Returns the serial number of the card
#define dinfDEFAULTIMAGE		0x12000009			// CARD: Returns the default card image filename
#define dinfDEFAULTICON			0x1200000A			// CARD: Returns the default card icon filename 
#define dinfDIMECODE			0x14000000			// MOD:  Returns DIME code of Module
#define dinfNUMDEVICES			0x14000001			// MOD:  Returns number of devices on Module		
#define dinfIMAGEFILENAME		0x14000002			// CARD/MOD:  Returns pointer to image of module
#define dinfDESCRIPTION			0x14000003			// CARD/MOD/DEV:  Returns pointer to description of module/device
#define dinfICONFILENAME		0x14000004			// CARD/MOD/DEV:  Returns pointer to filename of the icon for module/device
#define dinfDRL					0x14000005			// MOD: Returns DRL bus information for certain cards.
#define dinfMODXOFFSET			0x14000006			// MOD: Returns the X offset of the module image in relation to the card image.
#define dinfMODYOFFSET			0x14000007			// MOD: Returns the Y offset of the module image in relation to the card image.
#define dinfMODROTATION			0x14000008			// MOD: Returns the Rotation in degrees of the module image with 0deg being vertical.
#define dinfMODULETEMP			0x14000009			// MOD: Returns in 2's comp the temp of the module where each bit is 1deg.
#define	dinfFPGATEMP			0x1400000A			// MOD: Returns in 2's comp the temp of the modules FPGA where each bit is 1deg.
#define dinfTEMPALERTMAX		0x1400000B			// MOD: Read/Write the max threshold for the Temperature sensors ALERT signal
#define dinfTEMPALERTMIN		0x1400000C			// MOD: Read/Write the min threshold for the Temperature sensors ALERT signal
#define dinfTEMPALERTCLEAR		0x1400000D			// MOD: Clears the ALERT signal of the temperature sensor
#define dinfDEVICEIDCODE		0x18000000			// DEV:  Returns JTAG IDCODE of devices
#define dinfDEVICETYPE			0x18000001			// DEV:  Returns type of device 
#define dinfXOFFSET				0x18000002			// DEV:  Returns X Offset of device in Module Image
#define dinfYOFFSET				0x18000003			// DEV:  Returns Y Offset of device in Module Image
#define dinfWIDTH				0x18000004			// DEV:  Returns Width of device in Module Image
#define dinfHEIGHT				0x18000005			// DEV:  Returns height of device in Module Image
// Info Return codes
#define dinfDEVICEBOOTABLE		0x00000000			// DEV:  Returned by dinfDEVICETYPE CmdMode
#define dinfDEVICEBYPASS		0x00000001			// DEV:  Returned by dinfDEVICETYPE CmdMode
#define dinfDEVICENOBOOT		0x00000002			// DEV:  Returned by dinfDEVICETYPE CmdMode

// General Control and Status functions
// These functions can take handle=NULL with certain Command Mode
CMANGLE NALLAEXPORT DWORD DIME_SystemStatus(DIME_HANDLE handle, DWORD CmdMode);
CMANGLE NALLAEXPORT DWORD DIME_SystemControl(DIME_HANDLE handle, DWORD CmdMode, DWORD Value);
CMANGLE NALLAEXPORT void *DIME_SystemStatusPtr(DIME_HANDLE handle, DWORD CmdMode);
CMANGLE NALLAEXPORT DWORD DIME_SystemControlPtr(DIME_HANDLE handle, DWORD CmdMode, void *pValue);
// Used when chosing the CmdMode in the DIME_GlobalMode function. // Now OBSELETE 
#define DIME_MODE_GUI		0x00000001	// This is definition that is used to contol the dialogue boxes 
#define DIME_JTAG_CHECK		0x00000002	// determine whether a jtag integrity scan check is performed 
#define DIME_CRC_CHECK		0x00000003	// determine whether a CRC check return is performed in the configuration sequence 
CMANGLE NALLAEXPORT DWORD DIME_GlobalMode(DIME_HANDLE handle, DWORD CmdMode, DWORD Value);		// OBSELETE
// Card info

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?