如题,刚在看ip core,中的dds,看的一头雾水。
想问问这里的大牛们,core中的a,和data,是怎么用的?
传的数是怎么算出来的?特别是data的数,怎么算的啊。我总觉得书上说的,少了很多东西。·····
不像加法core那样简单啊,
可能是你没明白我意思,要不就是我太笨了
,比如这个程序。
在使用时,直接调用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这些传数呢?我瞟了一眼时序图,但还是不理解······
,大牛啊,你没明白我的意思哈,你看到我上边写的那个程序了吗?我是想问啊,那个data怎么给它送数?就是我知道了它是多少,也知道什么时候要改变输出频率,但是我的“data<=10737418;”这句话,应该写在什么地方呢?顶端那个模块中也没有data<=10737418”这句话啊。难道在其他的什么模块中吗?
ps:感谢你这么不厌其烦的给我解答。3q哈。
另外你的12.0的版本是从什么地方下的啊,给个地址呗,还有注册的key哈,我的这个不知道是不是太老了还是怎么的了,在生成滤波器时(fir compiler)总是出现“0x60010440指令引用的0x00000000内存,该内存不能为read”这句话,然后我点了确定后,ip core的生成过程就中断了。
回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |
我要赚赏金
