如何进行分FPGA模块划分

可编程逻辑

1348人已加入

描述

学习至简设计法,学会模块设计和模块划分技巧。

  模块划分,顾名思义是指模块的划分。但是,明德扬至简设计法提出的模块划分,是广义的“模块划分”。后续所提及的“模块划分”,不单单指模块的划分,还包括模块划分好后,模块的端口及模块之间数据流向的确定。

Xilinx

  模块划分原则

  原则一:对每个同步时序设计的子模块的输出使用寄存器(Registering)。

  原则二:将相关的逻辑或者可以复用的逻辑划分在同一个模块。

  原则三:将不同优化目标的逻辑分开。

  原则四:将松约束的逻辑归到同一个模块。

  原则五:将存储逻辑独立划分成模块。

  原则六:合适的模块规模。

模块划分技巧非常重要,好的模块结构,能极大地精简各模块的结构,从而能用最少的代码实现所需的功能;使各模块顺畅运行,保证系统更加稳定。大家深有体会的就是ISO和安卓系统,虽然任何手机功能都可以在两者系统上实现,但ISO的稳定性、效率远超过了安卓,这可以归功于ISO良好的系统结构。可以说模块划分更考究人的智慧,中国人至今没有设计出好的芯片结构,华为海思的架构师基本上都是国外的专家来担任。

如何进行模块划分,列出了非常多的实用技巧。

1. 讲述了模块之间连接的常用信号。一般模块之间就通过这些信号来连接,读者定义模块信号时基本上套上这几个信号就可以了,也不用再去烦信号的命名问题。

2. 对于FPGA内部模块,讲述了模块之间数据交互的几种模式和应用场景。读者可以按照项目情况选择合适的模式来使用。

3. FPGA经常与外设通信,至简设计法也讲述了与外设连接时,FPGA模块标准,如一般可分为接口模块和命令模块。接口模块负责时序,命令模块负责发布命令。

4. 对于复杂的、内部有寄存器的外设。至简设计述定义了模块标准,方便调试和使用的同时,也减少了出错的可能。

研究出来的至简设计法,综合考虑了调试、使用和降错机率,要让每个学员都能设计出最优秀的代码。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分