ip core 中dds 怎么用?
你用的是Xilinx的DDS么?
DDS首先是一个相位累加器,输出的相位去寻址Sine/Cosine查找表!
Xilinx的DDS与相位相关的输入有两个:PINC与POFF,而输入的模式有三种:fixed,programmabe,streaming,并且还可以多通道输出。
你上面说的a,应该是指ADDR吧,ADDR在多通道输出且输入模式为programmabe时才使用!用于指示PINC与POFF是写的哪个通道的!
而DATA也是在输入模式为programmabe时才使用,DATA的值是PINC或POFF的值,具体是PINC还是POFF由REG_SELECT决定!
另外,Xilinx每个IP都有详细的datasheet,在使用IP之前最好阅读一下,你要的东西都可以在datasheet中找到!
可能是你没明白我意思,要不就是我太笨了
,比如这个程序。
在使用时,直接调用mydds模块即可,如
module dds1(DATA, WE, A, CLK, SINE, COSINE);
input [27 : 0] DATA; //经过计算,DATA= 10737418.
input WE;
input [4 : 0] A;
input CLK;
output [9 : 0] SINE;
output [9 : 0] COSINE;
mydds mydds1(
.DATA(DATA),
.WE(WE),
.A(A),
.CLK(CLK),
.SINE(SINE),
.COSINE(COSINE)
);
endmodule
为什么就写了,经计算data=10737418,直接调用就可以了,而不给data传数呢?是不是在生成IP核时就定义好data了?还是还要在写个其他的程序给data和we这些传数呢?我瞟了一眼时序图,但还是不理解······
,比如这个程序。在使用时,直接调用mydds模块即可,如
module dds1(DATA, WE, A, CLK, SINE, COSINE);
input [27 : 0] DATA; //经过计算,DATA= 10737418.
input WE;
input [4 : 0] A;
input CLK;
output [9 : 0] SINE;
output [9 : 0] COSINE;
mydds mydds1(
.DATA(DATA),
.WE(WE),
.A(A),
.CLK(CLK),
.SINE(SINE),
.COSINE(COSINE)
);
endmodule
为什么就写了,经计算data=10737418,直接调用就可以了,而不给data传数呢?是不是在生成IP核时就定义好data了?还是还要在写个其他的程序给data和we这些传数呢?我瞟了一眼时序图,但还是不理解······
你使用的ISE是哪个版本?
我用的ISE12.1,使用的DDS Compiler4.0,没有A这个端口,只有ADDR这个端口。ADDR是用于DDS多通道的输出。且最多16个通道,所以位宽最大只有4位,而你的A位宽有5位,所以可能我们用的ISE版本不同!你的DDS中的A端口是用来做什么的?
另外,生成DDS IP时有很多选项,要根据自己的设计要求选择合适的模式!
你使用DDS是输出一个固定不变的频率还是频率需要改变?是否有调制?
如果输出频率固定且不需要可编程,在DDS Compiler4.0生成DDS时,不需要DATA这个端口!
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
| 【分享开发笔记,赚取电动螺丝刀】墨水屏文本显示器被打赏¥25元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取磁力计iis2mdc被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取LPS22HH气压、温度被打赏¥19元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX读取STTS751温度被打赏¥17元 | |
| 【STEVAL-STWINKT1B】:结合STMcubeMX软件读取HTS221温湿度被打赏¥22元 | |
| M5PAPERESP32EINKDEVKIT评测|使用MicroPython开发M5Paper被打赏¥15元 | |
| OK1126B-S开发板下以导航按键控制云台/机械臂姿态调整被打赏¥29元 | |
| 【树莓派5】便携热成像仪被打赏¥36元 | |
| 【树莓派5】环境监测仪被打赏¥35元 | |
我要赚赏金
