门级网表
描述电路元件相互之间连接关系的网表
在电路设计中,网表(netlist)是用于描述电路元件相互之间连接关系的,一般来说是一个遵循某种比较简单的标记语法的文本文件。门级(gate-level)指的是网表描述的电路综合级别。顾名思义,门级网表中,描述的电路元件基本是门(gate)或与此同级别的元件。
解析
现代数字集成电路设计方法来自对传统设计方法的总结和对计算机软件技术的引入。在对电路性能的要求没有达到工艺极限时,不需要对每个单元电路都进行特殊设计,可先设计出各种基本单元电路(cell),包括原理图和版图,形成一个标准单元库,再利用库中的cell实现复杂的逻辑关系。这种方法使得自动化设计成为可能。即使在全定制设计中,对电路功能的描述也是层次化的,而不是直接描述为晶体管网络。有了标准单元库,一个电路就可以理解为由标准单元构成的网表,也就是说“描述级别”由晶体管级提升到了“门级”。
复杂的电路在“门级”仍然难以看出逻辑功能,需要更高级别的描述。一个复杂的数字电路系统可以理解为由若干个具有典型逻辑功能的模块和一个控制电路组成的,常见的模块包括寄存器、计数器、算术和逻辑运算单元和存储器等。控制电路是一个有限状态机,在时钟的作用下,状态机根据当前的状态和输入信号不断地进行状态转换,同时产生输出信号,控制各个逻辑模块工作。这种级别的描述称为“架构级”,是最重要的设计级别。最高级别的描述是系统级,在这个级别,一般只定义系统的功能、外部接口和其中主要功能模块。最低级别的描述是版图,版图实际上就是一组几何图形,根据版图可以生成光刻版。一个设计实际上总是要从系统级开始考虑,然后是架构级、门级、晶体管级,最后是版图级。在传统的设计流程中,可验证的设计描述是从晶体管级开始的,用晶体管构成逻辑门,再由逻辑门构成功能模块,最后连接成系统。
门级网表示意图
对于复杂的集成电路设计,电路功能需要通过多个级别的描述来完成。
数字电路设计分类:系统级、架构级、寄存器传输级(RTL)、门级和晶体管级等,所谓级别包括两方面含义,一是设计者对电路的认识,二是允许使用的描述方法。
相关解析:
系统级设计的任务主要是定义电路的功能和外部特性,设计者只需要将电路为若干个抽象的功能模块,并将各个功能模块的逻辑功能定义清楚即可。
架构级设计要具体一些,在这个级别,电路要描述成相互连接的若干个典型逻辑部件和控制其数据传输的状态机。典型逻辑部件包括计数器、寄存器、算术运算单元等,又称为数据通道(Data path),状态机则是一个设计中具有特殊性的部分,它控制数据通道的工作。以上两种描述,描述方法没有什么限制,将问题说清楚即可。
寄存器传输级的描述是ASIC设计中最重要的描述,必须使用硬件描述语言完成。所谓寄存器传输级描述是基于这样一种认识,即任何数字电路,无论功能如何,都是由寄存器和寄存器之间的组合逻辑电路实现的,寄存器用来保存数据,组合电路用于传输数据。RTL代码必须保证可综合性,只能使用硬件描述语言中的部分描述语句。从RTL代码中应可隐约看出电路结构,又不要写得过于具体。细化到逻辑门和触发器的代码并不好,因为从RTL描述到cell的转换是逻辑综合工具的任务,人为写到cell一级不仅降低了代码的可读性,也不利于优化。
在ASIC设计中,门级和晶体管级电路是由EDA工具生成的,设计者的任务是给出功能正确的RTL级代码。
参考资料
最新修订时间:2023-04-07 14:15
目录
概述
解析
参考资料