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.

DLL of DAC348x EVM Software GUI

Other Parts Discussed in Thread: DAC3482EVM, DAC3482, DAC5682Z, CDCE62005, DAC3484, DAC34H84EVM, LMK04828

Hello,

I'm developing a .NET application to interface with the DAC3482EVM to automate some tests (eg. Frequency sweeping in some specific ranges).

But to do that on my application, I need the DLL library of the original GUI or the firmware or the VHDL code which I can modify to interface with my ZedBoard. 

Thank you!

  • Hi Amine,

    The current DAC3482EVM GUI does not have a DLL library. Usually, the setting of the DAC remain fixed upon initialization, and all you need is to sweep the input data frequency. You may be able to program the DAC EVM before the start of your test program and simply sweep the input data and check the outpout.

    -Kang
  • Thanks for your reply. But this solution is still not clear for me. What is “sweep the input data frequency”.
    For my automated test, I need just to sweep the frequency in 400 steps.
    If not feasible can I have a Firmware for interfacing DAC3482EVM with Xilinx FPGA (VHDL code) and then sweeping the frequency via SPI?
  • Hello,

    I am suggesting that you set up your DAC3482EVM through the DAC3482 GUI only once before you start the test. To perform the DAC measurements, you can simply change the input data patterns from your FPGA so the corresponding DAC output data can also be changed.

    Simply speaking, the DAC3482 settings such as interpolation, NCO, etc, is configured via SPI port by the EVM GUI at start-up. Once you have decided the DAC setting for your system, there is no need to change it all the time. The only thing that need to be varied is the input pattern to the DAC. The DAC input pattern can be varied from your FPGA (i.e. LVDS Bus).

    We do not have FPGA codes for the Xilinx platform. 

    -Kang

  • Let me clarify what we want to do.

    We want to use the DAC3482EVM in a test fixture.
    We already have our own GUI that controls other test equipment. We want to have an automated test where we vary (we need to try 400 values) the parameter “NCO Freq_AB” that we see in your DAC3482EVM GUI, in the NCO box to the right. We would like that our GUI controls the parameter “NCO Freq_AB”.
    Is it possible to have a DLL that we can use with our GUI ?
    Or is it possible to have the format of the USB commands that are used with the DAC3482EVM, to access the SPI registers of the DAC.
    Thanks
    Richard
  • Hello Richard,

    If your automation GUI can interface with NI labview code, I might be able to come up with some controls for you to write/read registers directly to the DAC3482EVM. We have some Labview code readily available, and I will need a few days to check feasibility and put them together. If this would work for you, please let me know.

    -Kang
  • Hi Kang.

    Yes, the Labview code would help me a lot.

    Thanks

    Richard

  • Hi Richard,

    Yes, I am starting to investigate. I expect to have some preliminary procedures for you sometimes next week.

    -Kang
  • Kang, what is the status on that ?
    Thanks

    Richard
  • Hi Richard,

    We ran into a bug on the DLL creation last week. There are certain ports on the FTDI USB to GPIO chip where bit-banging of SPI is not working. We are still debugging this. Given the problem and other priorities, completing this within this week is not likely. I will need to get back to you on Friday for more detail.
  • Hi Kang,

    It would be appreciated if you can send us DAQ GUI resources (Labview code, documentation for the commands...) which we can look at it.
    By the way, it's not necessary that the code compile.

    Thank you
    Amine
  • Hello Amine,

    Apologies for the delay. Please see attached zip file for the DAC348x EVM SPI utilities. The instructions are in the powerpoint file. You will need Labview 2014 installed in order to open up the file. If needed, we can send you the executable version. Please note that we cannot provide further support regarding the Labview codes or software integration. Good luck.

    -Kang.

    DAC348xEVM_SPI_Utilities.zip

  • Hello Kang,
    I'm trying to develope an application for the DAC5682z EVM and Neeraj Gill gave me the link to this thread. So I'm trying to modify your DAC348x EVM software so I can use it with the DAC5682z EVM.
    What does the "DAC438x.txt" mean? And how do I have to modify it for the DAC5682z EVM?

    Thanks,
    Markus
  • Hi Markus,

    The FT245RL chip on the DAC5682z EVM is used do SPI reads and writes to the DAC. For more information please read the attached word document(FTDI pattern generator).

    I have modified the text file to work with DAC5682z EVM and rename it to DAC5682.txt and attached it to this post. I have also updated the instructions in the ppt and attached it to this post.

    I hope this helps.

    Regards,

    Neeraj Gill

    DAC5682.txt
    Write																																																			
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0
    1	0	0	0	0	0	0	0	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0	0
    2	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    3	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    4	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    5	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    7	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    																																																			
    Read																																																			
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0
    1	0	1	1	0	0	0	0	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    2	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    3	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    4	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    5	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0	0
    7	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    

    DAC5682zEVM_Labview_SPI_Software.pptx

    FTDI Pattern Generator.docx

  • >I will need to check internally to see if the details dll and cpp header can be shared.
    >The CDCE62005 PLL can be controlled. You will need to create an associated CDCE62005.txt pattern file. If you open up the DAC3482.txt file you >will notice that it is a description for FTDI USB to GPIO chip bit-banging the SPI line. There are two processes: one for read and one for write. The >first column indicates the GPIO bank on the FTDI chip. One GPIO bank is dedicated as SCLK line, one for SDENB, and one for SDIO, and one for >SDO.

    >I will have to look into this in detail later, but you are welcome to modify this file on your own to see if you can get the CDCE62005 working. >Simply follow the CDCE62005 datasheet and the DAC3482EVM schematic for SPI line routing.

    Hi Kang,

    Yes i already modified the pattern file and I got my pll registers as follows:
    reg: 0x0 => 0x0140000
    reg: 0x1 => 0x811c000
    reg: 0x2 => 0x8140000
    reg: 0x3 => 0x8140000
    reg: 0x4 => 0x0104000
    reg: 0x5 => 0x29f01a6
    reg: 0x6 => 0x44ae001
    reg: 0x7 => 0x965294a
    reg: 0x8 => 0x20009a0

    It is strange that "DAC3484_GUI_v3p8" is appending the register index at the end.
    I guess this is and issue in the GUI as the registers are 28 bit not 32 bit.
    In addition GUI show last two registers slightly different,

    reg: 0x7 => 0x165294a
    reg: 0x8 => 0x2000180

    I guess the GUI is adjusting them.

    The write command is also work, so I assume I have a way to control the DAC card.
    If someone is interested in my test I can provide the code.

    I will move to the TSW1400 now.
    Hopefully will manage to control it as well.


    Best Regards
    Dimitar
  • Dimitar,

    Thanks a lot. The DAC GUI does include the address bit of the CDCE62005 as part of the register data.

    If you do not mind, please upload your CDCE62005 pattern file to this post so we can have a library for DAC348x EVM automation. This would help the E2E community. Thanks again.

    -Kang

  • Hi Kang,

    Here it is

    file attached in this post

    Pattern_dac3482evm_cdce62005.txt
    Write																																																																		
    0	0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0
    1	0	0	A0	A0	A1	A1	A2	A2	A3	A3	D0	D0	D1	D1	D2	D2	D3	D3	D4	D4	D5	D5	D6	D6	D7	D7	D8	D8	D9	D9	D10	D10	D11	D11	D12	D12	D13	D13	D14	D14	D15	D15	D16	D16	D17	D17	D18	D18	D19	D19	D20	D20	D21	D21	D22	D22	D23	D23	D24	D24	D25	D25	D26	D26	D27	D27	0
    2	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
    3	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    4	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    5	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    7	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    																																																			
    Read																																																																																																																																				
    0	0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0
    1	0	0	0	0	1	1	1	1	1	1	A0	A0	A1	A1	A2	A2	A3	A3	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    2	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
    3	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	D0	D0	D1	D1	D2	D2	D3	D3	D4	D4	D5	D5	D6	D6	D7	D7	D8	D8	D9	D9	D10	D10	D11	D11	D12	D12	D13	D13	D14	D14	D15	D15	D16	D16	D17	D17	D18	D18	D19	D19	D20	D20	D21	D21	D22	D22	D23	D23	D24	D24	D25	D25	D26	D26	D27	D27	0
    4	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    5	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    7	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0

    Thanks
    Dimitar

  • I've tried the LabView program from this zip file on the DAC34H84EVM. If I run the "FTDI Pattern Generator Example Code - Modified.vi" with "TSW308xEVM" as the Device Desc, and any file of my choice for the FTDI Pattern File, all of the subVIs run without error, except for the Read Register VI, which returns error code 1097.

    OK, I can live without reading registers, however, the register writes do not change any register values. I tried looking at the outputs from the USB on an oscilloscope, and I don't see any activity during a register write.

    Has anyone gotten this LabView code to read or write a register?
  •  For users want to control their TSW1400EVM, the following is the download link for TSW1400EVM C-based DLL

    TSW1400-1.0-windows-installer.exe.zip

  • The TSW308x EVMs (TSW3085, TSW3084, TSW30H84, and TSW30SH84) may be controlled from the Labview based DLL for the SPI interface. The Labview based DLL is described in the earlier posts.

    Please see below for the associated files:

    LMK04828 SPI Pattern File

    LMK04800_new.txt
    Write																																																																																																																																	
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0	0	0	0	0	0	0	1	0	1	0	1	0	0	0																																																
    1	0	D26	D26	D25	D25	D24	D24	D23	D23	D22	D22	D21	D21	D20	D20	D19	D19	D18	D18	D17	D17	D16	D16	D15	D15	D14	D14	D13	D13	D12	D12	D11	D11	D10	D10	D9	D9	D8	D8	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0																																																
    2	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1																																																
    3	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1																																																
    4	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0																																																
    5	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1																																																
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0																																																
    7	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0																																																
    
    
    Read																																																																																																																																	
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0	0	0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0	0	0	0
    1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	1	1	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	1	1	1	1	1	1	1	0	0	0	0
    2	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    3	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    4	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	D26	D26	D25	D25	D24	D24	D23	D23	D22	D22	D21	D21	D20	D20	D19	D19	D18	D18	D17	D17	D16	D16	D15	D15	D14	D14	D13	D13	D12	D12	D11	D11	D10	D10	D9	D9	D8	D8	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0	0	0	0
    5	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1
    6	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    7	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    

    DAC348x SPI Pattern file

    DAC34x84.txt
    Write																																																		
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0
    1	0	0	0	A6	A6	A5	A5	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	D15	D15	D14	D14	D13	D13	D12	D12	D11	D11	D10	D10	D9	D9	D8	D8	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0
    2	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
    3	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    4	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    5	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    7	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    
    Read																																																		
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0
    1	0	1	1	A6	A6	A5	A5	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    2	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
    3	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    4	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    5	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    6	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    7	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	D15	D15	D14	D14	D13	D13	D12	D12	D11	D11	D10	D10	D9	D9	D8	D8	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	1
    

    TSW308x CPLD Mux/Switch verilog code:

    txab_pld.v

    User may modify and compile the verilog code under Altera Quartus software, and then use the Altera USB blaster to program the EPM3064 CPLD to control the muxing of the SPI ports. Precompiled firmware can be downloaded:

    txab_pld.pof