当前位置:首页 > > 艾思后端实现

一个完整的层次化设计,在代码设计阶段,就应该树立层次化的理念。这里边主要由以下几个考量

简化大规模设计的必经之路
后端实现的真实需求
验证和设计的一致性
相关配套、支持文件的参照点(SDC、UPF等等)

从架构入手,合理分布RTL的层次结构,让整个设计看起来张弛有道。这个思路体现如下

前端设计人员按照下面的思路过程来设计代码

  1. 完成inst1的模块代码设计

  2. 完成inst1的内部连线

  3. 完成inst2的模块代码设计

  4. 完成inst2的内部连线

  5. 完成top-level的模块代码设计

  6. 完成top-level的连线

可以看到,这里边涉及了三个部分的设计

  1. inst1

  2. inst2

  3. top-level

通常来讲,合理的分配各个模块可以加速full-chip的收敛。从上面的例子可以看出,top-level的东西比较简单,只有一个控制逻辑和PAD,主要的功能都在子模块里边,这样的好处是非常明显的

  1. 子模块的实际内容多,但是总体规模不会很大,综合和版图的可控性会很好

  2. 相互关联密切的功能IP封装在一个模块里,有利于时序收敛和后端工具优化

  3. top-level的主要用途就是穿线,以及中心控制和PAD等等,有利于整体功能布局的规划,主要精力要放到interface的时序上,以及可绕通性。

每一个模块都有一套自己独立的文件结构,譬如inst1对应的是design1,整个design1的文件架构类似如下:

有了这些文件,design1的综合就可以开始了。综合的流程通常比较简单,这里不做过多的讨论,基本流程可以参见下面的列表

  1. HDL analysis 和 elaboration

  2. read_sdc和read_upf 以及一些基础配置

  3. 运行compile_ultra和DFT insertion

  4. 创建Block Abstraction view

  5. 生成DDC和网表

重要的第四步时一定要执行的,这里生成了后面层次化设计的重要信息。

对应的,这里也列一下inst2(design2)的文件目录结构

使用综合器,分别可以得到下面的文件

  1. design1.ddc 和 design1.v

  2. design2.ddc 和 design1.v

基于不同的DCT/DCG环境,可以开始根植于如下目录结构的顶层综合

顶层综合的思路会有一些不同,具体流程如下

  1. 配置block implementation的状态

  2. 读入底层带有Block Abstraction的DDC(不要读入子模块netlist,会导致非常多的困惑),工具回显如下例

  3. HDL analysis 只分析top-level的verilog,譬如:top_ctrl_design.v、PAD_design.v 、designFC.v

  4. elaboration的时候,一定要注意一下子模块的链接状态,保证模块信息都可以被正确挂载进来

  5. 在保证link无误的情况下,读入designFC.sdc和designFC.upf,运行compile_ultra和DFT insertion

  6. 生成DDC和网表,完成top-level的综合

对应的,在做层次化的设计的时候, 需要注意下面的事项:

  • 调用底层模块的时候,一定要使用带有block Abstraction的DDC,DDC里边包含了block的

    • 时序约束信息

    • UPF信息

    • 时钟结构信息

    • 边界时序信息

  • top-level的UPF只有顶层的low power需求

    • 顶层的LS、ISOLATION的需求,如果被约束的cell在顶层

    • 顶层和block的PG连接关系

  • top-level的SDC包含了整个top-level和block-level的时序约束

    • 顶层的SDC一定要和block的SDC,在block级别呈现出高度的一致性,譬如纯粹block 内部的MCP、false path等等

    • 如果时钟的源头在顶层,block级别的clock无需二次声明,譬如下面示例

      在design1/desing2综合的时候,分别在各自的sdc里边定义pclk,如果把视角放到顶层,那么画风是这样的


可以看到,从toplevel来看的话,以前的design1/design2的pclk,其实都是从top-level的pll驱动的,在top-level构建SDC的时候,只需要生命pll的clock就可以了(Pll_clk),剩下的就交给工具自动衍生。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭