【前端设计】综合的harden block顶层为什么不能有参数呢?

从做系统交付的那天开始,就接触了一个原则:作为独立综合单元的harden block顶层是不能有parameter的。后面轮到我跟其他人解释这个原则的时候,突然想到为什么要这么做呢?

一般来说一颗芯片由定到底会划分很多层次,比较典型的划分是chip - system - sub_system - block - unit,对应验证的层次呢就是top - sys - sst - bt - ut。这个划分有什么具体的标准么?一般是以功能进行划分,比如PCIE一般作为system进行集成,其中的数据通路可以划分为一个sub_system,处理AXI接口的模块划分为block。当然这个划分并不绝对,除非成熟的IP和芯片,否则很大程度取决于架构与设计人员对代码和规模的把控。

【前端设计】综合的harden block顶层为什么不能有参数呢?_第1张图片

那么harden blcok处在哪一层呢?这个其实比较模糊,因为之前说的等级是按照功能来划分的,而harden block是按照“规模”来进行划分的。因为RTL代码经过编译、综合和布局布线等诸多流程之后是要以网表和版图的形式向后交付的,而随着芯片的规模越来越大,如果把所有整个芯片放在一个网表里做,DC综合时间和布局布线时间将会极大(以月计),这根本不可能接受。因此需要分块进行综合之后再将分块的网表“拼”在一起,这个块就是harden block。

你可能感兴趣的:(芯片前端经验分享与工具发布,芯片前端设计,verilog,芯片,systemverilog)