找回密码
 注册
关于网站域名变更的通知
查看: 378|回复: 2
打印 上一主题 下一主题

FPGA设计的需求分析

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-12-1 09:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Diabloa 于 2018-12-1 09:25 编辑
( r9 C5 d! X* a1 I( q8 A9 D" f0 [; w; ^
      FPGA设计的需求分析

! v3 D+ b- b7 O& Q: ~- |, b0 F- m       勿用讳言,现在国内FPGA开发还处于小作坊的开发阶段,一般都是三、四个人,七八台机器.小作坊如何也能做出大成果。这是每个FPGA工程师都要面临的问题。架构设计是面临的第一关。经常有这样的项目,需求分析,架构设计匆匆忙忙,号称一两个月开发完毕,实际上维护项目就花了一年半时间。主要包括几个问题,一,性能不满足需求。二,设计频繁变更。三,系统不稳定,调试问题不收敛。
  ^9 M3 j- O+ z- Y% |2 A& }" v/ }! l5 o8 H. m* ^
       磨刀不误砍柴工,FPGA设计的需求分析是整个设计第一步。如何将系统的功能需求,转换成FPGA的设计需求,是FPGA架构设计的首要问题。首先, 需要明确划分软件和硬件的边界。软件主要处理输入输出、界面显示、系统管理、设备维护。而FPGA则负责大数据流的处理。: Z, b6 ~% c# d3 s# i# Z

- w+ n' U- u8 R& |9 k  如果使用几百元FPGA实现了一个十几元单片机就能完成的功能,就算实现的非常完美,那么这是一个什么样的神设计?任何一个项目都要考虑成本,研发成本、物料成本、维护成本等等。FPGA的使用位置必定是其他器件难以企及的优势。- r9 Y1 q- H+ S! t& O

7 H) v) S$ o) W1 R( V  q  因此对于一个FPGA架构设计,其首先需要考虑就是性能,如没有性能的需求,其他的处理器ARM就可能替代其功能。其次就是接口,用于处理器扩展其没有的接口,作为高速接口转换。最后,需要考虑就是可维护性,FPGA的调试是非常耗时的,一个大型的FPGA的编译时间在几小时甚至更高(通过嵌入式分析仪抓信号,每天工作8小时,只能分析两到三次)。而软件调试只需make,编译时间以秒来记(这个问题可以通过提升编译服务器性能改善而不能消失,本质上要考虑可测性设计)。如果不考虑维护性和可测性,调试成本和压力就非常之大。
. g6 A# h1 Z7 E: b& H0 q) T" _, q" a3 E/ d7 y9 q8 i) f% M! y
  通常,FPGA的大部分架构设计可以采用数据流驱动的方式来实现,例子1,假设一个实现视频解压缩FPGA的设计,输入是无线接口,输出为显示屏。那么输入输出的接口基本就能确定。以数据流为驱动可以粗略划分,输入接口->解压缩模块->视频转换模块->显示接口。如需要视频缓冲,则确定是否需要连接外部存储器。那就需要确认在什么位置进行数据的缓冲。通过要支持显示的画面的质量,就能确认最大码流,同样可以计算视频解压模块和转换模块的计算能力,从而导出所需的内部总线宽度,系统频率,以及子模块个数等等。例子2,某支持通过有线电视网上网电视IP网关,同样也是输入的普通IP网络,输出为有线调试网的调试解调器。将IP报文等长填充后,在固定时隙内送入有线电视网中,同样也是基于数据流驱动的方式。
# ~1 E" X) J" e. f' r
2 ^, b4 M3 ]8 m* u& [9 {  数据流驱动式架构,可以作为FPGA设计中一个最重要的架构。通常来说应用于IP领域、存储领域、数字处理领域等较大型FPGA设计都是数据流驱动式架构,主要包括输入接口单元,主处理单元,输出接口单元。还可能包括,辅助处理单元、外部存储单元。这些单元之间一般采用流水式处理,即处理完毕后,数据打包发完下一级处理。其中输入输出可能有多个,此时还需要架构内部实现数据的交换。! f, n6 F* R7 Q% L, f
1 i5 G' y8 L% s( x5 M. D# P4 \
  另一种较为常用的架构方式为调用式架构,即一般FPGA通过标准接口如PCI、PCI-E,CPCI,PCI-X,EMIF等等。各种接口,FPGA内部实现某一加速单元,如视频加速,数据处理,格式转换等操作。这种结构基本基本围绕FPGA接口、加速单元展开,属于数据的反馈类型,即处理完数据又反馈回接口模块。: d: N5 x9 A, j; I
" `! t  X" N* @' l6 D
  其他虽然各型各样,如SOPC,如各型接口,但本质上其都是为上述架构服务的,或做配置管理替代外部CPU,或在数据流中间传递中间参数。或在内部实现CPU+协处理器的架构,因此说,无他变化。6 O! {- N5 ~; V' K; m

# N" Y/ e& M* }2 C( W+ F1 O  孙子兵法云:“兵无常势,水无常形”。但是对于一种设计技术来说,没有一种固定演进的架构和设计,那么项目的整个设计层次总是推到重来,从本质上说,就是一种低水平重复。如果总结规律,提炼共性,才能在提升设计层次,在小作坊中取得大成果。
% x& C2 @2 K! V* ]

该用户从未签到

3#
发表于 2019-8-21 18:08 | 只看该作者
研究研究,谢谢楼主分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-12 20:54 , Processed in 0.125000 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表