分享

一文区分FPGA和STM32,硬件工程师一定用得上!

 goandlove 2018-09-16


什么是FPGA?


一、FPGA原理


FPGA中的基本逻辑单元是CLB模块,一个CLB模块一般包含若干个基本的查找表、寄存器和多路选择器资源,因此FPGA中的逻辑表达式基于LUT的。


FPGA内部的编程信息一般存储在SRAM单元中,因此通常的FPGA都是基于SRAM的,所以掉电后信息会丢失,下次上电需要先配置才能使用。


二、FPGA产品的速度等级


速度等级一般反映一款芯片的性能,速度等级越高,说明芯片内的逻辑延时和布线延时越小,设计的性能要求也越容易达到,随之付出的成本也越大。

对Xilinx FPGA,速度等级一般有“-1”、“-2”、“-3”等,数字越大,速度等级越高,芯片价钱也越贵。


对Intel FPGA,速度等级一般有“-6”、“-7”、“-8”,数字越小表示速度等级越高、价钱越贵。


三、FPGA内部资源


逻辑资源块是FPGA内部最重要的资源,Xilinx称其为CLB(configurable logic block);7系列中,FPGA内部三大主要资源:可编程逻辑单元、可编程I/O单元、布线资源。



1、可配置逻辑单元(configurable logic block)


CLB在FPGA中最为丰富,由两个SLICE构成,SLICE分为SLICEL(L:Logic)和SLICEM(M:Memory),因此CLB可分为CLBLL和CLBLM两类;



SLICEL和SLICEM内部都包含4个6输入查找表(LUT6)、3个数据选择器(MUX)、1个进位链(carry chain)和8个触发器(Flip-Flop);



2、存储单元(Block RAM)


Block RAM可以被配置为同步、异步、单端口、双端口的RAM或FIFO,或者ROM;


3、运算单元(DSP48E1)


当FPGA需要复杂的运算时,会使用DSP48E1,例如乘法;


什么是STM32?


STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。


它具有以下三个特点:


·新的基于ARM内核的32位MCU系列

–标准的ARM架构 –内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Cortex-M内核


·超前的体系结构

–高性能 –低电压 –低功耗 –创新的内核以及外设


·简单易用/自由/低风险

Cortex-M3系列属于ARMv7架构


ARMv7架构定义了三大分工明确的系列:


“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用

“R”系列:针对实时系统;

“M”系列:对微控制器。


STM32F1属于Cortex-M系列中的Cortex-M3内核,采用ARMv7-M架构。STM32F4属于Cortex-M4系列采用ARMv7-ME架构。Cortex-A5/A8采用ARMv7-A架构。传统的ARM7系列采用的是ARMv4T架构。



那么STM32与ARM有什么区别呢?



STM32和ARM有什么区别


STM32的命名规则



STM32的应用场景



STM32的应用场景还有很多,这里只是简单地列出一些。


总的来说STM32具有如下优势:


1)极高的性能:主流的Cortex内核。

2)丰富合理的外设,合理的功耗,合理的价格。

3)强大的软件支持:丰富的软件包。

4)全面丰富的技术文档。

5)芯片型号种类多,覆盖面广。

6)强大的用户基础:最先成功试水CM3芯片的公司,积累了大批的用户群体,为其领先做铺垫。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多