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

📄 ch02.8.htm

📁 介绍asci设计的一本书
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML EXPERIMENTAL 970324//EN">

<HTML>

<HEAD>

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



<TITLE> 2.8&nbsp;Cell Compilers</TITLE></HEAD><!--#include file="top.html"--><!--#include file="header.html"-->



<DIV>

<P>[&nbsp;<A HREF="CH02.htm">Chapter&nbsp;start</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH02.7.htm">Previous&nbsp;page</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH02.9.htm">Next&nbsp;page</A>&nbsp;]</P><!--#include file="AmazonAsic.html"--><HR></DIV>

<H1 CLASS="Heading1">

<A NAME="pgfId=83872">

 </A>

2.8&nbsp;Cell Compilers</H1>

<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 <SPAN CLASS="Definition">

silicon compilers</SPAN>

. The first type produces a specific kind of circuit, a <SPAN CLASS="Definition">

RAM compiler</SPAN>

 or <SPAN CLASS="Definition">

multiplier compiler</SPAN>

, 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 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 <SPAN CLASS="Definition">

single-port RAM</SPAN>

 (a single shared bus for read and write) as well as <SPAN CLASS="Definition">

dual-port RAMs</SPAN>

, and <SPAN CLASS="Definition">

multiport RAMs</SPAN>

. In a multi-port RAM the compiler may or may not handle the problem of <SPAN CLASS="Definition">

address contention</SPAN>

 (attempts to read and write to the same RAM address simultaneously). RAM can be <SPAN CLASS="Definition">

asynchronous</SPAN>

 (the read and write cycles are triggered by control and/or address transitions asynchronous to a clock) or <SPAN CLASS="Definition">

synchronous</SPAN>

 (using the system clock). </P>

<P CLASS="Body">

<A NAME="pgfId=83882">

 </A>

In addition to producing layout we also need a <SPAN CLASS="Definition">

model compiler</SPAN>

 so that we can verify the circuit at the behavioral level, and we need a netlist from a <SPAN CLASS="Definition">

netlist compiler</SPAN>

 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 <SPAN CLASS="Definition">

correct by construction</SPAN>

.</P>

<HR><P>[&nbsp;<A HREF="CH02.htm">Chapter&nbsp;start</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH02.7.htm">Previous&nbsp;page</A>&nbsp;]&nbsp;[&nbsp;<A HREF="CH02.9.htm">Next&nbsp;page</A>&nbsp;]</P></BODY>



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

⌨️ 快捷键说明

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