Encounter 使用入门教程 本 教 程 介 绍 一 下 自 动 布 局 布 线 工 具Encounter 的 使 用 知 识 , 开 始 以 一 个 简单 的 十 进 制 计 数 器 版 图 的 自 动 实 现 为 例 子 ,之 后 介 绍 包 含 block 模 块 的 复 杂 的 版图 自 动 实 现 。 在 Designer Compiler 使 用 入门教 程 中, 笔者设计 了一 个 十 进 制 计 数 器 ,并经过 Design Compiler 对其进 行综合后 获得了门级综合网表文件 counter.sv以 及约束文件 counter.sdc, 根据这两个 文件, 我们就可以 使 用SOC Encounter实 现 十 进 制 计 数 器 的 物理版 图 设计 了。首先, 我们要准备使 用Encounter 进 行版 图 自 动 设计 时所需要的 数 据: 时序库文件:fast.lib,slow.lib,tpz973gwc.lib,tpz973gbc.lib 物理库文件:tsmc18_6lm_cic.lef,tpz973g_5lm_cic.lef,tsmc18_6lm_antenna_cic.lef 门级网表文件:pad_counter.sv 时序约束文件:pad_counter.sdc IO 位置放置文件:pad_counter.io //在设计 导入 Encounter 中指定 PAD 的 放置位置文件, 不是必须文件 还有其它一 些文件在后 面用 到时进 行介 绍 。 一 、网表中添加 PAD、编写 IO Assignment File 这里, pad_counter.sv 是加入 PAD 后 综合得到的 门级网表。工 程 项目中设计制 作完成后 的 芯片要进 行封装, PAD 就是芯片在封装时连接封装引线 的 地方。一 般信号输入/输出 PAD 即 I/O PAD 要在综合前添加进 入网表中, 电源电压 PAD可 以 在 综 合 时 添 加 也 可 以 在 综 合 后 添 加 。接下来就先介绍一下如何在 网表中加 入PAD,其实给网表加 入 PAD 就是一般的 module 例化,和 Verilog 中一般的 module模块例化是一样的。 这里介绍在 综 合 时 给设计中加 入 I/O PAD。十进制计数器的 Verilog 源程序如下: module Cnt10(reset_n,clk,in_ena,cnt,carry_ena); input clk; input reset_n; input in_ena; output [3:0] cnt; output carry_ena; reg [3:0] cnt; reg carry_ena; always @(posedge clk or negedge reset_n) begin if(!reset_n) cnt<=4'b0; else if(in_ena && cnt==4'd10) cnt<=4'b0; else if(in_ena && cnt<4'd10) cnt<=cnt+1'b1;...