Digital VLSI Design-lecture 7
Created|Updated
|Post Views:
Lecture 7: Placement
引入
Author: scmmm
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles

2025-04-04
Digital VLSI Design-lecture 3
Lecture 3: Logic Synthesis Part 1 什么是逻辑综合综合是将 RTL 转换为特定技术的门级网表的过程,并根据预定义的约束进行优化。 你将从以下内容开始 行为级 RTL 设计 标准单元库 一组设计约束 你结束时得到: 映射到标准单元库的门级网表 (对于 FPGA:查找表、触发器和 RAM 块) (有希望)在速度、面积、功耗等方面也很高效。 形式化地,给你一个有限状态自动机 $F(X,Y,Z,\lambda,\delta)$ ,目标是得到一个电路 $C(G,W)$ ,其中: $G$ :电路组件的集合,如布尔门,触发器邓 $W$ :连接 $G$ 的导线集合 在某些情况下,逻辑综合可以得到比手动设计更优的设计(例如:逻辑优化)。不过,也存在例外情况。 以上是一个例外情况,!s0 && s1 || s0 可以被优化为 s1 || s0 ,正如右边电路图所绘。 进行逻辑综合时候,尤其需要在以下方面注意: 最小化面积 最小化功耗 最大化性能 根据不同权重作为约束问题公式化 更全局的目标,如布局的反馈,实际物理尺寸等 How...

2025-04-05
Digital VLSI Design-lecture 4
Lecture 4: Logic Synthesis Part 2 在 lec3 的学习中,我们已经知晓了编译和库。我们已经将设计加载到综合器中,也加载了标准单元库和IP。 接下来我们要讨论综合过程中更核心的部分。 布尔最小化布尔最小化是综合过程中的一个关键步骤,涉及将逻辑表达式简化为最小形式,以优化电路设计。 展开和绑定和预映射优化在这个步骤中,工具将执行以下操作 将 RTL 编译为布尔数据结构 将非布尔模块绑定到叶单元 优化布尔逻辑 将设计结果映射到通用的、与技术无关的逻辑门。 这是逻辑综合的核心,自八十年代一直研究的主题。 Two-Level Logic在展开过程中,主要输入和输出(端口)被定义,顺序元素(触发器、锁存器)被推断。这导致了一组组合逻辑云: 输入端口和寄存器输出是逻辑的输入。 输出端口和寄存器输入是逻辑的输出。 输出可以描述为输入的布尔函数。 布尔最小化的目标是减少输出函数中的文字数量。 许多不同的数据结构都能用来表示布尔函数,如真值表、立方体、二元决策图、方程等。 许多研究是基于SOP或POS表示法进行的,这种表示法更为人知的是“两级逻辑”(Two...

2025-04-07
Digital VLSI Design-lecture 6
Lecture 6: Moving to the Physical Domain 我们已经完成了设计流程的前端部分,现在开始完成后端部分 我们将通过绘制布局图(floorplan),为我们的设计打下物理基础。 这包括决定“重要”或“较大”的模块放置位置,比如 IP 核、I/O、供电网格、特殊布线等。 接下来,我们可以放置(place)逻辑门,同时考虑拥塞(congestion)和时序(timing)因素。 有了触发器之后,我们就可以设计时钟树(clock-tree)。 最后,我们可以根据设计规则检查(DRC)、时序(timing)、噪声(noise)等因素,对所有网络进行布线(route)。 在流片(tapeout)之前,我们还需要清理设计、验证等等。 开始物理设计为了从理论设计走向物理芯片,我们先在理论上定义了: 定义设计 .v 定义设计约束/目标 .sdc 定义工作条件/模式 (MMMC) 定义工艺和库信息 .lef 定义物理信息(Floorplan) 在之前的理论设计中,我们用的是一个理想的模型,因此忽略了以下内容: 不考虑电源供电 综合时只认为有一个完美的V...

2025-04-06
Digital VLSI Design-lecture 5
Timing Analysis 同步设计大多数数字设计是同步的,并且使用顺序元件构建。 同步设计消除了竞争现象,并且更适合设计流水线,提高了吞吐量。 假设所有顺序元件都是边沿触发的,并使用D触发器作为寄存器。 那么出发它有三个关键的时序参数 $t_{cq}$ 时钟到输出延迟,本质上是一个传播延迟。 $t_{setup}$ 建立时间,即数据必须在时钟到来前到达。 $t_{hold}$ 保持时间,即数据在时钟到来后必须保持稳定的时间。 时序约束 在同步逻辑中,需要思考两个重要参数: 最大延迟 最小延迟 其最大延迟不能过大,以至于数据信号没有足够的时间从一个寄存器传到下一个寄存器,在下一个时钟沿到来之前还未完成。最小延迟也不能过小,以至于在同一个时钟周期内就穿过了多个寄存器。 最大延迟违例是由于数据路径过长所导致的,包括寄存器的建立时间 $t_{setup}$ ,因此它通常被称为“建立路径(Setup Path)”。 最小延迟违例是由于数据路径过短,导致数据在保持时间 $t_{hold}$ 到之前就发生了变化,因此它通常被称为“保持路径(Hold Path)”。 建...

scmmm
B.S. in Biology & Computer Science, Shandong University,2022-2026
M.S. in Computer Science, ShanghaiTech University(Research conducted at ICT,CAS),2026-
Research Focus: AI for EDA
Follow MeM.S. in Computer Science, ShanghaiTech University(Research conducted at ICT,CAS),2026-
Research Focus: AI for EDA



