<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/626c43351e41a87e8ab6e262/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/626c43351e41a87e8ab6e262/bg1.jpg"><div class="c x0 y1 w2 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">四位二进制全加器的设计与<span class="_ _0"> </span><span class="ff2">modelsim<span class="_ _0"> </span></span>实现</div><div class="t m0 x2 h3 y3 ff2 fs0 fc0 sc0 ls0 ws0">1.<span class="_ _1"> </span><span class="ff1">设计思路</span></div><div class="t m0 x3 h3 y4 ff1 fs0 fc0 sc0 ls0 ws0">在这<span class="_ _2"></span>里我<span class="_ _2"></span>们利<span class="_ _2"></span>用层<span class="_ _2"></span>次化<span class="_ _2"></span>设计<span class="_ _2"></span>的概<span class="_ _2"></span>念,<span class="_ _2"></span>即从<span class="_ _2"></span>整个<span class="_ _2"></span>系统<span class="_ _2"></span>设计<span class="_ _2"></span>的顶<span class="_ _2"></span>层开<span class="_ _2"></span>始,<span class="_ _2"></span>将系<span class="_ _2"></span>统划<span class="_ _2"></span>分为<span class="_ _2"></span>若</div><div class="t m0 x2 h3 y5 ff1 fs0 fc0 sc0 ls0 ws0">干个<span class="_ _2"></span>子模<span class="_ _2"></span>块,<span class="_ _2"></span>然后<span class="_ _2"></span>再将<span class="_ _2"></span>每一<span class="_ _2"></span>个子<span class="_ _2"></span>模块<span class="_ _2"></span>又划<span class="_ _2"></span>分为<span class="_ _2"></span>若干<span class="_ _2"></span>的子<span class="_ _2"></span>模块<span class="_ _2"></span>,直<span class="_ _2"></span>到不<span class="_ _2"></span>能继<span class="_ _2"></span>续分<span class="_ _2"></span>解为<span class="_ _2"></span>止,<span class="_ _2"></span>也</div><div class="t m0 x2 h3 y6 ff1 fs0 fc0 sc0 ls0 ws0">即是自顶向下的设计方法。</div><div class="t m0 x3 h3 y7 ff1 fs0 fc0 sc0 ls0 ws0">四位<span class="_ _2"></span>二<span class="_ _2"></span>进制<span class="_ _2"></span>全<span class="_ _2"></span>加器<span class="_ _2"></span>可<span class="_ _2"></span>以看<span class="_ _2"></span>作<span class="_ _2"></span>由<span class="_"> </span><span class="ff2">4<span class="_ _0"> </span></span>个<span class="_ _3"> </span><span class="ff2">1<span class="_ _0"> </span></span>位<span class="_ _2"></span>全<span class="_ _2"></span>加器<span class="_ _2"></span>级<span class="_ _2"></span>联而<span class="_ _2"></span>成<span class="_ _2"></span>,因<span class="_ _2"></span>而<span class="_ _2"></span>我们<span class="_ _2"></span>可<span class="_ _2"></span>以先<span class="_ _2"></span>设<span class="_ _2"></span>计<span class="_"> </span><span class="ff2">1<span class="_ _3"> </span></span>位全</div><div class="t m0 x2 h3 y8 ff1 fs0 fc0 sc0 ls0 ws0">加<span class="_ _4"> </span>器<span class="_ _4"> </span>。<span class="_ _4"> </span>如<span class="_ _4"> </span>图<span class="_ _4"> </span> <span class="_ _4"> </span><span class="ff2">1<span class="_ _5"> </span></span>所<span class="_ _4"> </span>示<span class="_ _4"> </span>,<span class="_ _4"> </span>有<span class="_ _3"> </span>三<span class="_"> </span>个<span class="_ _3"> </span>输<span class="_"> </span>入<span class="_ _3"> </span>端<span class="_"> </span>口<span class="_ _3"> </span>(<span class="_"> </span><span class="ff2">i_A<span class="_ _4"> </span></span>,<span class="_ _4"> </span><span class="ff2">i_B<span class="_ _4"> </span></span>,<span class="_ _4"> </span><span class="ff2">i_Cin<span class="_ _4"> </span></span>)<span class="_ _4"> </span>和<span class="_ _4"> </span>两<span class="_ _3"> </span>个<span class="_"> </span>输<span class="_ _3"> </span>出<span class="_"> </span>端<span class="_ _3"> </span>口</div><div class="t m0 x2 h3 y9 ff1 fs0 fc0 sc0 ls0 ws0">(<span class="ff2">o_S</span>,<span class="ff2">o_Cout</span>)。</div><div class="t m0 x2 h3 ya ff2 fs0 fc0 sc0 ls0 ws0">i_A<span class="ff1">,</span>i_B<span class="ff1">,</span>i_Cin<span class="_ _0"> </span><span class="ff1">分别为输入的两位二进制数和进位输入,<span class="_ _6"></span></span>o_S<span class="ff1">,</span>o_Cout<span class="_ _0"> </span><span class="ff1">分别为输出的二进制</span></div><div class="t m0 x2 h3 yb ff1 fs0 fc0 sc0 ls0 ws0">数和进位输出。</div><div class="t m0 x4 h4 yc ff1 fs1 fc0 sc0 ls0 ws0">图 <span class="ff3">1</span> 一位全加器示意图</div><div class="t m0 x3 h3 yd ff1 fs0 fc0 sc0 ls0 ws0">那<span class="_ _7"> </span>么<span class="_ _7"> </span>我<span class="_ _7"> </span>们<span class="_ _7"> </span>将<span class="_ _7"> </span>四<span class="_ _8"> </span>个<span class="_ _7"> </span>一<span class="_ _8"> </span>位<span class="_ _7"> </span>全<span class="_ _7"> </span>加<span class="_ _7"> </span>器<span class="_ _7"> </span>级<span class="_ _7"> </span>联<span class="_ _8"> </span>,<span class="_ _7"> </span>如<span class="_ _9"> </span>图<span class="_ _8"> </span> <span class="_ _7"> </span><span class="ff2">2<span class="_ _a"> </span></span>所<span class="_ _7"> </span>示<span class="_ _8"> </span>。</div><div class="t m0 x2 h3 ye ff2 fs0 fc0 sc0 ls0 ws0">u_fadder_1_1<span class="ff1">,<span class="_ _2"></span></span>u_fadder_1_2<span class="_ _2"></span><span class="ff1">,<span class="_ _2"></span></span>u_fadder_1_3<span class="ff1">,<span class="_ _2"></span></span>u_fadder_1_4<span class="_ _3"> </span><span class="ff1">为<span class="_ _2"></span>四<span class="_ _2"></span>个<span class="_ _2"></span>全<span class="_ _2"></span>加<span class="_ _2"></span>器<span class="_ _2"></span>实<span class="_ _2"></span>例<span class="_ _2"></span>化<span class="_ _2"></span>后<span class="_ _2"></span>的<span class="_ _2"></span>实<span class="_ _2"></span>例</span></div><div class="t m0 x2 h3 yf ff1 fs0 fc0 sc0 ls0 ws0">名<span class="_ _2"></span>。<span class="_ _2"></span>实<span class="_ _2"></span>例<span class="_ _2"></span>化<span class="_ _2"></span>类<span class="_ _2"></span>似<span class="_ _3"> </span><span class="ff2">C<span class="_ _3"> </span></span>语<span class="_ _2"></span>言<span class="_ _2"></span>中<span class="_ _2"></span>函<span class="_ _2"></span>数<span class="_ _2"></span>调<span class="_ _2"></span>用<span class="_ _2"></span>的<span class="_ _2"></span>概<span class="_ _2"></span>念<span class="_ _2"></span>,<span class="_ _6"></span><span class="sc1">当<span class="_ _2"></span>定<span class="_ _2"></span>义<span class="_ _2"></span>好<span class="_ _2"></span>一<span class="_ _2"></span>个<span class="_ _2"></span>模<span class="_ _2"></span>块<span class="_ _3"> </span></span><span class="ff4">module<span class="_ _3"> </span></span><span class="sc1">后<span class="_ _2"></span>,<span class="_ _2"></span>我<span class="_ _2"></span>们<span class="_ _2"></span>调<span class="_ _2"></span>用<span class="_ _2"></span>它<span class="_ _2"></span>时<span class="_ _6"></span>,</span></div><div class="t m0 x2 h3 y10 ff4 fs0 fc0 sc0 ls0 ws0">verilog<span class="_ _0"> </span><span class="ff1 sc1">会<span class="_ _2"></span>创<span class="_ _2"></span>建一<span class="_ _2"></span>个<span class="_ _2"></span>唯一<span class="_ _2"></span>的<span class="_ _2"></span>实例<span class="_ _2"></span>,<span class="_ _2"></span>即它<span class="_ _2"></span>有<span class="_ _2"></span>自己<span class="_ _2"></span>的<span class="_ _2"></span>实例<span class="_ _2"></span>名<span class="_ _2"></span>,参<span class="_ _2"></span>数<span class="_ _2"></span>,端<span class="_ _2"></span>口<span class="_ _2"></span>连接<span class="_ _2"></span>关<span class="_ _2"></span>系等<span class="_ _b"> </span><span class="sc0">。这<span class="_ _2"></span>是<span class="_ _2"></span>与<span class="_ _3"> </span><span class="ff2">C</span></span></span></div><div class="t m0 x2 h3 y11 ff1 fs0 fc0 sc0 ls0 ws0">语言所不同的地方,<span class="ff2">C<span class="_ _0"> </span></span>语言只是参数不同,但是函数名不变。其他端口不再赘述。</div><div class="t m0 x5 h5 y12 ff5 fs2 fc0 sc0 ls0 ws0">i_B</div><div class="t m0 x6 h6 y13 ff6 fs3 fc0 sc0 ls0 ws0">full adder </div><div class="t m0 x7 h6 y14 ff6 fs3 fc0 sc0 ls0 ws0">_1</div><div class="t m0 x5 h5 y15 ff5 fs2 fc0 sc0 ls0 ws0">i_A</div><div class="t m0 x8 h7 y16 ff5 fs4 fc0 sc0 ls0 ws0">o_S</div><div class="t m0 x9 h7 y17 ff5 fs4 fc0 sc0 ls0 ws0">i_Ci</div><div class="t m0 x9 h7 y18 ff5 fs4 fc0 sc0 ls0 ws0">n</div><div class="t m0 xa h7 y19 ff5 fs4 fc0 sc0 ls0 ws0">o_Co</div><div class="t m0 xa h7 y1a ff5 fs4 fc0 sc0 ls0 ws0">ut</div></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.611850,0.000000,0.000000,1.611850,0.000000,0.000000]}'></div></div>
</body>
</html>