新闻中心

EEPW首页>嵌入式系统>设计应用> 约束设置与逻辑综合在SoC设计中的应用

约束设置与逻辑综合在SoC设计中的应用

作者: 时间:2010-09-16 来源:网络 收藏

  3.1 设定工艺库和参考库

  设置Design Compiler运行所使用的库:目标库(target_library)、链接库(link_library)、可综合库(synthetic_library)、符号库(symbol_library)。其中的目标库中包含了标准单元库、RAM单元库、I/O单元库、PLL单元库等,通常是由芯片代工厂家提供。系统芯片ZSU32采用的是中芯国际的0.18 ?滋m CMOS工艺库,所以在设置时就把目标库指向该工艺库。

  #设置目标工艺库

  set target_library SMIC.db

  3.2 读入RTL设计与设置工作环境

  读入RTL设计通常有自顶向下或者自底向上2种方式。因为ZSU32模块众多,所以采用自底向上的读入方式。首先读入各个子模块,并分别编译;然后更改层次,编译上一层的模块;最后会合成整个系统。

  读入设计后,首先设置芯片的工作环境,根据采用的工艺库提供的环境和线网负载模型,可以通过set_operating_condition和set_wire_load_model命令进行设置。以下是ZSU32综合环境的顶层环境设置:

  #设置工作环境

  set_operating_condition smic18_typ;

  #设置线网负载模型

  set_wire_load_model smic18_wl30;

  3.3 时序约束

  3.3.1 时钟定义

  时钟是整个时序约束的起点。系统芯片ZSU32将外部输入时钟和PLL模块输入时钟作为源时钟:ext_clk_i和pll_clk_i。通过对这2个源时钟信号的分频或者倍频,产生了各个子模块的时钟信号。

  #定义源时钟ext_clk,周期16 ns

  create_clock-name ext_clk-period

  16 [get_ports {ext_clk_i}];

  在芯片内部,子模块的时钟实际是经过源时钟分频或者倍频得到的,使用create_generated_clock命令来建立子模块时钟。

  #设置一个2倍频时钟clk_main,

  #其源时钟是pll_clk_i

  create_generated_clock -name clk_main

  -multiply_by 2 -source pll_clk_i;



评论


相关推荐

技术专区

关闭