Info Telefon
09132 733400

Click here

Bestell-Fax
09132 733 401

CESYS GmbH
Zeppelinstrasse 6A
D-91074 Herzogenaurach
Deutschland
E-Mail: sales@cesys.com

Unified Development Kit: UDK

Das UDK ist ein platformübergreifendes Konzept, um CESYS-FPGA Karten (USB sowie PCI, PCIe) einheitlich anzusprechen.

Derzeit unterstützte Betriebssysteme: Windows 7, Windows XP, Windows Vista und LINUX. Ein LabView Interface ist in der UDK ebenfalls enthalten.

Eine Lizensierung bzw. Anpassung auf Fremdharware ist auf Anfrage möglich.

FPGA Entwicklungskit mit Wishbone Schnittstelle unter XP und Linux

Auf der Host Seite steht unter den verschiedenen Betriebssystemen die standardisierte API "udkapi_vc[ver]_[arch].lib" zur Verfügung. FPGA-seitig kommt eine standardisierte 32-bit Wishbone-Bus Schnittstelle zum Einsatz.

FPGA-Designs und zugehörige PC-Software sind durch das Cesys UDK ohne bzw. mit minimaler Codeänderung unter allen unterstützten Betriebssystemen auf allen unterstützten FPGA-Karten lauffähig.

Für kundenspezifische Elektronikenwicklungen können wir ebenfalls auf das UDK aufsetzen.
Dadurch erreichen wir nicht nur eine signifikante Reduktion der Entwicklungskosten, sondern auch eine große Freiheit bei der Auswahl des Host-Betriebssystems und der Host-Schnittstelle.

Code Beispiel:

#include "udkapi.h"
using namespace ceUDK;

void TransferSomeData(ceDevice *pDev){

   // declare some variables
   unsigned int uiBaseAddress = 0x0;
   unsigned int uiWriteVal = 0x11111111;
   unsigned int uiReadVal = 0x0;

   // write, read and compare some values
   for(unsigned int i=0; i<4; ++i){
			
      pDev->WriteRegister(uiBaseAddress, uiWriteVal);
      uiReadVal = pDev->ReadRegister(uiBaseAddress);
		
      if(uiWriteVal != uiReadVal){
         throw ceException(0x80000000, "Register test failed due to data inconsistence.");
      }

      uiWriteVal <<= 1;
   }
}

int main(){

   // begin of exception catch area
   try{
	
      // initialize API and enumerate EFM01 boards.
      ceDevice::Init();
      ceDevice::Enumerate(ceDevice::ceDT_USB_EFM01);

      // check if any device is detected
      if(0!=ceDevice::GetDeviceCount()){

         // access first device
         ceDevice *pDev = ceDevice::GetDevice(0);

         // open device for usage
         pDev->Open();

         // program the FPGA
         pDev->ProgramFPGAFromBIN("AnyUserDesign.bin");

         // do some data transfer
         TransferSomeData(pDev);

         // device not needed anymore, close it
         pDev->Close();
}else{ cout << "No device detected." << endl; }
}catch(ceException &e){ cout << e.GetErrorText() << endl; } // deinitialize API ceDevice::DeInit(); return 0; }

Für weitere Informationen zum UDK oder wenn Sie Fragen haben, besuchen Sie unser FPGA-Forum, schicken Sie uns eine E-Mail oder rufen Sie uns an: 09132 733 400.
In unserem online-shop können sie unsere FPGA-Karten direkt bestellen.
Um ein verbindliches Angebot zu erhalten können Sie direkt mit uns Kontakt aufnehmen oder unser Anfrageformular ausfüllen.