Jump to content
  • 0

Add DA3 PMOD to Pynq-z1 default Overlay


Y_H

Question

Hi guys,

I've just bought a Pynq board.

Could anyone help and give the main steps to follow to add a new PMOD device to the default overlay? I'd like to add the DA3 PMOD DAC that is currently missing.

Many thanks!

 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

Hi @Y_H,

Are you tying to add the Pmod DA3 to the Jupyter Notebook platform from PYNQ.io ?

Are you trying to use the PYNQ with the ZYNQ processor in Vivado?

Here is the resource center for the Pmod DA3.

If you are trying to use the PYNQ board with vivado unfortunately we haven't had the bandwidth to create an IP Core for the Pmod DA3.

Here is a VHDL project  done by a community @hamster that can be used with the ADD a Module function and the ZYNQ processor in the bock design in Vivado.

Here is a Xilinx YouTube video that should help with using the ADD a Module function. 

best regards,

Jon

 

Link to comment
Share on other sites

Thank you jpeyron!

I´m trying to add the Pmod DA3 to the Python library from PYNQ.io.

Looking at other PMOD devices in pynq.lib.pmod library, the command "self.microblaze.write_blocking_command(cmd)" is used to write to PMOD devices.

write_blocking_command function links to "write_mailbox" in pynq.py file:

Quote

  def write_mailbox(self, data_offset, data):
        """This method write data into the mailbox of the Microblaze.

        Parameters
        ----------
        data_offset : int
            The offset for mailbox data, 0,4,... for MAILBOX 0,1,...
        data : int/list
            A list of 32b words to be written into the mailbox.

        Returns
        -------
        None

        """
        offset = MAILBOX_OFFSET + data_offset
        self.write(offset, data)

This is the point I´m a bit stuck to now....

I try to figure out how the code is structured to link "self.microblaze.write_blocking_command" argument to the register address and data wrote to the PMOD AD3 device.

I don´t really get how the cmd value in "self.microblaze.write_blocking_command function(cmd)" is handled at lower level, to finally write to the correct register of AD3 DAC.

Any further clarification on this is really appreciated!

Kind regards.

Y_H

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...