This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADC08D1520RB FPGA development question

Other Parts Discussed in Thread: ADC08D1520RB

FPGA design on ADC08D1520RB Virtex-4: 

1. ADC08D1520RB board cannot be detected by Xilinx IMPACT

After debugging, the original design pass Implement Design and generate .bit file ready. However, impact returns that it cannot find cable. All Xilinx solutions I found are to uninstall/reintall usb driver or install a winusb drive coming with ISE installation package. I tried all of them but the issue remains, although I can see the device is recognized in Device Manager in windows 7. I run out of solutions. :(

2. I design new control logic and signal processing algorithm in FPGA. My design did not introduce new input or output, or any DCM change. However, during Implement Design Xilinx ISE fails Place&Route. In Design Summary, I am told that my design consumes 101% of IOB and 150% DCM_ADVs. How could this happen? 

3. I change my signal processing algorithm which has less memory occupation. Interestingly,  then my design pass Place&Route, although Design Summary returns the same consumption of IOB and DCM_ADVs. Why? How does memory consumption matter to IOB and DCM? 

4. What is the exact all returns of WvBoardReadCaptureData?  The DLL document does not give a clear description on it. Based on  wvdll.h as following, I am unable to find the answer. I saw 3 returns in examples by using the function. What want to confirm what are they exactly. 

WvBool Wv_API WvBoardReadCaptureData(
WvWord board_index,
WvWord dut_index,
WvWord* return_data,
WvWord sizeof_data_allocated_by_caller,
WvBool* return_data_valid
);

Thanks. 

-Bridget

  • Hello Bridget,

    This appears to be the same question posted here:

    For the follow up question #4, you can use the dll_help file to find specific information about a given function call.  For example, the function WvBoardReadCaptureData has the following description:

    WvBool __stdcall WvBoardReadCaptureData ( WvWord  board_index,
    WvWord  dut_index,
    WvWord return_data,
    WvWord  sizeof_data_allocated_by_caller,
    WvBool return_data_valid  
    )

    Acquire the capture data.

    Memory Usage:
    The caller must allocate space for the object pointed to by:
    • return_data
    • return_data_valid
    Parameters:

    board_index  Board index
    dut_index  DUT index
    return_data  Array where the DLL will place the captured data
    sizeof_data_allocated_by_caller  Number of WvWords in the return_data array
    return_data_valid  Set to true if the data is valid 

    Additionally, I've attached the help file here.

    dll_help.chm

    Regards,
    Luke LaPointe
    High Speed Data Converters

  • Thanks for your reply, Luke.

    I saw them in wvdll.h and this function comes with 5 parameters. My concern is what is output of WvBoardReadCaptureData?
  • Hello Bridget,
    The first four parameters returned are a WvWord, which is typdef unsigned long or a 32 bit word.
    Regards,
    Luke LaPointe
    High Speed Data Converters

  • and the last one is a WvBool or simply a boolean.
    -Luke
  • Hi Luke,

    1. Outputs, not Inputs.

    Do you mean the 5 parameters,  board_index, dut_index, return_data, sizeof_data_allocated_by_caller, and return_data_valid, are outputs returned by WvBoardReadCaptureData  ?

    WvBool __stdcall WvBoardReadCaptureData  ( WvWord  board_index,  

    WvWord  dut_index,  

    WvWord *  return_data,  

    WvWord  sizeof_data_allocated_by_caller,  

    WvBool *  return_data_valid  

    )    

    In my understanding, the 5 are input of WvBoardReadCaptureData , not return values. That is why we could call it in MATLAB as following.  

       [status,result1,result2]    = calllib('wvdll','WvBoardReadCaptureData',...

           board_index,...

           dut_index,...

           ptr1,...            % return_data,

           uint32(Samples),... % sizeof_data_allocated_by_caller,

           ptr2);              % return_data_valid

     

    2. Meaning of each Output

    As above matlab code, I know result1 is the captured data returned. However, what is result2 then? 

     

    3. Return more info

    We knew the captured data was sent to Cypress register at 7'h38 and 7'h3a. However, 7'h39 and 7'h3b are simply put as 0(are they the result2 ?). Why is it? Could we use it for our return more data? 

    Thanks . 

    -Bridget

  • Hi Luke,

    We knew the return data format of WvBoardReadCaptureData is WvBool. But what is its outputs exactly? Please feel free to look my clarification on the questions.

    Thank you very much!
    -Bridget
  • Anyone here could share your opinion here please?
  • i am afraid i meet the same problem with you when i read the matlab code calling this functions, also i don't know how to get the address like "address= 53283" or "SPIACCESS = uint32(16777217);",why the address is 53283?  

  • Hi,

    We can help you with getting the board up and running with waveVision software. Unfortunately we cannot provide much help to you with wv5.dll and interfacing through Matlab. You have to go with dll help files.

    Regards,
    Neeraj