新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 系统芯片ZSU32在SoC芯片设计中的应用

系统芯片ZSU32在SoC芯片设计中的应用

作者:时间:2012-07-12来源:网络收藏

本文针对中山大学ASIC中心自主开发的一款,以Synopsys公司的Design Compiler为综合工具,探索了对进行综合的流程和方法,特别对综合过程的时序约束进行了详细讨论,提出了有效的综合约束设置方案。

本文引用地址:http://www.amcfsurvey.com/article/148780.htm

  1 时序约束原理

  同步电路是大多数集成电路的主流选择。同步电路具有工作特性简单、步调明确、抗干扰能力强等特点。但是,因为所有的时序元件受控于一个特定的时钟,所以数据的传播必须满足一定的约束以便能够保持与时钟信号步调一致。

  设置建立时间(setup time)约束可以满足第一个条件:

  


  2 的结构

  芯片内置32 bit MIPS体系处理器作为CPU,具备两路独立的指令和数据高速缓存,CPU内部有独立的DSP协处理器和浮点协处理器,同时集成了LCD控制器、MPEG硬件加速器、AC97控制器、SRAM控制器、NAND Flash控制器、SATA高速硬盘控制器、以太网MAC控制器等,并具有I2C、I2S、SPI、、UART、GPIO等多种接口模块。

  3 ZSU32系统芯片的约束设置与逻辑综合

  ZSU32系统芯片的综合采取自底向上的策略,先局部后整体。首先将当前工作层次设置为系统芯片的某个子模块,然后对该子模块添加各项具体约束,接着完成子模块的综合。依次对各子模块重复上述综合流程,当各个模块都顺利通过了初次综合后,通过set_dont_touch_network命令将模块中的关键路径和时钟线网保护起来,然后做一次全局优化,检查是否满足时序等各方面的要求,达到要求就可以输出最终的网表和各项综合报告。

  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;


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭