Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tproc64x32 Number of Output Channels Configurable #55

Closed
jramsey123 opened this issue Jul 7, 2022 · 12 comments
Closed

tproc64x32 Number of Output Channels Configurable #55

jramsey123 opened this issue Jul 7, 2022 · 12 comments
Assignees

Comments

@jramsey123
Copy link

Has there been any consideration given to making the tproc64x32 IP have a configurable number of output channels instead of fixed at eight, so that the number can be set in Vivado? The reason I ask is, that it appears as though it would be simpler to reduce the number of output channels on the tproc IP with my ZCU208 port than add more DACs with two more clock domains to make up the difference between the ZCU216 and ZCU208 DAC configuration.

@meeg
Copy link
Collaborator

meeg commented Jul 8, 2022

Hi, good question - I don't see an obvious problem with just leaving the excess tProc outputs disconnected. You would need to make sure never to write to those open ports, because writes will block. We also have an axis_terminator block that you could connect to the unused ports, which will swallow any writes you make to those ports. Will that work?

@leoeltipo
Copy link
Collaborator

leoeltipo commented Jul 8, 2022 via email

@jramsey123
Copy link
Author

Leaving the ports disconnected will cause issues with the Python code when it searches for port connections; at least that’s what I’ve seen. I’ll add the AXIS Terminator IP (three instances), set the data bits to 160 to match the tProc output and remove the IP chains for three of the AXIS Signal Generators so the 208 configuration matches the 216 without adding more DACs, which I don’t need. If I need more generators later, I’ll reconfigure the design and deal with the additional DAC clock domains.
Thank you both for your responses.

@leoeltipo
Copy link
Collaborator

leoeltipo commented Jul 8, 2022 via email

@jramsey123
Copy link
Author

A “clock crossing”? Sorry that’s not a term I recall. Thanks for the note about the common DAC clock.

@jramsey123
Copy link
Author

A quick question you might be able to help me with. I added three AXIS Terminator IP blocks for the three output ports from the tproc that I don't need, and I get the following errors:

[BD 41-237] Bus Interface property FREQ_HZ does not match between /axis_terminator_2/s_axis(99999985) and /axis_tproc64x32_x8_0/m3_axis(430080000)
[BD 41-237] Bus Interface property CLK_DOMAIN does not match between /axis_terminator_2/s_axis(d_1_zynq_ultra_ps_e_0_0_pl_clk0) and /axis_tproc64x32_x8_0/m3_axis(d_1_usp_rf_data_converter_0_0_clk_dac2)
[BD 41-237] Bus Interface property FREQ_HZ does not match between /axis_terminator_3/s_axis(99999985) and /axis_tproc64x32_x8_0/m5_axis(430080000)
[BD 41-237] Bus Interface property CLK_DOMAIN does not match between /axis_terminator_3/s_axis(d_1_zynq_ultra_ps_e_0_0_pl_clk0) and /axis_tproc64x32_x8_0/m5_axis(d_1_usp_rf_data_converter_0_0_clk_dac2)
[BD 41-237] Bus Interface property FREQ_HZ does not match between /axis_terminator_4/s_axis(99999985) and /axis_tproc64x32_x8_0/m7_axis(430080000)
[BD 41-237] Bus Interface property CLK_DOMAIN does not match between /axis_terminator_4/s_axis(d_1_zynq_ultra_ps_e_0_0_pl_clk0) and /axis_tproc64x32_x8_0/m7_axis(d_1_usp_rf_data_converter_0_0_clk_dac2)

Do I need to do something with the clocks (like adding an ASI4_Stream Clock Converter)? I don't see any option to set the clock frequency on the AXIS Terminator blocks. Here's an excerpt of the block diagram, if this helps (I know it's out of context). Thanks.

Jeff

image001

@leoeltipo
Copy link
Collaborator

leoeltipo commented Jul 8, 2022 via email

@jramsey123
Copy link
Author

Leo, the design changes are done and the bit file is built. I have one quick question: with the removal of three of the signal generators and the addition of axis terminators on the tproc and the axi4 stream switch, there are three ports (3, 5, 12) left unconnected on the axi interconnect (see pic below). I was going to leave those alone. Do you see any issue with leaving those three ports disconnected? How would you handle it? Thanks, again.

Jeff

image001 (1)

@leoeltipo
Copy link
Collaborator

leoeltipo commented Jul 9, 2022 via email

@jramsey123
Copy link
Author

I looked at the register mappings of all the ports on the interconnect and figured it wasn't easy to change, so I'll leave them as it. If the Python code has issues when it traverses the netlist looking for ports, I'll look at it again. One more thing; I see the following three warnings when I build the bit file. The bit file was originally done for a ZCU111, then ported to a ZCU216 and I'm porting that model to a ZCU208. I assume the ZCU111 warning has been in the ZCU216 port for a while and hasn't caused issues. I'd like to clean up the warnings, but I don't see how to change the configuration in Vivado. Where is that done? Thanks again for your help.

[IP_Flow 19-4965] IP fir_compiler_0 was packaged with board value 'xilinx.com:zcu216:part0:2.0'. Current project's board value is 'xilinx.com:zcu208:part0:2.0'. Please update the project settings to match the packaged IP.
[IP_Flow 19-4965] IP dds_compiler_0 was packaged with board value 'xilinx.com:zcu216:part0:2.0'. Current project's board value is 'xilinx.com:zcu208:part0:2.0'. Please update the project settings to match the packaged IP.
[IP_Flow 19-4965] IP dds_compiler_0 was packaged with board value 'xilinx.com:zcu111:part0:1.1'. Current project's board value is 'xilinx.com:zcu208:part0:2.0'. Please update the project settings to match the packaged IP.

@leoeltipo
Copy link
Collaborator

leoeltipo commented Jul 9, 2022 via email

@jramsey123
Copy link
Author

I'm past the issue with unconnected outputs, and the bit file is built and running (but not yet quite working). I've a DAC clock issue that's preventing the Send_receive_pulse demo from working, and I'll post that in a new thread since it's a different issue. Thanks again for your help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants