FPGA的设计

文章来于《ic设计流程与实用工具介绍》

Fpga的设计流程与数字Asic的设计流程比较类似,也需要功能仿真、综合、布局布线的过程,但是由于FPGA是针对特定用途通用芯片,所以在布局布线完成之后就可以直接将所做的设计代码直接下载到FPGA硬体中去了。

在进行针对FPGA的设计时,首先要做的就时利用工具对需要实现的算法进行功能验证,在这里可以使用的软件很多,比如Active—HDL、Mentor的Modelsim系列软件和QuestaSim系列软件,或者使用FPGA厂商所提供的专用软件,比如Altera的Quarters与Xilinx的ISE都可以实现供更仿真,其中在FPGA厂商所提供的软件中都提供了第三方功能软件的接口,所以也可以通过厂商所提供的软件调用第三方的仿真软件。

在完成功能仿真后需要进一步完成的工作就是综合了,此时可以使用厂商自带软件的综合工具进行综合也可以使用第三方软件进行综合,其中比较著名的软件有Synlicity公司的synplify与Synposys的Fpga Complier,通过这一步可以得到满足设计要求的针对不同型号FPGA的电路映射。需要注意的是,在进行综合时可以根据设计要求修改综合约束从而实现不同的设计要求。

完成综合后就可以对所做的设计进行布局布线了,此时必须使用FPGA厂商所提供的软件,因为布局布线与其各自的FPGA内部架构有密切的联系,因此各个厂商都有各自不同的布线算法。所以必须使用专用的工具进行布局布线。

在完成以上步骤之后就可以利用厂商所提供的软件进行布局布线后的时序参数仿真了,根据布局布线和FPGA的内部架构可以利用ISE或者Quarters软件得到布局布线后的时序参数了,然后将该时序参数反标为综合后的网表进行后仿真就得到FPGA在实际工作时的波形了。

需要注意的是对于第三方仿真软件的调用一定要建立相应FPGA器件的基本单元库,只有有了这些库之后才可以调用第三方软件进行仿真。

在观察后仿真的波形正确后就可以将所做的设计通过电缆和厂商提供的工具软件下载到相应的FPGA器件中去了,此时FPGA工作得到的信号波形和后仿真应该是基本一致的。

对于FPGA而言,合理的算法代码实现与对所使用FPGA芯片的架构的了解除了可以帮助达到所需要的设计要求,同时还可以消耗更少的FPGA逻辑资源,从而可以用最少的资源实现最多的功能,达到最快的速度与最合理的功耗,也就是“多、快、好、省”的完成设计!

posted @ 2012-09-01 18:52  sccdlyc  阅读(383)  评论(0编辑  收藏  举报