• 0
Sign in to follow this  
subodh vashist

Windows SDK problem on Nexys4-DDR board


After some research and homework I came to know that digilent also provide different DCAP or APT dlls, for Software development in windows, along with very small demo projects in VC++ for every APT and the reference manuals, they all comprise to make "Digilent Adept SDK".

So I quickly opened the DACI(UART) demo in Visual Studio 2015, in order to communicate with my board over UART, I was able to implement Device Table and get the device name string, I also managed to open the device using DmgrOpen() Funtion and got a interface handle, but i can't seem to get the DaciEnable() to work, and using the DmgrGetLastError tells me that the device(Nexys4-DDR) is not supported for DACI, which is very improbable.

Then in hopes of troubleshooting the problem, I check for DmgrGetDtpCount() and I get the value '1', which I think means that there's one way to communicate with the device(which is not very informative), then I try DaciGetPortCount() which returns the value '0' to the pointer variable, which I think implies that there are NO DACI ports, :(.

But I can see that while debugging the code, during the DmgrOpen() Function call, VS loads two FTDI dlls, I'm stuck here for a while now.

And I hope that this question interests the experts at Digilent Forums, for I think they can see through this problem easily.

And I attached the cpp file, which I'm working on.

Thanks a lot !!


Share this post

Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Please, point me to something, is my question incomprehensible ?

I just don't understand why nobody is replying !

Additional Info :

When I run the Get Device Info Demo, I see that there is only one device capability, which is JTAG only, I attached a pic of the result, I just want to know why is it so ??

I have the baudrate matched in the DACI API to the FTDI USB-UART Port to 115200.

And I'm able to communicate with the board using a serial terminal, if I program my board with simple VHDL UART module in loopback mode, but i can't seem to make any progress using the API DACI.



Edited by subodh vashist
additional info

Share this post

Link to post
Share on other sites
  • 0


First of all, Nexys4-DDR is not supported and that’s why DaciGetPortCount() returns a value of 0.

In general the only APT that our FPGA boards support is JTAG, which is used to configure the FPGA.

Most people just use a terminal to communicate with the serial port. 

If someone whose using the Adept SDK wants to see which APT’s are supported then they can do something similar to the following:

HIF hif;
DCAP dcap;
DVC dvc;

// open device
DmgrOpen(&hif, szDevName);
DmgrGetDvcFromHif(hif, &dvc);
DmgrGetInfo(&dvc, dinfoDCAP, &dcap); // query capabilities from device

// At this point you can test to see if the device supports a particular APT like this:
// Please note that the dcapJtg and other constants are defined in dpcdecl.h

if ( dcapJtg & dcap ) {
                printf("device supports DJTG\n");

if ( dcapAci & dcap ) {
                printf("device supports DACI\n");



Share this post

Link to post
Share on other sites
  • 0

Many thanks for replying,

Can you please advise me what should I do, if I want to communicate with FPGA via windows GUI APP?

Can you please provide some working Examples of C/C++ code utilizing JTAG to do read/write on FPGA via address of the registers ?

Thanks again.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this