FPGA 研发之道(6)架构设计漫谈(一)流驱动和调
用式
勿用讳言,现在国内开发还处于小作坊的开发阶段,普通都是三、
四个人,七八台机器.小作坊如何也能做出大成绩。这是每个 FPGA 工程
师都要濒临的问题。架构设计是濒临的第一关。常常有这样的项目,需
求分析,架构设计匆忙忙忙,号称一两个月开发完毕,事实上维护项目
就花了一年半时光。主要包括几个问题,一,性能不满足需求。二,设
计频繁变更。三,系统不稳定,调试问题不收敛。
磨刀不误砍柴工,FPGA 设计的需求分析是囫囵设计第一步。如何将系
统的功能需求,转换成 FPGA 的设计需求,是 FPGA 架构设计的首要问题。
首先, 需要明确划分软件和硬件的边界。软件主要处理输入输出、界
面显示、系统管理、设备维护。而 FPGA 则负责大数据流的处理。
假如用法几百元 FPGA 实现了一个十几元就能完成的功能,就算实现的
十分完善,那么这是一个什么样的神设计?任何一个项目都要考虑成本,
研发成本、物料成本、维护成本等等。FPGA 的用法位置必然是其他器
件难以企及的优势。
因此对于一个 FPGA 架构设计,其首先需要考虑就是性能,如没有性能
的需求,其他的处理器就可能替代其功能。第二就是接口,用于处理
器扩展其没有的接口,作为高速接口转换。最后,需要考虑就是可维
护性,FPGA 的调试是十分耗时的,一个大型的 FPGA 的编译时光在几
小时甚至更高(通过分析仪抓信号,天天工作 8 小时,只能分析两到
三次)。而软件调试只需 make,编译时光以秒来记(这个问题可以通
过提升编译服务器性能充实而不能消逝,本质上要考虑可测性设计)。
假如不考虑维护性和可测性,调试成本和压力就十分之大。
通常,FPGA 的大部分架构设计可以采纳数据流驱动的方式来实现,例
子 1,假设一个实现视频解压缩 FPGA 的设计,输入是无线接口,输出
为显示屏。那么输入输出的接口基本就能确定。以数据流为驱动可以
粗略划分,输入接口->解压缩模块->视频转换模块->显示接口。如需
第 1 页 共 2 页