Vivado DDS IP核使用和仿真(二、多通道信号发生器)

按照博文https://blog.csdn.net/u013215852/article/details/91042672了解完单通道信号发生器之后,我们来看一下如果用一个IP核同时生成多通道信号怎么做,本文以1MHz和10MHz双通道为例:

1、设置参数,注意与单通道不同的地方

通道设置为2,那么我们想要得到与单通道一样16bit的输出数据,那么根据公式

我们就需要把Frequency Resolution重新设置

Frequency Resolution = 120000000/2^16 /2= 1831.0546875/2 = 915.52734375

2、剩余的参数设置与单通道类似

同时输出sin和cos

增加10MHz的通道

最终参数如下:

3、接下来就是仿真了,还是使用vivado自带仿真工具

这个地方需要格外注意,一开始有疑惑,为什么通道变成了2,数据宽度和接口都没有增加,原来是因为这双通道的数据是分时输出的,即交替输出。知道了这一点,写testbench就很容易了,代码如下

assign sin[15:0] = o_data_tvalid ? o_data_tdata[31:16]:16'b0;
assign cos[15:0] = o_data_tvalid ? o_data_tdata[15:0] :16'b0;

reg [15:0] sin_c0;
reg [15:0] sin_c1;
reg [15:0] cos_c0;
reg [15:0] cos_c1;

reg m_axis_data_channel = 1'b0;

always @(posedge aclk)
begin
    m_axis_data_channel <= ~m_axis_data_channel;
    if(m_axis_data_channel == 1'b0)
    begin
        sin_c0 <= sin;
        cos_c0 <= cos;
    end
    else
    begin
        sin_c1 <= sin;
        cos_c1 <= cos;
    end
end

endmodule

4、仿真结果

 

Vivado是一款由Xilinx开发的集成电路设计工具,用于设计和实现FPGA和SoC。DDS IP核Vivado中的一个IP核,用于生成数字频率合成器。根据引用\[2\]中的代码,可以看出DDS IP核的配置是通过控制字来实现的。控制字的值决定了输出信号的频率和相位。在引用\[3\]中的tb文件中,可以看到控制字的值被设置为66和6666,这将影响DDS IP核生成的输出信号的频率。通过修改控制字的值,可以实现不同的频率输出。在Vivado使用DDS IP核,需要将IP核添加到设计中,并根据需求配置IP核的参数,如控制字的值、时钟频率等。然后,将设计综合、实现和生成比特流文件,最后下载到目标设备中进行验证和测试。 #### 引用[.reference_title] - *1* *2* [Vivado DDS IP核使用仿真、多相处理和相关计算验证](https://blog.csdn.net/Popplio/article/details/126711613)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [FPGA自学笔记--DDS ip核使用vivado)](https://blog.csdn.net/lgk1996/article/details/123245246)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值