CPLD输出几HZ的方波怎样实现才能耗资源最少?
用CPLD实现几HZ的方波,如果采用计数方法太浪费资源了,怎么做才能最省资源? 计数兰州拉面,最便宜也要6块钱 把时钟频率,降低... 没有,不管用什么方法都需要计数,只是计数方法不同而已。试一下DDS的计数方式 时钟输入32k,然后分频应该比较少了。 外面加个电容充放电?喝多了,不知所云,哈哈 时钟输入尽量低,比如时钟输入32K有源晶振,这样分频位数就少了, 几Hz用便宜8位单片机可以了,还省电 RAMILE 发表于 2015-11-4 18:30
计数
兰州拉面,最便宜也要6块钱
这里用CPLD肯定不止使用这个功能,否则也不用CPLD了,现在问的问题不是问采用什么方案,而是用CPLD实现这样功能最省 yuyu87 发表于 2015-11-4 20:54
时钟输入尽量低,比如时钟输入32K有源晶振,这样分频位数就少了,
时钟固定的情况下,如何实现,听别人说用多个计数器级联,比一个计数器要省 NJ8888 发表于 2015-11-4 21:03
几Hz用便宜8位单片机可以了,还省电
这个我知道,但是这里CPLD还有其他特殊用途 貌似只能计数吧 linbo411 发表于 2015-11-4 21:56
时钟固定的情况下,如何实现,听别人说用多个计数器级联,比一个计数器要省 ...
省不了。 楼主详细说下你的问题,时钟输入是多少,CPLD型号是多少,输出频率是多少
你大概问我们也只能大概回答
最佳方案应该是使用PLL降频,然后再用计数器分频 蓝色风暴@FPGA 发表于 2015-11-5 16:50
楼主详细说下你的问题,时钟输入是多少,CPLD型号是多少,输出频率是多少
你大概问我们也只能大概回答
最佳 ...
CPLD型号EPM570T100C5N输入时钟10M,输出频率5HZ linbo411 发表于 2015-11-5 19:34
CPLD型号EPM570T100C5N输入时钟10M,输出频率5HZ
这个芯片没看到PLL,只能用计数器方式,10M->5HZ,至少要用21个LE 蓝色风暴@FPGA 发表于 2015-11-6 09:20
这个芯片没看到PLL,只能用计数器方式,10M->5HZ,至少要用21个LE
计数器方式用以下程序
reg counter;
always @(posedge clk)
if( counter==(2000_000-1) ) begin counter <= 0;out<=~out; end
else counter <= counter+1;
占用44个LE
与21个LE相差甚大,不知你21个LE是怎么做的?
zaldy30 发表于 2015-11-9 22:21
计数器方式用以下程序
reg counter;
always @(posedge clk)
你这种做法进位链需要占用额外的LE,因为LE是四输入的
要省资源的做法是就用21个LE串联,前面一个LE的输出作为后面一个LE的输入
不过怎么感觉有点钻牛角尖,做了那么多年FPGA,资源从来不是要考虑的问题 蓝色风暴@FPGA 发表于 2015-11-10 10:22
你这种做法进位链需要占用额外的LE,因为LE是四输入的
要省资源的做法是就用21个LE串联,前面一个LE的输 ...
学习了,谢谢!
不过LE串联只能得到2的n次方分频,如何得到任意分频?如果另外加逻辑,就复杂了。
外接一個計數器吧! 楼主,我绝对不相信,既然用了EPM570,不会连这么个计数器都变成非常耗资源的东西.
如果非要省,可以多个计数器级联,虽然D触发器会浪费一点,但是组合逻辑会少一些 xiaobenyi 发表于 2015-11-13 09:18
楼主,我绝对不相信,既然用了EPM570,不会连这么个计数器都变成非常耗资源的东西.
如果非要省,可以多个计数器 ...
不是因为我上次做个分频,内部耗了27%资源,所以我怕再写点东西就不够了? xiaobenyi 发表于 2015-11-13 09:18
楼主,我绝对不相信,既然用了EPM570,不会连这么个计数器都变成非常耗资源的东西.
如果非要省,可以多个计数器 ...
我的意思怎么写才是最省,这个也是优化设计 linbo411 发表于 2015-11-13 09:29
我的意思怎么写才是最省,这个也是优化设计
其实怎么写才最省,这个基本上无止境的
你可以写几个版本试试
肯定都是计数器,只是分几级,以及每级分多少分频系数
就是触发器与组合逻辑的折中
页:
[1]