利用FPGA可以设计出哪些有趣的东西?
1.数字滤波器,NCO。这两个对实时性也就是时钟敏感度较高吧。最简单的,可以去看下分布式的FIR滤波器设计,这就是仅属于FPGA的算法吧。2.先说结论: assign data_in={data,data,data,data};可能是一个很简单的赋值语句,但是却帮我解决了一个本来很复杂的问题。原先问题是这样的,做一个数据转换8位到32位,为了解决时钟等问题,采用FIFO转换,但是转换后发现数据存储的顺序和我设计的不一样,顺序反了。就是高位数据到了低位去,我第一反应就是写一个数据倒位模块,比如在前面缓存下调换位置后输出等,或者改输出等等…但是之后时钟问题又好麻烦,想了一会儿,静下来。突然想到这可是FPGA,无非就是把这几根线接到换下位置接而已,瞬间豁然开朗,让我对FPGA产生一种佩服之情,真正的用软件语言去实现硬件结构啊!3.FPGA对管脚几乎没有任何限制,任何一个管脚都可以作为IO口。而我们熟知的单片机限制死了这块单片机的这几个IO只能用作采样,这几个用作SPI协议等等。因为对这几个引脚单片机集成了相关的库函数,看似很实用,但是我们实际操作的时候经常用错了引脚,明明程序是对的,但是确实没有输出,最后发现这个引脚不能用作IO等(用STM32做一个音频编码的时候真正遇到的)。那为什么FPGA不给你写好这些库函数呢。这里排除一些调用IP核的。个人感觉这是因为任何的接口协议(如UART,SPI等)对FPGA来说实在是太简单了,这也得益于FPGA的并行处理思想把。4.并行处理思想,这个我当初想一直做下去的原因把,这个其实打破了我们之前按部就班一步一步来的思想,按部就班的来的话其实方法不多,但是当一件事可以分开来做,然后汇总在一起,这就是无穷种方法,每个人都会有自己的风格,想法真的是被释放,各种脑洞,想想就激动啊,非常喜欢之前数电老师的一句话,数电就是一堆积木让你玩,你可以随便设计。FPGA的话就是把这些积木变的更小了,我们可以用各种风格去实现同一个目标,私人订制,这样发展下去,做FPGA好像永远不怕没工作干 感谢楼主分享
页:
[1]