|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大咖解读啥是FPGA/DSP?
( u, U6 _6 r- M J# l" A F6 c( T
这世界真是疯了,貌似有人连FPGA原理是什么都不知道就开始来学习FPGA了。
1 W0 l# `% n$ q0 x* L2 { ! u# F i& _+ q5 M! G' k7 v
DSP就是一个指令比较独特的处理器。它虽然是通用处理器,但是实际上不怎么“通用”。技术很牛的人可以用DSP做一台电脑出来跑windows,而实际上真正这么干的肯定是蠢材。用DSP做信号处理,比其他种类的处理器要厉害;用DSP做信号处理之外的事情,却并不见长。而且信号处理的代码一般需要对算法很精通的人才能真正写好。: {6 Y1 A0 ~+ G. z0 U
9 T3 _( ?2 V* v- ?
数据结构里面的时间复杂度和空间复杂度在这里是一把很严酷的尺子。 FPGA只不过披着软件的外衣,实际上是硬件。FPGA内部有两层相对独立的电路。使用者“编码->编译”后生成一个映像,这个映像作用于第一层电路。这层电路之际上就是一个0,1的开关矩阵,这个开关矩阵用来控制第二层工作电路,将第二层工作电路配置成一个相应的处理器。
' K q8 G7 S/ E( ` ; V. A9 Z6 x8 S5 }5 l. G
理论上FPGA可以配置成任何需要的处理器,而实际上为了尽量少出bug,FPGA开发都使用已经开发好的“库文件”,也就是把人家能稳定工作的电路图拿过来。: ~/ V& s6 ?0 V+ d" l3 N
5 g( |/ O v8 _1 F因此,对大多数FPGA开发者来说,FPGA内部有几个核基本上只能从库文件里面选——除非你有能力自己设计核心内部的电路和核间总线——ram和rom也是用宏来配置,自己只需要改改外部的专用电路和接线方式等等。
# l, l( {% a, i( r% j {3 W
1 ]' f5 P9 x0 q. a6 n6 K% f4 m6 `+ T! Y甚至外部的专用电路都有库文件,搭个积木就完事了。玩FPGA真正挣钱的人是做积木的人,你原创几个积木并且能申请专利,迫使人家给你交专利费,那你这辈子可以衣食无忧了。$ g8 g6 e1 q ^) }0 J& L* r; p
3 o! V; F. i+ g; _
FPGA区别于ASIC设计属于硬件设计的范畴ASIC是硬件全定制FPGA是硬件半定制. 具体来说ASIC整个电路都由设计师设计的,用多少资源设计多少资源 一般多用于产品设计. FPGA资源事先由厂商给定,例如Altera Xilinx等都提供不同系列的FPGA芯片,设计师可以在给定资源下做硬件设计开发.
0 ` M& z/ V2 A X" d
" W, S& E# o( F! X5 NDSP主要用于处理信号,事先算法,特点是多级流水,可以加快数据处理的速度,开发环境主要是C语言,可以说DSP应用的范围更专DSP的设计. 可以理解为软件设计,设计师不需要太了解DSP的结构.$ X4 [1 W5 \; a
9 R+ y3 c& _' W6 {# N3 ]0 Z( e% }( _: J
4 e+ d7 j: I5 G% v
" k; J$ G. y7 `/ v |
|