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

📄 ch13.3.htm

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

<HTML>

<HEAD>

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



<TITLE> 13.3&nbsp;Logic Systems</TITLE></HEAD><!--#include file="top.html"--><!--#include file="header.html"-->



<DIV>

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

<H1 CLASS="Heading1">

<A NAME="pgfId=2465">

 </A>

13.3&nbsp;<A NAME="22098">

 </A>

Logic Systems</H1>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=2493">

 </A>

Digital signals are actually analog voltage (or current) levels that vary continuously as they change. <A NAME="marker=81163">

 </A>

<SPAN CLASS="Definition">

Digital simulation</SPAN>

 assumes that digital signals may only take on a set of <SPAN CLASS="Definition">

logic values</SPAN>

<A NAME="marker=117606">

 </A>

 (or <SPAN CLASS="Definition">

logic states</SPAN>

<A NAME="marker=117598">

 </A>

&#8212;here we will consider the two terms equivalent) from a <A NAME="marker=2491">

 </A>

<SPAN CLASS="Definition">

logic system</SPAN>

. A logic system must be chosen carefully. Too many values will make the simulation complicated and slow. With too few values the simulation may not accurately reflect the hardware performance.</P>

<P CLASS="Body">

<A NAME="pgfId=2561">

 </A>

A <SPAN CLASS="Definition">

two-value logic system</SPAN>

<A NAME="marker=117584">

 </A>

 (or <A NAME="marker=117573">

 </A>

two-state logic system) has a logic value <SPAN CLASS="BodyComputer">

'0'</SPAN>

 corresponding to a <A NAME="marker=29590">

 </A>

<SPAN CLASS="Definition">

logic level</SPAN>

 'zero' and a logic value <SPAN CLASS="BodyComputer">

'1'</SPAN>

 corresponding to a logic level 'one'. However, when the power to a system is initially turned on, we do not immediately know whether the logic value of a flip-flop output is <SPAN CLASS="BodyComputer">

'1'</SPAN>

 or <SPAN CLASS="BodyComputer">

'0'</SPAN>

 (it will be one or the other, but we do not know which). To model this situation we introduce a logic value <SPAN CLASS="BodyComputer">

'X'</SPAN>

, with an unknown logic level, or <A NAME="marker=7328">

 </A>

<SPAN CLASS="Definition">

unknown</SPAN>

. An unknown can <SPAN CLASS="Definition">

propagate </SPAN>

<A NAME="marker=86003">

 </A>

through a circuit. For example, if the inputs to a two-input NAND gate are logic values <SPAN CLASS="BodyComputer">

'1'</SPAN>

 and <SPAN CLASS="BodyComputer">

'X'</SPAN>

, the output is logic value <SPAN CLASS="BodyComputer">

'X'</SPAN>

 or unknown. Next, in order to model a three-state bus, we need a <A NAME="marker=2583">

 </A>

<SPAN CLASS="Definition">

high-impedance state</SPAN>

. A high-impedance state may have a logic level of 'zero' or 'one', but it is not being driven&#8212;we say it is floating. This will occur if none of the gates connected to a three-state bus is driving the bus. A <SPAN CLASS="Definition">

four-value logic system</SPAN>

<A NAME="marker=80199">

 </A>

 is shown in <A HREF="CH13.3.htm#27210" CLASS="XRef">

Table&nbsp;13.2</A>

.</P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="3">

<P CLASS="TableTitle">

<A NAME="pgfId=363">

 </A>

TABLE&nbsp;13.2&nbsp;<A NAME="27210">

 </A>

A four-value logic system.</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=375">

 </A>

<SPAN CLASS="TableHeads">

Logic state</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=377">

 </A>

<SPAN CLASS="TableHeads">

Logic level</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=379">

 </A>

<SPAN CLASS="TableHeads">

Logic value</SPAN>

</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=393">

 </A>

<SPAN CLASS="BodyComputer">

0</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=395">

 </A>

zero</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=397">

 </A>

zero</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=405">

 </A>

<SPAN CLASS="BodyComputer">

1</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=407">

 </A>

one</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=409">

 </A>

one</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=417">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=419">

 </A>

zero or one</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=421">

 </A>

unknown</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLast">

<A NAME="pgfId=429">

 </A>

<SPAN CLASS="BodyComputer">

Z</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=431">

 </A>

zero, one, or neither</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableLeft">

<A NAME="pgfId=433">

 </A>

high impedance</P>

</TD>

</TR>

</TABLE>

<DIV>

<H2 CLASS="Heading2">

<A NAME="pgfId=2596">

 </A>

13.3.1&nbsp;<A NAME="40510">

 </A>

Signal Resolution</H2>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=117254">

 </A>

What happens if multiple <A NAME="marker=117327">

 </A>

drivers try to drive different logic values onto a bus? <A HREF="CH13.3.htm#16654" CLASS="XRef">

Table&nbsp;13.3</A>

 shows a <A NAME="marker=117259">

 </A>

<SPAN CLASS="Definition">

signal-resolution function </SPAN>

for a four-value logic system that will predict the result.</P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="5">

<P CLASS="TableTitle">

<A NAME="pgfId=117264">

 </A>

TABLE&nbsp;13.3&nbsp;<A NAME="16654">

 </A>

A resolution function R  {A, B} that predicts the result of two drivers simultaneously attempting to drive signals with values A and B onto a bus.</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117274">

 </A>

<SPAN CLASS="TableHeads">

R  {A, B}</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117276">

 </A>

<SPAN CLASS="TableHeads">

B  =  0</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117278">

 </A>

<SPAN CLASS="TableHeads">

B  =  1</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117280">

 </A>

<SPAN CLASS="TableHeads">

B  =  X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117282">

 </A>

<SPAN CLASS="TableHeads">

B  =  Z</SPAN>

</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117284">

 </A>

<SPAN CLASS="TableHeads">

A  =  0</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117286">

 </A>

<SPAN CLASS="BodyComputer">

0</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117288">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117290">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117292">

 </A>

<SPAN CLASS="BodyComputer">

0</SPAN>

</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117294">

 </A>

<SPAN CLASS="TableHeads">

A  =  1</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117296">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117298">

 </A>

<SPAN CLASS="BodyComputer">

1</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117300">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117302">

 </A>

<SPAN CLASS="BodyComputer">

1</SPAN>

</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117304">

 </A>

<SPAN CLASS="TableHeads">

A  =  X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117306">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117308">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117310">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117312">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

</TR>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117314">

 </A>

<SPAN CLASS="TableHeads">

A  =  Z</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117316">

 </A>

<SPAN CLASS="BodyComputer">

0</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117318">

 </A>

<SPAN CLASS="BodyComputer">

1</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117320">

 </A>

<SPAN CLASS="BodyComputer">

X</SPAN>

</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="Table">

<A NAME="pgfId=117322">

 </A>

<SPAN CLASS="BodyComputer">

Z</SPAN>

</P>

</TD>

</TR>

</TABLE>

<P CLASS="Body">

<A NAME="pgfId=131432">

 </A>

A <A NAME="marker=131429">

 </A>

resolution function, R  {A, B}, must be <A NAME="marker=131431">

 </A>

<SPAN CLASS="Definition">

commutative</SPAN>

 and <A NAME="marker=131433">

 </A>

<SPAN CLASS="Definition">

associative</SPAN>

. That is,  </P>

<TABLE>

<TR>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnLeft">

<A NAME="pgfId=131449">

 </A>

R  {A, B} = R  {B, A}  and  R  {R  {A, B}, C} = R  {A, R  {B, C}}.</P>

</TD>

<TD ROWSPAN="1" COLSPAN="1">

<P CLASS="TableEqnNumber">

<A NAME="pgfId=131451">

 </A>

(13.4)</P>

</TD>

</TR>

</TABLE>

<P CLASS="EquationNumbered">

<A NAME="pgfId=131435">

 </A>

<A NAME="20641">

 </A>

R  {A, B} = R  {B, A}  and  R  {R  {A, B}, C} = R  {A, R  {B, C}}.(13.4)</P>

<P CLASS="BodyAfterHead">

<A NAME="pgfId=2629">

 </A>

Equation <A HREF="CH13.3.htm#20641" CLASS="XRef">

13.4</A>

 ensures that, if we have three (or more) signals to resolve, it does not matter in which order we resolve them. Suppose we have four drivers on a bus driving values <SPAN CLASS="BodyComputer">

'0'</SPAN>

, <SPAN CLASS="BodyComputer">

'1'</SPAN>

, <SPAN CLASS="BodyComputer">

'X'</SPAN>

, and <SPAN CLASS="BodyComputer">

'Z'</SPAN>

. If we use <A HREF="CH13.3.htm#16654" CLASS="XRef">

Table&nbsp;13.3</A>

 three times to resolve these signals, the answer is always <SPAN CLASS="BodyComputer">

'X'</SPAN>

 whatever order we use.</P>

</DIV>

<DIV>

<H2 CLASS="Heading2">

<A NAME="pgfId=2633">

 </A>

⌨️ 快捷键说明

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