小风哥的FPGA进阶之路——(一)中小型企业FPGA开发流程
0赞中小型企业FPGA开发流程介绍
注册AET账号有些日子了,只在AET这么优秀的工程师交流平台发表过3篇博客,这一直让我耿耿于怀。所以决定以2周1篇博客的速度更新,希望自己能够坚持下来。
中小企业FPGA开发虽不像华为等大型公司分工较细,但能做到麻雀虽小,肝胆俱全。因此介绍此流程很有意义。
从事逻辑工程师开发已经有不些春秋,也跳过槽。熟悉2家中小型公司的FPGA开发流程,介绍如下。
1、逻辑需求分析
项目启动后,硬件工程师根据客户或者项目需要进行原理图的绘制,其中一般包括逻辑设计需求。硬件工程师为逻辑工程师提供《设计原理图》、《研制方案文档》、《客户协议细则》等内容,逻辑工程师根据提供文档整理出FPGA/CPLD的外围接口,项目逻辑设计的需求,例如:数据交互、DDR缓存、报文处理、上电、复位,点灯等。
此环节过程中,需要帮硬件工程师验证FPGA引脚分配,以确保FGPA硬件设计的合理性。
#此环节在项目周期允许的情况下,应以文档呈现。
图1、需求分析细则
2、逻辑设计方案
基于公司之前项目的设计习惯,做出FPGA/CPLD的总体框架,一般使用word文字结合Visio制图,以图文并茂的方式呈现。细节应包括:接口时序、模块时序、模块具体实现等内容。
*此部分内容必须以文档方式呈现,必要时邀请其它逻辑工程师进行《设计方案评审》。
图2、设计方案的典型案例
3、代码编写与仿真
根据设计方案进行代码编写还仿真,撰写代码时应符合公司代码规范。
仿真包括UT仿真和系统仿真。
(1)、UT仿真
UT仿真即模块仿真,应对模块设计的功能构造激励进行仿真,应尽量多的覆盖测试点,并构造特殊情况,以验证模块的恢复能力。
(2)系统仿真
针对工程顶层的仿真,要求同上。
4、板级调试
板上加载镜像文件进行,调试步骤一般包括:
(1)、接口调试,这是调试的第一步,一般需要打通FPGA外围接口,例如Local bus、SPI、IIC、DDR3等、SRIO等。
(2)、功能测试:验证项目最初设计时的逻辑功能,需全部功能验证通过方可。
(3)、异常构造:构造一些异常情况,检验FGPA设计的稳定性和自我恢复能力,这一点很重要。
调试手段一般包括:
(1)、FGPA开发软件的抓信号软件,例如:chipscope,signaltap II等。
(2)、逻辑分析仪;
(3)、示波器、万用表;
(4)、其它。
FPGA工程师应记录调试过程,以《调试记录》文档方式呈现。