跳转至

1设计过程

一、设计过程

例子:设计一个BCD码到余三码转换电路

规范化

指定组合电路行为

  • 输入:0到9的BCD码表示,分别为0000-1001

  • 输出:0到9的余三码表示,在BCD码上加0011

形式化

用真值表对输入输出形式化

  • 由于只有4位,用真值表很容易表示

  • 输入 BCD码 A,B,C,D

  • 输出 余三码 W,X,Y,Z

image-20230604173340439

优化

优化逻辑,减少门输入成本,如卡诺图优化

  • 优化目标

➢ 门输入成本G ➢ 即逻辑图中门的输入端的个数

卡诺图 方程
image-20230604173609372 image-20230604173631207

image-20230604175444877

W = 5 + 2 = 7

X = 7 + 3 = 10 / 10 + 1 + 2

Y = 4 + 2 = 6 / 6 + 2

Z = 0

23 ,选C

  • 进一步优化思想:提取公因子,共享电路
进一步优化前 进一步优化后
image-20230604173849313 image-20230604173905641

工艺映射

\[ \text{下面是一些连接词完备集}\\ \begin{align} \{\neg,\lor\}\\ \{\neg,\land\}\\ \{\neg,\rightarrow\}\\ \{\uparrow \}\\ \{\downarrow \}\\ \end{align} \]

将优化后逻辑映射到实现工艺

image-20230604173944506

  • 给定设计好的电路概要图

➢(含与门、或门、反相)

  • ==映射到与非门==(或或非门)

➢ 库中含反相器和n-输入与非门,n = 2, 3, …

  • 映射过程
映射过程 示例图 具体例子
① 用与非门替换掉与门和或门(可以稍微记住这个替换的方法) image-20230604174220277 image-20230604174717582
② 将反相器推过电路中的扇出点 image-20230604174340855 image-20230604174726688
③ 抵消掉反相器对 image-20230604174401240 image-20230604174739565

④ 重复②和③直到在a和b之间==只存在1反相器==

a. 电路输入或与非门的输出

b. 与非门输入

image-20230605093243075

显然选BCE

  • 映射到或非门例子
用与非门替换 抵消反相器
image-20230604174930951 image-20230604174945327

image-20230604175907842

选C,如下所示

image-20230604180105627

image-20230604180154070

ABCD,根据完备集,肯定全部都是对的

验证

  • 人工逻辑分析

➢ ==找出==实现电路真值表或==方程式==

➢ 将实现电路真值表和规范==真值表比较==,或

➢ ==证明==实现电路的方程式和规范方程式==等价==

  • 模拟

➢ 以Verilog为例:Verilog是一种硬件描述语言

① 使用Verilog 对电路进行编程实现

② 编写测试程序,即TestBench

➢ 产生模拟信号

➢ 将产生信号加到实现电路上

③ 将输出与期望值比较