Access Pieces of osdzu3-ref-vivado-project-2023.1-2.1.zip

I am a little surprised you don’t have a walkthrough on how to use the ref-vivado-project (unless i missed something).
I have two issues.

  1. Windows doesn’t like the large file lengths. I am guessing you don’t have many people doing development who are not using Linux.
  2. Is there a way to pull out pieces from this project? You have some modules for connection up a UART (16550) to the serial pins of the mikro connector. It would be nice to import that into the example project to gain that ability.

Maybe this is a stupid question.

Ok, I think I solved the first issue by moving the file to a Linux machine, renaming all directories to something shorter and changing all the files the reference the old directories to reference the new directories.

Hey Anthony,

We do not currently verify Windows for the OSDZU3-REF projects we provide. I will have a look into it.

The Vivado tutorial: https://octavosystems.com/app_notes/osdzu3-vivado-tutorial/ is currently what we have for a walk-through with Vivado. We will soon have a Petalinux app note that will partly walk-through the Vivado side as well.

For importing stuff, one option that can work is creating a BD (Board design) container. For example, the Click board related IP is already in a Hierarchical Block.

  • Right click on Click Block on OSDZU3-REF block design and select Create Block Design Container. Name it something like “click”
  • This creates a separate folder for this block in vivado_projects/sources/bd/
  • You can copy this folder into another Vivado project sources folder
  • Then click on File → Add sources, select “Add or create design sources” → Next, then click on Add Files, browse to the folder and you will find a .bd, which you can add to the project
  • This will show up in the Sources section of the Block Design.
  • Open the .bd → click on validate design
  • Now you can drag the .bd directly into your custom Block Design

Please let me know if you have any issues.

best,
Neeraj

Thanks, I will try to work through your list.
Quick Question, when you say, "Right click on Click Block on OSDZU3-REF block design " is the assumption that I have opened the complete board project using Vivado?

Ok, I believe the answer is yes to my prior question.
I created the CLICK directory as you said.
The next step is to COPY this directory to another Vivado Project (specifically the one created in the walkthru)
Then the File->Add sources step is next.
Going to proceed with at that point and report back.
Thanks again.

I am hoping this makes the end product easier.
It took a lot of effort but, starting with the Vivado walkthrough on your site, I was able to connect the UART0 to the emio and then to pins 44N_L5 and 44P_L5 so that I can use that serial port with the Click port pins.
This makes life more interesting with the 16550 block.

Ok, I dragged it on. I kind of hoped it would pull the constrains from the other project so I could us the same pins, but I guess I need to do that manually.

Thanks
Tony

Great!

Thanks for the updates. Let me know if you have any more issues.

Best,
Neeraj

Question on another piece of this issue. How do you use osdzu3_helper.tcl. It looks like a script program that can connect the osdZu3 module pins to the XCZU3EG-1 pins.

  • What executes this TCL?
  • How do other constraint files reference it to translate their pin assignments?

Guess that covers it.

So, if you look at IO_pins.tcl under the constraints in OSDZU3-REF project, you can see how the set_osdzu3_package_pin function from the tcl is called for various pin configurations.

So,
tclapp::octavo::osdzu3::set_osdzu3_package_pin E18 [get_ports lvds_display_iic_scl_io]

will de-reference E18 SiP pin package to the original ZU3-EG pin.

The osdzu3_helper.tcl just needs to be in the hierarchy of the constraints in your project (above the files that call the functions in it).

Best,
Neeraj

Thanks, I suppose if I were to just look at the original project, I could have figured that out.
Thanks again for the help,
Tony