ch12.htm

来自「介绍asci设计的一本书」· HTM 代码 · 共 116 行

HTM
116
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">

<HTML>

<HEAD>

<META NAME="GENERATOR" CONTENT="Adobe FrameMaker 5.5/HTML Export Filter">



<TITLE> LOGIC&nbsp;SYNTHESIS</TITLE></HEAD><!--#include file="top.html"--><!--#include file="header.html"-->



<DIV>

<P>[&nbsp;<A HREF="../../ASICs.htm#anchor749424">Chapter &nbsp;Index</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH12.1.htm">Next&nbsp;page</A>&nbsp;]</P><!--#include file="AmazonAsic.html"--><HR></DIV>

<DIV>

<H1 CLASS="ChapterTitle">

<A NAME="pgfId=2053">

 </A>

<A NAME="37681">

 </A>

LOGIC&nbsp;<BR>

SYNTHESIS</H1>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=172401">

 </A>

<SPAN CLASS="Definition">

Logic synthesis</SPAN>

<A NAME="marker=319795">

 </A>

 provides a link between an HDL (Verilog or VHDL) and a netlist similarly to the way that a C&nbsp;compiler provides a link between C&nbsp;code and machine language. However, the parallel is not exact. C was developed for use with compilers, but HDLs were not developed for use with logic-synthesis tools. Verilog was designed as a simulation language and VHDL was designed as a documentation and description language. Both Verilog and VHDL were developed in the early 1980s, well before the introduction of commercial logic-synthesis software. Because these HDLs are now being used for purposes for which they were not intended, the state of the art in logic synthesis falls far short of that for computer-language compilers. Logic synthesis forces designers to use a subset of both Verilog and VHDL. This makes using logic synthesis more difficult rather than less difficult. The current state of synthesis software is rather like learning a foreign language, and then having to talk to a five-year-old. When talking to a logic-synthesis tool using an HDL, it is necessary to think like hardware, anticipating the netlist that logic synthesis will produce. This situation should improve in the next five years, as logic synthesizers mature.</P>

<P CLASS="Body">

<A NAME="pgfId=319776">

 </A>

Designers use graphic or text design entry to create an HDL <SPAN CLASS="Definition">

behavioral model</SPAN>

<A NAME="marker=282767">

 </A>

, which does not contain any references to logic cells. State diagrams, graphical datapath descriptions, truth tables, RAM/ROM templates, and gate-level schematics may be used together with an HDL description. Once a behavioral HDL model is complete, two items are required to proceed: a <SPAN CLASS="Definition">

logic synthesizer</SPAN>

<A NAME="marker=319777">

 </A>

 (software and documentation) and a cell library (the logic cells&#8212;NAND gates and such) that is called the <SPAN CLASS="Definition">

target library</SPAN>

<A NAME="marker=319778">

 </A>

. Most synthesis software companies produce only software. Most ASIC vendors produce only cell libraries. The behavioral model is simulated to check that the design meets the specifications and then the logic synthesizer is used to generate a netlist, a <SPAN CLASS="Definition">

structural model</SPAN>

<A NAME="marker=313423">

 </A>

, which contains only references to logic cells. There is no standard format for the netlists that logic synthesis produces, but EDIF is widely used. Some logic-synthesis tools can also create structural HDL (Verilog, VHDL, or both). Following logic synthesis the design is simulated again, and the results are compared with the earlier behavioral simulation. Layout for any type of ASIC may be generated from the structural model produced by logic synthesis. </P>

</DIV>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.1.htm#pgfId=262614" CLASS="Hypertext">

12.1&nbsp;A Logic-Synthesis Example</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.2.htm#pgfId=262203" CLASS="Hypertext">

12.2&nbsp;A Comparator/MUX</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.3.htm#pgfId=326781" CLASS="Hypertext">

12.3&nbsp;<B CLASS="Keyword">

</B>

Inside a Logic Synthesizer </A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.4.htm#pgfId=263607" CLASS="Hypertext">

12.4&nbsp;Synthesis of the Viterbi Decoder</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.5.htm#pgfId=284336" CLASS="Hypertext">

12.5&nbsp;Verilog and Logic Synthesis</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.6.htm#pgfId=3515" CLASS="Hypertext">

12.6&nbsp;VHDL and Logic Synthesis</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.7.htm#pgfId=293010" CLASS="Hypertext">

12.7&nbsp;Finite-State Machine Synthesis</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.8.htm#pgfId=4460" CLASS="Hypertext">

12.8&nbsp;Memory Synthesis</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.9.htm#pgfId=264415" CLASS="Hypertext">

12.9&nbsp;The Multiplier</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.a.htm#pgfId=297434" CLASS="Hypertext">

12.10&nbsp;The Engine Controller</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.b.htm#pgfId=4866" CLASS="Hypertext">

12.11&nbsp;Performance-Driven Synthesis</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.c.htm#pgfId=262995" CLASS="Hypertext">

12.12&nbsp;Optimization of the Viterbi Decoder</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.d.htm#pgfId=5969" CLASS="Hypertext">

12.13&nbsp;Summary</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.e.htm#pgfId=273376" CLASS="Hypertext">

12.14&nbsp;Problems</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.f.htm#pgfId=327143" CLASS="Hypertext">

12.15&nbsp;Bibliography</A>

</H1>

<H1 CLASS="Heading1TOC">

<A HREF="CH12.10.htm#pgfId=277957" CLASS="Hypertext">

12.16&nbsp;References</A>

</H1>

<HR><P>[&nbsp;<A HREF="../../ASICs.htm#anchor749424">Chapter &nbsp;Index</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH12.1.htm">Next&nbsp;page</A>&nbsp;]</P></BODY>



<!--#include file="Copyright.html"--><!--#include file="footer.html"-->

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?