首先,RTL是寄存器传输层的缩写,RTL既是一个抽象层级概念,又是一种HDL代码编写风格[1]。

RTL是一个抽象层级概念

认识和理解IC集成电路可以从多种不同的角度,其中最好最普遍的一种是:抽象层级,即,将IC做不同程度的抽象,按照抽象程度从高到底,分别为[2]:

  • 系统层
  • 算法层
  • 寄存器传输层
  • 逻辑层
  • 电路层

而上述的每一抽象层级,均可以用三种不同的方式去描述,分别为[2]:

  • 行为描述
  • 物理描述
  • 结构描述

我们常说的综合其实就是指从高抽象层级转换到低抽象层级的过程,各层级间综合过程如下[3]:

  • 算法层--(高层次综合 HLS)-->寄存器传输层
  • 寄存器传输层--(逻辑综合 LS)-->逻辑层
  • 逻辑层--(版图综合即布局布线Place & Route)-->电路层

2. RTL是一种HDL代码编写风格

HDL描述电路,有三种方式:

  • 数据流
  • 行为结构
  • 门级连接

RTL作为一种HDL代码编写风格是指代码主要采用数据流和行为结构相结合的方式编写[1]。

你所说的RTL文件指的就是用这种风格编写的Verilog或VHDL代码文件。

从图1中可以看出,RTL代码实际对应的结构描述是众多算术运算单元(ALU)、多路选择器(MUX)、寄存器等等,而这些模块实际上都是由各种逻辑门(与非门,或非门等等)和基本触发器(D触发器、JK触发器等等)搭成的,逻辑综合的过程,就是要把RTL文件描述的电路进一步展开,转换成用逻辑门和触发器搭成的电路,而用来描述这些逻辑门和触发器的连接关系的文件就是门级网表文件

因此,逻辑综合包含两个主要步骤[1]:

  • 选择工艺库(标准单元库)
  • 设计约束(时序约束、面积约束和功耗约束)

选择的工艺库中就包含了基本的逻辑门和触发器。

不同的综合工具生成的网表文件的文件格式也不太一样,如*.v(Design Compiler, Synopsys)、*.vh(PKS, Cadence)和*.edf(Synplify, Synplicity)。

对于*.v格式的门级网表文件,可以看成代码风格是采用门级连接方式编写的Verilog代码文件。

一个示例[1]:

  • 简单组合逻辑块的RTL代码:

module example(
input wire a,
input wire b,
input wire c,
output reg out
);

always @*
out = (a & b) | c;

endmodule

  • 选择工艺库

选择某公司名为abc_100的xx纳米的CMOS工艺,该公司提供的工艺库中包含了以下标准单元:

VNAND//两输入与非门
VAND//两输入与门
VNOR//两输入或非门
VOR//两输入或门
VNOT//反相器
VBUF//缓冲器
NDFF//下降沿触发的DFF
PDFF//上升沿触发的DFF

  • 设计约束

无面积和功耗约束,只要求优化得到最快的时序

  • 逻辑综合得到的门级网表:

module example_after_LS(
input wire a,
input wire b,
input wire c,
output reg out
);

wire net0;

VAND U1 (.in0(a), .in1(b), .out(net0));
VOR U2 (.in0(net0), .in1(c), .out(out));

endmodule

逻辑综合得到的门级电路

参考文献

[1] SamirPalnitkar. Verilog HDL数字设计与综合[M]. 电子工业出版社, 2004。

[2] 金西. 数字集成电路设计 : Digital integrated circuit design[M]. 中国科学技术大学出版社, 2013。

[3] 林敏, 方颖立. VHDL数字系统设计与高层次综合[M]. 电子工业出版社, 2002

什么是“门级网表”(Gate-level netlist)文件?相关推荐

  1. 【Vivado使用】从0开始 综合后生成门级网表

    1.创建工程 vivado界面介绍 源码视图,加号添加文件.Design Sources 为设计源文件, Constraints 约束文件,Simulation Sources 仿真文件 工艺流程视图 ...

  2. VCS门级仿真系列文章之sdf文件和$sdf_annotate反标

    SDF文件(Standard Delay File)提供了延迟信息表示的标准ASCII文件格式,VCS支持版本1.0.1.1.2.0.2.1和3.0. 在SDF格式中可以指定固有延迟(intrinsi ...

  3. AD(二十一)面向加工——PCB的检查和生产输出(光绘、钻孔文件、IPC网表、贴片坐标文件、BOM表)

    软件:Altium Designer 16 往期博客: AD(一) AD的工程创建 AD(二)电阻.电容 模型的创建 AD(三)IC类元件模型创建 AD(四)排针类元件模型的创建 AD(五)光耦元件模 ...

  4. (数字IC)低功耗设计入门(六)——门级电路低功耗设计优化

    三.门级电路低功耗设计优化 (1)门级电路的功耗优化综述 门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化 ...

  5. (五)门级电路低功耗设计优化

    (1)门级电路的功耗优化综述 门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化以满足功耗的约束,同时设计保 ...

  6. 今天为什么仍必须进行门级仿真(GLS)详细讲解

    下面我将详细描述捕获只有在GLS才能发现的16种类型芯片的致命bug的方式,这在我之前在文章中描述过.请确保阅读该文章以了解我在这里所说的内容. GLS成本VS收益率: 工程永远是金钱.是的,从技术上 ...

  7. 网表仿真DC/SDF/DFT等基本知识

    网表: 网表是逻辑电路设计转化为物理实现的工作产品,网表可以有各种抽象级,例如门级网表和晶体管级网表.门级网表通常用于数字电路,晶体管级网表通常用于模拟电路. 门级网表 门级网表中,描述的是门级电路的 ...

  8. DC综合后处理(查看生成的网表和报告)

    [转载]DC综合后处理 - Thomas的文章 - 知乎,作者:IC_learner, https://zhuanlan.zhihu.com/p/161061612 概述 前面也讲了一些综合后的需要进 ...

  9. ISE网表逆向分析与使用技巧

    当自己的编译器将设计文件编译成一块板砖时,必须掌握这些ISE使用技巧以便于做逆向分析.将自己的编译结果转化到ISE的软件中来验证与定位还是挺复杂的过程,涉及一系列网表的逆向与转换问题,首先得根据布局与 ...

最新文章

  1. 定期删除各子文件下数据
  2. 非常好用的Python图像增强工具,适用多个框架
  3. linux 文件与目录管理命令
  4. MySQL数据库Keepalived双主
  5. define 解析依赖,判断状态,初始化/触发加载 --------require 同步加载(直接返回)/异步加载(创建匿名模块,判断状态,初始化/触发加载)
  6. (旧)子数涵数·C语言——条件语句
  7. 作者:王建新(1969-),博士,中南大学信息科学与工程学院教授,中国计算机学会高级会员。...
  8. 软考设计师15-数据结构01
  9. .NET开源 Visual Studio支持Android和iOS 编程
  10. autojs开发的安卓QQ最新版滑块登录识别脚本免费开源分享
  11. GifCam_CHS gif动画录制工具 下载
  12. C语言英文打字训练程序(给出正确率,耗时)
  13. C/C++编辑器Source Insight技巧收集
  14. 虚拟机安装黑苹果【虚拟机安装,黑苹果安装,黑苹果无法全屏问题】(这应该全网最全的资源了吧~)
  15. 特斯拉又遇致命车祸:车主严重烧伤无法辨认 事故一天后电池复燃
  16. 破解华为电脑管家,多屏协同无法正常启动,提示 硬件解码器工作异常,请重启电脑
  17. 运维派社区赞助商计划
  18. python读取txt文档乱码解决
  19. 关于mac地址,请各位大侠帮忙解决
  20. UML系列——协作图(通信图)collaboration diagram

热门文章

  1. 618挑选网络电视盒子哪个好?发烧友整理目前最强的电视盒子
  2. c语言程序设计0039大作业答案,西南大学20年12月[0039]C语言程序设计课程大作业参考...
  3. cpu针脚测试软件,CPU针脚歪竟然也能开机?_机箱电源评测-中关村在线
  4. 静态网站Nginx传递转发
  5. 电脑罗盘时钟html怎么设置成桌面,HTML 罗盘式时钟的实现
  6. “ABAQUS复合材料建模技术与应用”专题
  7. Java复习打卡day47
  8. 好书推荐——影响力 (作者 Robert B. cIALDINI 译者 闾佳)
  9. 【分享】逆回购浅谈(代替圆球mm发)
  10. php的缓存机制,phpGrace 缓存机制说明