逻辑综合

利用工具将RTL代码转换为门级网表的过程叫做逻辑综合(Logic Synthesis),常见的逻辑综合工具是synopsys的design compile(DC)

综合一个设计的过程从读取RTL代码开始,通过施加时序约束关系,映射 产生一个门级网表文件;它可以分为三步

1. 翻译:读入电路的RTL级描述,并将语言描述翻译成相应的功能块以及功能块之间的拓扑结构。这一过程的结果是在综合器内部生成电路的布尔函数表达式,不做任何逻辑重组和优化。

2. 优化:根据所施加的时序和面积约束,按照一定的算法对翻译结果进行逻辑重组和优化。

3. 映射:根据所施加的时序和面积约束,从目标工艺库中搜索符合条件的单元来构成实际电路的逻辑网表

如下图所示:逻辑综合=翻译+优化+映射

流程介绍

(1)用RTL代码进行设计

即用可综合的RTL代码进行设计的编写;

(2)指定工艺库

在根据约束条件进行逻辑综合时,对于选择的流片工艺,工艺库会提供综合工具所需要的标准逻辑单元的全部信息,即工艺库含有特定工艺条件下的标准逻辑单元的逻辑功能、单元面积、输入到输出的时序关系、输出的扇出限制以及对逻辑单元进行时序检查所需要的信息等.综合工具将根据工艺库提供的这些信息,对器件进行选择和电路结构调整,使其达到时序收敛;主要包括以下几个库:

link_library:链接库,它是DC在解释综合后网表时用来参考的库;一般情况下,它和目标库相同;当使用综合库时,需要将该综合库加入链接库列表中;

target_library:综合的目标库,它一般是由生产线提供的工艺相关的库;

symbol_library:指定的符号库;

synthetic_library:综合库,它包含了一些可综合的与工艺无关的IP;

(3)读入RTL代码文件

将RTL代码输入给综合工具,由综合工具进行编译;

(4)定义环境的约束条件

主要包括 : 设置环境条件     set_operating_conditions
                    设置线负载模型 set_wire_load_model
                    设置驱动强度     set_drive set_driving_cell
                    设置电容负载     set_load
                    设置扇出负载     set_fanout_load 

(5)定义设计的约束条件

主要包括:时钟定义的命令
                                                   creat_clock
                                                   set_colck_latency
                                                   set_clock_uncertainty
                                                   creat_generated_clock

                设计规则约束
                                                   set_max_transition 最大跳变时间

                                                   set_max_fanout  最大扇出

                                                   set_max_capacitance 最大电容

            输入输出端口的延时
                                                  set_input_delay
                                                  set_output_delay 

           设置最大面积                 set_max_area
           设置伪路径                     set_false_path
           设置多周期路径              set_multicycle_path

(6)设定综合策略 

提供两种综合策略:自顶向下和自底向上

对于一些规模较小的设计,一般采用自顶向下的策略,该方法的缺点是编译时间太长,一旦改变其中的某一个模块就必须重新编译;该方法的优点是仅需要对顶层进行约束,将整个设计作为整体来进行优化,可以得到较好的优化效果;

自底向上的综合策略是指先将各个单独的子模块进行综合和优化,然后将它们整合到上一层模块中进行综合,重复这一过程直至顶层模块;这种方法的优点是对各个模块的管理很方便,缺点是需要很多脚本来维护综合后的设计;

  • 14
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值