PIC:Peripheral Interface Controller。

FPGA:Field Programmable Gate Array。

关于二者:

区别:

FPGA是逻辑门器件,可以配置成为并行逻辑模块。FPGA最大优点是并行处理。例如构建一百个与非门,FPGA可以在一个周期同时完成信号输出。
PIC是controller类型,执行process,例如C语言程序。之所以称之为process,是因为这个程序是一条接着一条执行的,无法同时执行。所以即使可以给100个信号求与非,它们的输出也是一个一个输出的,不会像fpga一样同时输出。

优缺点:

fpga的优点是并行结构处理小逻辑非常迅速,而且可以构建非常多的并行模块。曾经做过一个项目就是需要20路并行SPI通信接口的,只能用fpga。因为pic系列一般只有2-3个SPI模块。

另外,fpga的引脚十分灵活,真正做到了设计电路时不需要考虑接线。因为fpga引脚功能都可以编程完成。pic虽然也提供了各种IO口的分配方式,但不是完全随意,仍然有一些限制。

fpga缺点是价格较高,处理process的能力不如pic强。另外,pic的外设非常丰富,这也是fpga不足的地方。一般的单片机都有adc(甚至dac),内部flash,超级多的timer,pwm生成器,比较器等等。可以说,随便买一块pic,这些外设都是有的。但是fpga的话外设很少(也可以买带有外设的,不过贵),一般flash、adc都必须用户买芯片自己配置。

移植性:

pic的程序基本上可以完全用fpga来做。但是fpga能做的pic不一定能做。
fpga目前有软核可以使用,使得c语言编程成为可能。软核就是利用hdl语言在fpga内部用逻辑电路搭出一个控制器,用于实现process。并且这个控制器的IO口可以根据用户自己定义。不过软核也有缺点,就是速度还不够快,优化做的不如pic好。而且fpga软核的使用价格也很高。

个人经验:

pic系列的做控制系统,功能已经完全足够了。一般情况下不需要用到fpga。当信号非常多,非常复杂的时候,一般采取fpga+controller的方式。fpga作为状态机、片选、外设接口来用,controller执行程序。

在执行process效率不需要太高、并行接口较多、或者需要电路非常灵活的情况下,选择fpga作为开发还是不错的。只是考虑到软核价格的问题,一般只能做开发。


版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处

作者:杭州卿萃科技ALIFPGA

原文地址:杭州卿萃科技FPGA极客空间 微信公众号


扫描二维码关注杭州卿萃科技FPGA极客空间


关于PIC和FPGA的更多相关文章

  1. [转]FPGA网站推荐

    1. OPENCORES.ORG这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到.进入后,选择project或者由http//www.opencores.org/browse.cgi ...

  2. FPGA与simulink联合实时环路系列——实验三 按键key

    实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...

  3. FPGA与simulink联合实时环路系列——实验二LED

    实验二LED 实验内容 在实验一的基础上,将simulink产生的测试信号输出到FPGA开发板上的LED灯进行显示,这里要在生成的硬件模型上进行修改,将传送到FPGA的信号输出到8个LED灯上,并且对 ...

  4. FPGA优化之高扇出

    Fanout即扇出,模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛.因此,在写代码时应尽量避免高扇出的情况.但是,在某些特殊情况下,受到 ...

  5. 关于 FPGA 内部信号扇入扇出

    扇入.扇出系数 扇入系数是指门电路允许的输入端数目.一般门电路的扇入系数为1—5,最多不超过8.扇出系数是指一个门的输出端所驱动同类型门的个数,或称负载能力.一般门电路的扇出系数为8,驱动器的扇出系数 ...

  6. FPGA Timing笔记

    很多FPGA工程师都会遇到timing的问题,如何让FPGA跑到更快的处理频率是永久话题.决定FPGA的timing关键是什么?如何才能跑到更快的频率呢? A. 第一步需要了解FPGA的timing路 ...

  7. FPGA的引脚VCCINT 、VCCIO VCCA

    首先是看到FPGA在配置的时候有三种不同的电VCCINT .VCCIO VCCA,于是就查了下有什么不同: FPGA一般会有许多引脚,那它们都有什么用呢? VCCINT为施加于 FPGA 内核逻辑的电 ...

  8. Using Internal EEPROM of PIC Microcontroller

    There are commonly three types of memories in a PIC Microcontroller, Flash Program Memory, Data Memo ...

  9. FPGA与simulink联合实时环路系列——实验一 测试

    实验一 测试 实验内容 在simulink创建测试模块,通过测试模块产生信号,再传送到FPGA,FPGA读出后再将信号无处理传送回simulink进行显示.由此来测试整个硬件在环的功能是否正常,并且熟 ...

随机推荐

  1. opencv:图像的基本变换

    0.概述 图像变换的基本原理都是找到原图和目标图的像素位置的映射关系,这个可以用坐标系来思考,在opencv中, 图像的坐标系是从左上角开始(0,0),向右是x增加方向(cols),向下时y增加方向( ...

  2. Java 进阶6 异常处理的陷阱

    Java 进阶6 异常处理的陷阱 20131113 异常处理机制是 Java语言的特色之一,尤其是 Java的Checked 异常,更是体现了 Java语言的严谨性:没有完善的错误的代码根本就不会被执 ...

  3. Java复习5.面向对象

    Java 复习5面向对象知识 20131004 前言: 前几天整理了C++中的面向对象的知识,学习Java语言,当然最重要的就是面向对象的知识,因为可以说Java是最正宗的面向对象语言,相比C++,更 ...

  4. 十三、dbms_flashback(用于激活或禁止会话的flashback特征)

    1.概述 作用:用于激活或禁止会话的flashback特征,为了使得普通用户可以使用该包,必须要将执行该包的权限授予这些用户,grant execute on dbms_flashback to sc ...

  5. Personal Introduction

    专业:计算机科学与技术 我是博客园的新人,虽然接触编程世界只有一年,基础知识比较差,编程能力差,但对于这个专业,我还是充满兴趣,希望有一天能独当一面,从今天起,我将分享一些在学习web前端和其他方面的 ...

  6. 决定整理一下canvas的基础学习

    好久没有用过canvas,都要忘完了.还是决定复习一下以前的笔记,以及整理一下笔记,以后好查阅

  7. Appium Remote webdriver调用

    remote webdriver的模板 默认开启4723端口接受webdriver请求 默认开启4724用于和android通讯 #coding:utf-8 #Import the common pa ...

  8. 【PL/SQL编程】变量和常量

    1. 变量格式 <变量名><数据类型>[(长度):=<初始值>]; v_countryname varchar2(50):='中国'; 2. 常量格式 <常量 ...

  9. Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析

    Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析 2018年04月03日 13:51:55 阅读数:936   XEN 与 VMware ESXi,Hyper-V 以及 K ...

  10. Windows7下PHP 7.1搭建开发环境

    引言: PHP天生就是用来解决互联网时代的Web语言问题的专业工具,本文将记录在windows上搭建PHP的过程以及其中碰到的问题. 配置版本信息 OS: Windows 7 PHP: 7.1.7-n ...