⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch02.1a.htm

📁 介绍asci设计的一本书
💻 HTM
字号:
<HTML>

<HEAD>

  <META NAME="GENERATOR" CONTENT="Adobe PageMill 2.0 Mac">

  

  <TITLE> 2.8&nbsp;&nbsp;&nbsp;Cell Compilers</TITLE>

</HEAD><!--#include file="top.html"--><!--#include file="header.html"-->





<P><A NAME="pgfId=83872"></A><HR ALIGN=LEFT></P>



<P><A HREF="CH02.htm">Chapter&nbsp;&nbsp;start</A>&nbsp;&nbsp;&nbsp;<A 

HREF="CH02.19.htm">Previous&nbsp;&nbsp;page</A>&nbsp;&nbsp;<A HREF="CH02.1b.htm">Next&nbsp;&nbsp;page</A></P>



<H2>2.8&nbsp;&nbsp;&nbsp;Cell Compilers</H2>



<P><P CLASS="BodyAfterHead"><A NAME="pgfId=83877"></A>The process of hand

crafting circuits and layout for a full-custom IC is a tedious, time-consuming,

and error-prone task. There are two types of automated layout assembly tools,

often known as a <B>silicon compilers</B> . The first type produces a specific

kind of circuit, a <B>RAM compiler</B> or <B>multiplier compiler</B> , for

example. The second type of compiler is more flexible, usually providing

a programming language that assembles or tiles layout from an input command

file, but this is full-custom IC design.</P>



<P><P CLASS="Body"><A NAME="pgfId=89822"></A>We can build a register file

from latches or flip-flops, but, at 4.5&#8211;6.5 gates (18&#8211;26 transistors) per

bit, this is an expensive way to build memory. Dynamic RAM (DRAM) can use

a cell with only one transistor, storing charge on a capacitor that has

to be periodically refreshed as the charge leaks away. ASIC RAM is invariably

static (SRAM), so we do not need to refresh the bits. When we refer to RAM

in an ASIC environment we almost always mean SRAM. Most ASIC RAMs use a

six-transistor cell (four transistors to form two cross-coupled inverters

that form the storage loop, and two more transistors to allow us to read

from and write to the cell). RAM compilers are available that produce <B>single-port

RAM</B> (a single shared bus for read and write) as well as <B>dual-port

RAMs</B> , and <B>multiport RAMs</B> . In a multi-port RAM the compiler

may or may not handle the problem of <B>address contention</B> (attempts

to read and write to the same RAM address simultaneously). RAM can be <B>asynchronous</B>

(the read and write cycles are triggered by control and/or address transitions

asynchronous to a clock) or <B>synchronous</B> (using the system clock).</P>



<P><P CLASS="Body"><A NAME="pgfId=83882"></A>In addition to producing layout

we also need a <B>model compiler</B> so that we can verify the circuit at

the behavioral level, and we need a netlist from a <B>netlist compiler</B>

so that we can simulate the circuit and verify that it works correctly at

the structural level. Silicon compilers are thus complex pieces of software.

We assume that a silicon compiler will produce working silicon even if every

configuration has not been tested. This is still ASIC design, but now we

are relying on the fact that the tool works correctly and therefore the

compiled blocks are <B>correct by construction</B> .</P>



<P><HR ALIGN=LEFT></P>



<P><A HREF="CH02.htm">Chapter&nbsp;&nbsp;start</A>&nbsp;&nbsp;&nbsp;<A 

HREF="CH02.19.htm">Previous&nbsp;&nbsp;page</A>&nbsp;&nbsp;<A HREF="CH02.1b.htm">Next&nbsp;&nbsp;page</A>

</BODY>



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

⌨️ 快捷键说明

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