当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]FPGA设计的安全性问题解答

Q1:FPGA设计与DSP设计相比,最大的不同之处在哪里? 

A1:这个问题要从多个角度看。它们都用于某个功能的硬件电路实现,但是它们的侧重点有所不同。这里涵盖的说一下。

1)内部资源

FPGA侧重于设计具有某个功能的硬件电路,内部资源是VersaTiles(ActelFPGA)之类的微小单元,FPGA的内部单元初始在编程前都是使用的是HDL语言实现硬件电路的设计描述。FPGA内部的连线资源将这些功能模块的内部和模块之间的信号连接起来,构成较大的模块。FPGA可以内部实现ALU,加法器,乘法器,累加器,FIFO,SRAM,DDRcontroller,FFT,HDLC,DMA,PWM等等数字电路,也就说我们要用其实现一个特定的或是通用的硬件功能一个或是多个模块,这些模块的各个细节都要要用HDL来描述设计实现。目前的FPGA都可以直接内嵌诸如ARM7,CoretexM1,Core8051等微处理器,用于FPGA的软核的,也有的FPGA厂商将一些硬件模块直接做到FPGA中,这些是FPGA内部的硬核。传统的FPGA都是实现纯数字电路的,业界只有Actel的FPGA实现了数模混合的PSC单芯片技术,真正的提升和扩大了FPGA的应用功能和领域。另外多数FPGA都有PLL,DLL之类的锁相环,Slew可调,Actel的还内建了OSC,RTC,Powermanager之类的硬件单元,甚至Actel的Fusion系列还内建了600kbps的12bit的ADC以及MOSFETDriver之类模拟接口,内部有UserFlashMemeory,FlashROM等资源可以实现真正的PSC,Bootloader之类的功能。 

DSP主要是算法处理,内部资源主要是乘法器,加法器之类的资源,有SPI接口,UART接口,接受一定的指令集,内部的资源基本上都是现成的,需要客户的需要而重新配置,方便于客户的使用,但是相对来讲其功能是有局限性的,所以主要用于某些特定的领域。DSP也有内嵌的锁相环,计数器,Baudrate发生器,有的DSP也有ADC模拟接口。 

2)使用的编程语言

FPGA主要使用HDL,包括VHDl,Verilog,还有数模混合的描述语言Verilog-AMS等。DSP使用C,汇编语言编程。

3)功能角度

FPGA普遍用于实现数字电路模块,基本上能实现所有的数字电路,传统的数字功能模块,以及客户产品特定需求的数字处理模块。FPGA的IO桥接种类繁多,不同种类的级别的FPGA支持的IO标准和协议都不尽相同,但是这些IO的驱动能力或是电压都是可编程配置的。任何数字功能电路的实现,高速信号的处理,控制领域的信号处理,桥转换协议的实现,Actel的Fusion还能用于电流/电压检测,温度的检测,MOSFETdriver,电源管理,其独特的Flash工艺技术可以依靠电池供电工作,和掉电实时保存数据,超低功耗,多种工作模式(Static,Sleepmode),尤其IGLOO芯片的功能在Sleepmode下功耗只有5uW。这样的功耗用于手机,GPS之类的移动手持设备中能发挥更大的功能应用。另外用FPGA实现ASIC的前期的设计验证,FPGA实现DSP的功能,实现CPU的功能,MCU的功能,内存控制器,用于工业的PWM,SVPWM,Clarke,Park的正逆变换的实现,VGA控制,数据的编解码,解复用,高达上Gbps的信号的处理,协议的转换实现等等等等功能,都是DSP难以胜任的。 

DSP内部有很多现成的硬件模块和接口以及控制器,但是需要软件编程设定,可以实现PWM控制,接口控制,UART接口,SPI接口等功能。但是由于受指令集的时钟周期的限制,DSP不能处理太高的信号,至于说上Gbps的信号,LVDS之类的信号就很难以涉及了。所以相应的应用领域会有所限制。但是不同的领域客户的设计方案不同,考虑的侧重点不同,有些领域设计者也是爱好使用DSP的,诸如算法实现,协议的处理等等如果换作FPGA来处理那就得不偿失。 

FPGA和DSP的区别还有很多,这里先说一点,希望能起到抛砖引玉的作用。具体的环境和设计方案各有其用武之地,设计者要根据自己的需要来选用。

Q2:在做设计之前,如何选择FPGA呢? 

A2:一般情况下,先针对设计,列出您想要实现的功能,大致画个功能框图,然后根据其功能和系统的要求大致推算出你需要的:

IO需求——可用IO数量、差分信号对、IO的电平格式等; 

电压源的需求——系统提供哪些电压?核电压需要多少?IO电压源需要哪些? 

封装——用TQ?VQ?PLCC?BGA?还是其它的封装形式? 

内部RAM的需求——需要双口RAM吗?需要FIFO吗?大小是多少? 

时钟及速度需求——最大的时钟速率是多少?需要多少个PLL?速度等级?全局时钟有多少? 

逻辑资源和IPcore的需求——需要哪些IP核,大致占用多少资源? 

扩展和升级的需求——是否考虑IO和逻辑资源留有一些余量,以便以后的扩展?升级是否方便?

价格的因素。[!--empirenews.page--]
基本就这些,当然也可以初步选定一个型号,直接在开发软件中对你的程序进行编译、综合、布局布线等,这样能清楚地可以看到你的设计占用的资源,然后再选择合适的型号。 

Q3:FPGA对于初学者来说,应该从哪几个方面入手? 

A3:我建议初学者首先要理解FPGA的原理,这是基础,然后设计一些小型的代码,在验证设计的基础上真正的理解设计硬件的思想,那么这样的话你必然要学到如何结合FPGA资源,特点,性能等方面知识的理论才能专心于设计代码上。至于说芯片的设计安全也是必然要理解的,不然一个静电上去就毁掉芯片了,那你的老板肯定要感到Surprised了。设计的精髓就是设计的思路上的问题了,包括代码的设计技巧,系统要求的功能模块的实现方法,多个模块如何配合的代码设计,后期的验证,调试,到板级的设计调试等等,要做好FPGA设计不同于DSP,软件设计等等,精髓的东西即使现在讲给初学者,他一样是茫然的,不知道什么是什么,因为这是需要很强的功力才能理解和体会到的。需要时间需要付出,需要努力吃苦钻研技术,更需要成长的路上有良师的指导和同行朋友的交流,需要长期的积累的。到那时你就是专家了。


Q4:用Actel的方案进行加密后,成本上有增加吗? 

A4:用ACTEL方案加密,成本不会增加。因为ACTEL的FPGA是单芯片的,所有的编程信息已经编程在FPGA内部,有了加密选项该信息不会被读出。 

Q5:作为刚接触FPGA的初学者,是否一开始就要深入了解芯片安全设计的精髓或者是原理之类的,还是应该把重点放在如何设计代码上?

A5:了解FPGA的原理和代码设计,两者缺一不可。只有了解FPGA的结构,才能设计出更好的代码;编写代码能实现自己的设计意图,最终能熟练地使用FPGA。

Q6:系统中运放很多都是闭环应用,但是仿真的时候经常要开环仿真,可是开环仿真不能真实模拟其实际工作环境,我该如何仿真呢? 

A6:这里应该是指的FPGA仿真吧,如果是运放的话要定好芯片之前就看懂了芯片手册了,然后在实际的环境中测试,在软件环境里仿真的话需要特别的工具,我目前不是很清楚。但是我们可以单就FPGA的仿真来谈问题。实际的环境中的仿真是板级的,但是也必须有信号源和反馈信号,否则这个闭环还是不会响应外界的信号而发挥其功能的。根据这个思想我们就要额外设计一个或是多个模块或是叫做模拟出一个信号源和接收反馈信号的模块,这里的模拟不是模拟信号的意思而是我们从设计的角度来看就是写一些Testbench,设计FPGA的会使用Verilog或是VHDL,做前端的RTL代码后我们其后可以借用Modelsim或是别的仿真软件输入满足设计需要的信号源(Testbench)查看波形,对于自己关注的节点或是信号标注以特别的名字,我们就能实现所谓的闭环仿真了。 

Q7:Actel的设计安全保护和计算机网络安全DES和RSA算法有什么联系或者是互补的关联? 

A7:ACTEL的设计安全是对设计的内容进行保密,阻止非法读取和写入;而计算机网络中的DES和RSA是对网络上流动的数据进行加密/解密。两者关系不大。 


Q8:关于全定制或半定制ASIC方面,是否也有同样安全设计? 

A8:对于全定制的ASIC,一般来说保密性不如半定制的ASIC。对于半定制的ASIC,如果定制信息很容易被读出的话,安全性就很差了;如果采用单芯片的半定制ASIC,而且定制信息不被读出,安全性就会很高。

 

 

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭