第十一讲 数字后端电路实现-布局布线与验证.pptVIP

  • 427
  • 0
  • 约1.31万字
  • 约 74页
  • 2017-06-08 发布于湖北
  • 举报

第十一讲 数字后端电路实现-布局布线与验证.ppt

第十一讲 数字后端电路实现-布局布线与验证

第十一讲 数字后端电路实现 ——布局布线与验证 清华大学微电子所 李福乐 黎征 目录 布局布线引言 用一个数字分频器设计的例子来说明数字电路的基本布局布线过程 设计介绍(数字分频器设计) 逻辑综合(Synopsys DC) 布局布线 (Cadence Soc Encounter) Cell-based DRC LVS Typical Cell-based flow Typical Cell-based flow Cell-based ASIC Cell-based ASIC 简单的布局布线流程 时序驱动的布局布线流程 设计介绍——设计要求 数字分频器 输入输出时钟周期 满足:Tout = 2(N+1) Tin 用于DPLL(数字锁相环)电路中 纯数字电路实现 设计介绍——Verilog实现 module divder (clkin, rst, divcnt, enable, clkout); input clkin, rst, enable; input [3:0] divcnt; output clkout; reg [3:0] cnt; reg [3:0] divcntreg; reg clkout; always @(posedge clkin or posedge rst) begin if (rst == 1b1) begin cnt = 4b0; divcntreg = 4b0; clkout = 1b0; end else begin if ((divcntreg != divcnt) (enable == 1b1)) begin cnt = 4b0; divcntreg = divcnt; clkout = 1b0; end else begin if (cnt == divcntreg) begin clkout = ~clkout; cnt = 4b0; end else cnt = cnt + 4b1; end end end endmodule 设计介绍——前仿真 编写testbench文件 仿真波形如下图所示,随着分频系数的不同,输出时钟频率成倍变化 逻辑综合——准备文件 准备库文件 在.synopsys_dc.setup中加入综合库的位置 查阅库中doc目录下的相关pdf文件,选择合适的输入输出和时钟pad 准备打包文件top.v,给源程序加上输入输出的pad,以便综合工具优化驱动和负载 设计打包 逻辑综合——top.v `include divider.v module top(clkin, rst, divcnt, enable, clkout); input clkin, rst, enable; input [3:0] divcnt; output clkout; wire clkin_core, rst_core, enable_core, clkout_core; wire [3:0] divcn_core; pcxd00 pad_rst (.PAD(rst), .C(rst_core)); pcxd00 pad_enb (.PAD(enable), .C(enable_core)); (下页续) 逻辑综合——top.v 逻辑综合——约束条件 用tcl方式启动dc dc_shell-t 读取top.v,设置当前综合模块 把时钟信号和Pad设置成为不被综合 时钟树在下一步布局布线时处理 Pad没有逻辑功能、仅提供输入输出负载 设置连线负载 设置时钟约束 逻辑综合——综合并保存结果 用compile命令进行综合 保存设计库文件 保存综合后门级网表 保存时序信息 作为综合后仿真的时序参数 作为布局布线的时钟约束 逻辑综合——tcl脚本文件 read_verilog top.v current_design top set_dont_touch [get_cells pad_*] set_max_transition 0.5 [current_design] set_max_fanout 24 [current_desig

文档评论(0)

1亿VIP精品文档

相关文档