逻辑综合:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第2行: | 第2行: | ||
|G1=Electronics |
|G1=Electronics |
||
}} |
}} |
||
在[[电子学]]中,'''逻辑综合'''({{lang-en|'''logic synthesis'''}})是所需电路的抽象形式(通常是[[寄存器传输级]]),转换到 |
在[[电子学]]中,'''逻辑综合'''({{lang-en|'''logic synthesis'''}})是所需电路的抽象形式(通常是[[寄存器传输级]]),转换到[[逻辑门]]级别的电路连线[[网表]]的过程。通常,逻辑综合包括了[[硬件描述语言]]——主要是[[VHDL]]和[[Verilog HDL]]。某些工具能够在[[可编程逻辑器件]],如[[可编程阵列逻辑]]({{lang|en|Programmable Array Logic, PAL}})和[[现场可编程逻辑门阵列]]({{lang|en|Field Programmable Gate Array, FPGA}})上生成[[位元流|数据流]]过程,而另一些工具则可以设计[[专用集成电路]]。逻辑综合是[[电子设计自动化]]的一个方面。 |
||
== 历史 == |
== 历史 == |
2012年7月26日 (四) 02:46的版本
在电子学中,逻辑综合(英語:logic synthesis)是所需电路的抽象形式(通常是寄存器传输级),转换到逻辑门级别的电路连线网表的过程。通常,逻辑综合包括了硬件描述语言——主要是VHDL和Verilog HDL。某些工具能够在可编程逻辑器件,如可编程阵列逻辑(Programmable Array Logic, PAL)和现场可编程逻辑门阵列(Field Programmable Gate Array, FPGA)上生成数据流过程,而另一些工具则可以设计专用集成电路。逻辑综合是电子设计自动化的一个方面。
历史
逻辑综合的发展可以追溯到乔治·布尔(1815-1864)对逻辑代数的研究(逻辑代数现在也被称为“布尔代数”)。1938年,克劳德·香农展示了如何使用逻辑代数来描述电路开关切换的过程。[1]在早期,逻辑设计牵涉了对真值表的处理(如利用卡诺图)。通过将一系列规则将卡诺图上的某些项进行合并,可以得到最小化的逻辑,即逻辑式可以得到简化。人工进行上述的操作可以处于四到六个变量的卡诺图。
对逻辑最小化进行自动化的第一步是引入奎因-麦克拉斯基算法,它可以在计算机上执行。进行逻辑简化的目的是得到使用最少的逻辑器件,并精确地对表达原始逻辑式的意义。现在,更为高效的Espresso启发逻辑简化法(Espresso heuristic logic minimizer)成为了这一工程的标准工具。早期的另一个研究领域是对有限状态机的简化和编码,这一工作在当时对设计者来说还不容易。逻辑综合的应用大多于数字计算机设计相关。这样,IBM和贝尔实验室在逻辑综合自动化的早期扮演了关键的角色。从分立的逻辑门到可编程逻辑阵列(Programmable logic arrays, PLA)促进了高校的两级逻辑最小化的发展,这是由于两级描述中的最小化条件可以减少可编程逻辑阵列的面积。
然而,两级的逻辑电路在超大规模集成电路中的重要程度受到限制。大多数的设计者使用多级逻辑。实际情况是,几乎所有电路的寄存器传输级(Register-transfer level, RTL)描述或其他行为描述都是多级的。早期IBM的LSS曾被用来设计多级电路。它使用了局部的变形来简化逻辑。LSS以及Yorktown Silicon编译系统在1980年代促进了逻辑综合的研究进程。一些大学将这些研究领域公开,其中加州大学伯克利分校的SIS、[2]加州大学洛杉矶分校的RASP[3]以及科罗拉多大学博尔德分校的BOLD[4]最为知名。在十几年的时间内,逻辑综合技术迅速转变成市场上销售的电子设计自动化产品。
逻辑元件
在标准的设计流程中,逻辑设计是电子电路的功能设计(Functional design)转换到以逻辑、算数以及控制流程的表示形式。这一步骤的成果通常是一个寄存器传输级描述。逻辑设计之后的下一步是电路设计。在现代的电子设计自动化中,逻辑设计可以通过使用基于行为级描述的高阶合成工具自动完成。[5]
逻辑功能元件通常由与、或、异或、与非等逻辑门组成,它们在数字电路中是最基本的电路元件。使用这些逻辑元件可以实现运算等功能。诸如加法器、乘法器(Binary multiplier)都是由基本的逻辑元件构成的。
高级综合或行为级的描述
为了提高设计人员的工作效率,人们致力于电路的行为级描述的研究,并在2004年推出了首款商用解决方案,[6]这些工具可以用来设计复杂的专用集成电路和现场可编程逻辑门阵列应用。这些工具可以在C层次到寄存器传输级之间自动工作,用来实现门级别的设计。[6]如今,高级综合,也被称为行为级综合,主要指从高级语言,例如C语言等,来实现逻辑电路的合成,而逻辑综合则特指从电路的结构、逻辑功能向寄存器传输级的转换。
多层次逻辑的简化
具有实用逻辑功能的电路通常使用了多层次的逻辑网络。从设计的寄存器传输级描述开始,电路综合工具可以构建对应的多层次逻辑电路网络。
接下来,使用不同的技术来实现这个网络的优化,主要是(在采取与器件工艺相关的技术之前)采取一些与器件工艺无关的技术。使用工艺无关的优化技术的成本函数与电路的逻辑功能有关。
最后,采用器件工艺相关的技术,将上述工艺无关的电路通过已有的器件工艺转换成以实际的逻辑门组成的电路网络。这时,成本则主要考虑是在的硬件。
参考文献
- Electronic Design Automation For Integrated Circuits Handbook, by Lavagno, Martin, and Scheffer, ISBN 0-8493-3096-3 A survey of the field of Electronic design automation. The above summary was derived, with permission, from Volume 2, Chapter 2, Logic Synthesis by Sunil Khatri and Narendra Shenoy.
- A Consistent Approach in Logic Synthesis for FPGA Architectures, by Burgun Luc, Greiner Alain, and Prado Lopes Eudes, Proceedings of the international Conference on Asic (ASICON), Pekin, October 1994, pp. 104–107.
- ^ Claude Shannon. New York University.
- ^ SIS: A System for Sequential Circuit Synthesis. EECS, College of Engineering, UC Berkeley.
- ^ RASP: FPGA/CPLD Technology Mapping and Synthesis Package. UCLA.
- ^ 1966 - Computer Aided Design Tools Developed for ICs. Computer History Museum.
- ^ Naveed A. Sherwani. Algorithms for VLSI physical design automation 3rd. Kluwer Academic Publishers. 1999: 4. ISBN 978-0-7923-8393-2.
- ^ 6.0 6.1 EETimes: High-level synthesis rollouts enable ESL
延伸阅读
- Jie-Hong (Roland) Jiang, Srinivas Devadas. Logic synthesis in a nutshell. Laung-Terng Wang, Yao-Wen Chang, Kwang-Ting Cheng (编). Electronic design automation: synthesis, verification, and test. Morgan Kaufmann. 2009. ISBN 978-0-12-374364-0. chapter 6.
- Gary D. Hachtel; Fabio Somenzi. Logic synthesis and verification algorithms. Springer. 1996. ISBN 0-7923-9746-0. also as published as softcover ISBN 0-387-31004-5 in 2006
- Soha Hassoun, Tsutomu Sasao (编). Logic synthesis and verification. Kluwer. 2002. ISBN 978-0-7923-7606-4.