我完成了Anton Potočniks' introductory guide到红色火龙果板的操作,现在我能够从SoC上运行的linux机器向其FPGA逻辑发送命令。
我想进一步修改项目,以便我可以控制通过红色火龙果的DAC传输的信号的相位。第一个GPIO端口的一些引脚(从7到1)仍未使用,因此我开始从操作系统内部进行设置,并使用红色pitaya的LED确认设置是否在不干扰AntonPotočnik的“高带宽”功能的情况下平均”。
然后我将DDS_compilers'的相位偏移可编程性设置为“流”模式,以便可以使用当前控制红色pitaya LED的位动态配置它。我使用了一些切片将信号连接到AXI4-Stream Constant IP内核,后者又驱动了DDS编译器。
不幸的是,DAC只是给了我500 mV的恒定输出。
我为DDS编译器创建了一个带有测试平台的新项目,因为合成需要花费很长时间,并且不能让我对正在发生的事情有太多了解。
不幸的是,DDS编译器的所有输出信号都是不确定的。
我的问题:
我在做错什么,如何继续控制DAC的相位?
EDIT1; here是我的测试平台
IP内核配置如下,因此不需要我提供的许多控制信号:
EDIT2;我将m_axis_data_tready => '0'
形式的声明更改为m_axis_phase_tready => m_axis_phase_tready_signal
。我还查看了名为dds_compiler_0.vhd
的包装文件,并发现它将m_axis_phase_tready
和m_axis_data_tready
都视为输入。
我的模拟结果保持不变...
我的新测试台位于here。
EDIT3:Vivado只是给了我旧的模拟结果-创建一个新的测试台,删除<project_name>.sim/sim_1/behav/xsim/simulate.log
下的文件,然后重新启动vivado解决了这个问题。
我注意到包装文件(dds_compiler_0.vhd
)只有五个端口:
aclk
(在)s_axis_phase_tvalid
(在)s_axis_phase_tdata
(在)m_axis_data_tvalid
(退出)m_axis_data_tdata
(退出)因此,我删除了所有不必要的控制信号并获得了新的仿真结果,但是我仍然没有收到dds_compiler的任何有用的输出:
可以找到相应的测试平台here。
可以找到相应的测试平台here。
答案 0 :(得分:1)
好像未连接m_axis_data_tready。除非声明,否则不会有数据出来。